Link to home
Start Free TrialLog in
Avatar of omom
omom

asked on

Can't connect to internet: Opensuse 10.0, DSL, NAT

I have installed OpenSuse 10 on a new HP Pavilion laptop.
I can't connect to the internet, either via ethernet or wireless.
I have a DSL connection with a static IP.
I have a home network behind a NAT, so each machine on the network has its own ip addr of the form 192.168.0.*
I have my desktop, running suse 9.2, connected to this network.

Yast shows that the network card is:
Hewlett-Packard Company RTL-8139/8319C/8139C+

I have done the following in Yast:
- Network Services -> DNS and Host Name and entered name server and domain search info.
- Routing Configuration: Default Gateway: 192.168.0.1 (which is the setting on my other machine with suse 9.2)
- Host Configuration: 192.168.0.101 mylaptopname.myisp.com mylaptopname
- Turned off the firewall (because there's one on the modem/router)
- Network Devices -> DSL -> start automatically on boot

When i do a 'ifconfig' i should see a line like this:
inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0
but i don't:

#ifconfig
eth0  Link encap: Ethernet HWaddr 00:16:D4:00:94:D1
          inet6 addr: fe80::216:d4ff:fe00:94d1/64 Scope Link
          UP BROADCAST NOTRAILERS RUNNING MULITCAST MTU:1500 Metric:1
          RX packets: 0 errors: 4 dropped:0 overruns:0 frame:0
          TX packets: 10 errors: 4 dropped:0 overruns:0 carrier:0
          collisions: 0 txqueuelen:1000
          RX bytes: 0 (0,0,b) TX bytes: 3328 (3.2) Kb)
          Interrupt:10 Base address:0x4400

lo      Link encap:Local Loopback
          inet addr:127.0.01 Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436 Metric:1
          RX packets: 37 errors: 0 dropped:0 overruns:0 frame:0
          TX packets: 37 errors: 0 dropped:0 overruns:0 carrier:0
           collisions: 0 txqueuelen:0
          RX bytes: 2470 (2,4,Kb) TX bytes: 2470 (2.4) Kb)

Pinging does not work at all:

#ping www.google.com
ping: unknown host www.google.com
#ping 64.233.167.99
connect: Network is unreachable

also tried:

#ifconfig eth0 up
#ping 192.168.0.1
connect: Network is unreachable

I have verified the ethernet cable itself is good by connecting it to another machine.

Questions:

Is the Hewlett-Packard Company RTL-8139/8319C/8139C+ the ethernet or wireless?

How do i get the ethernet to work?

How do i get a 192.168.0.zzz assigned to the computer?

How do i get the wireless to work?

The max points for a question is 500, but if you get all of this working, I'll add another 500 if that's possible.
Avatar of DonConsolio
DonConsolio
Flag of Austria image

You did not assign a static IPv4 address to your NIC

use Yast2 --> Network Devices --> Network Card  

select your ethernet card  --> Configure
select "static" ip
set correct subnet mask and default gateway ("Routing")
set name servers ("Host Name and Name Server")

confirm and let yast restart your network

- verify your IP address ("ifconfig")
- ping your default gateway (your router's internal IP)
- ping your nameserver
- use nslookup or dig to test name resolution
enjoy
Avatar of omom
omom

ASKER

First, do you know if the Hewlett-Packard Company RTL-8139/8319C/8139C+ is ethernet or wireless?

Second, following your directions, i confirm and get to the page entitled "Saving Network Configuration" and list appears:

Write drivers information
Write device configuration
Write network configuration
Write routing configuration
Write host name and DNS configuration
Set up network services
Write firewall settings
Activate network services
Run SuSEConfig
Set up smpppd
Runt KInternet

It checks off the list until reaches "Activate Network Services", where it gets stuck (at 63%)
Avatar of omom

ASKER

I should also add that, comparing to  the suse 9.2 machine, it does not have the network card set to static ip
SOLUTION
Avatar of DonConsolio
DonConsolio
Flag of Austria image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
if not sure about your NIC look at the output of the "lspci" command
Not good in OpenSuse. The following suggestion is based on experience with FreeBSD, Fedora, Ubuntu.

Starting from the Physical layer up, does the Green LED blink in your NIC card after the OS is booted?
 
OS Configurations:
===============

Search the /etc directory for a file named rc.conf. If it is there, do something like the following.  (FreeBSD Based). This file should contain the following lines.

ifconfig_eth0="inet x.x.x.x netmask x.x.x.x" #This will be your IPv4 address. in your case it is 192.168.1.2
defaultrouter=x.x.x.x #this is the default gateway. In your case, it will be 192.168.1.1

open /etc/resolv.conf
should look like the following

search abc.com local.abc.com someother.abc.com #Note: space between each domain you want to add to your search path.
nameserver x.x.x.x
nameserver x.x.x.x
nameserver x.x.x.x

Fedora/Ubuntu Based:
=================

#ifconfig eth0 up
#ifconfig eth0 inet address <address> 255.XXX.XXX.XXX

open /etc/resolv.conf
should look like the following

search abc.com local.abc.com someother.abc.com #Note: space between each domain you want to add to your search path.
nameserver x.x.x.x
nameserver x.x.x.x
nameserver x.x.x.x

Ubuntu has route problems with DSL routers. Do this if this is the case
======================================================
#route default gw 192.168.1.1

You might want to check "man route" for OpenSuse if you are going to try this.
Avatar of omom

ASKER

>>connect your network card to your router/firewall box
i don't know what you mean by this.

>>in yast remove all network cards except the RTL-8139
it is the only card listed

>>if not sure about your NIC look at the output of the "lspci" command
this command shows the RTL-8139 as the ethernet card
Avatar of omom

ASKER

>>configure RTL-8139 with static IP
again, the suse 9.2 machine is not configured with static ip and is working.

>> does the Green LED blink in your NIC card after the OS is booted?
the green light is on, but it is solid, it doesn't blink
when booting the yellow light flashes a couple time, but remains off.

/etc/resolv.conf looks good
Avatar of omom

ASKER

no file /etc/rc.conf, or rc.conf anywhere else for that matter.
if your router box is provides DHCP service you may set your NIC to "Auto" mode

Yast2 --> Network Devices --> Network Card  
select your ethernet card  --> Configure
select "Auto"
Avatar of omom

ASKER

Slightly different menu selections, but same thing i think:
Yast2 --> Network Devices --> Network Card  
select ethernet card  --> Edit
select "Automatic Address Setup (via DHCP)"

This is what I have had all along.
What do you get when you configure "ifconfig eth0 inet address x.x.x.x x.x.x.x" from the root prompt? Note, the word "address" is keyword. Also, please send in the output of "ifconfig" command. Maybe rhetorical, but we all miss trivial things :-) I did this a lot and still do it....
Avatar of omom

ASKER

output of ifconfig is in the original post.

I'm not sure what to type for the ifconfig command you specify, e.g. what is x.x.x.x.x.x.x.x?
sorry.. should've been clearer... its IP address followed by netmask.

x.x.x.x<space>x.x.x.x => 192.168.1.2 255.255.255.0 #The IP address and netmask are separated by space...

Let me know how it goes.. I'm holding on... (Its midnight in my timezone :-) )
Avatar of omom

ASKER

>>Its midnight in my timezone :-)
ha, opposite sides of the world. i love the internet.

i that the "address" should really be "add", at least according to the help of my ifconfig command, and so:

#ifconfig eth0 inet add 192.168.0.102 255.255.255. 0
SIOCSIFADDR: Invalid argument

something not quite right



Avatar of omom

ASKER

#ifconfig eth0 inet address 192.168.0.102 255.255.255. 0
address: Unknown host

on 2nd "address" and "add" are 2 different things.
Are you attempting to "add" with this command?
Nope.. I remember seeing it as address in my box.  However, the error message SIOCSIFADDR is worth noting. I've seen this message in Solaris machines. Usually the format for adding address in solaris like machines is as follows:

#ifconfig eth0 plumb
#ifconfig eth0 addif 192.168.0.102/24
#ifconfig eth0 up

Can you try this and get back? I hate to make you go through this trial & error routine... but without an interactive way, its difficult to zero in fast :-)

Avatar of omom

ASKER

Tried this:

#ifconfig eth0 inet 192.168.0.102 255.255.255. 0
SIOCSIFADDR: Invalid argument

and this, which comes replies with nothing:
#ifconfig eth0 inet 192.168.0.102

and so:
 # ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:D4:00:94:D1
          inet addr:192.168.0.102  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::216:d4ff:fe00:94d1/64 Scope:Link
          UP BROADCAST NOTRAILERS RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:204 errors:246 dropped:0 overruns:0 frame:0
          TX packets:111 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:19193 (18.7 Kb)  TX bytes:57686 (56.3 Kb)
          Interrupt:10 Base address:0xc400

eth0:0    Link encap:Ethernet  HWaddr 00:16:D4:00:94:D1
          inet addr:192.168.0.102  Bcast:0.0.0.0  Mask:0.0.0.0
          UP BROADCAST NOTRAILERS RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:10 Base address:0xc400

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:69 errors:0 dropped:0 overruns:0 frame:0
          TX packets:69 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:4578 (4.4 Kb)  TX bytes:4578 (4.4 Kb)
Avatar of omom

ASKER

maybe the correct comand (finally) is:
#ifconfig eth0 inet 192.168.0.102 netmask 255.255.255.0

output from "ifconfig" looks the same after exectuing this command
Avatar of omom

ASKER

#ifconfig eth0 plumb
plumb: Unknown host

#ifconfig eth0 addif 192.168.0.102/24
addif : Unknown host

Its like you and i are using different ifconfig commands
are you still seeing both eth0 and eth0:0? if yes, there is going to be a conflict somewhere in the IP Stack... since you have a couple of instances of the same IP addresses with different broadcast and netmasks.. (the 0.0.0.0 which is shown in the eth0:0 is result of giving IP alone without the netmask). With the (final) format of the ifconfig, try first to "unplumb" or "down" the interface. And try setting up the IP as before.

#ifconfig eth0 down
#ifconfig eth0 up
#ifconfig eth0 inet 192.168.0.102 netmask 255.255.255.0

This will be a clean IP setup.

Again, Can you give a rough schematic of how your internet connection looks like? Normally, DSL connections look like the following:

                                                                                                       PC   |------------------ --------------------------|  DSL Router/Modem |----------------Service Provider Equipment
                                                                                 192.168.0.102/24                                    192.168.0.101/24                 Public IP
                                                                          (IP which we are trying)                         (IP of end connected             (Internet Side IP. Usually DHCP from Service Provider Equipment).
                                                                                                                                               to your PC).      
Avatar of omom

ASKER

when i do the "down",ifconfig shows no eth0, as expected
when i then do the "up", if config still shows eth0 and eth0:0 :(

you're diagram is correct, except that i have a static ip, which is on the outside.
192.168.0.zzz on the inside
OK.. now that you see the IP configured in the eth0, does the ping work to 192.168.0.101 or whatever the DSL routers inside IP address is?

If yes, we have taken the first step. Next thing would be ping for the DNS server IP address and see if it is pingable. If not, the default route to the 192.168.0.101 (router inside IP) is not set ON YOUR LAPTOP. You can set this by using the route command.

Please let me know how it goes..

Avatar of omom

ASKER

"ping 192.168.0.1" works.  it didn't before.

pinging any of the name servers (by the ip address) listed in /etc/resolv.conf results in "connect: Network is unreachable"
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of omom

ASKER

#route
Kernel IP routing table
Destination    Gateway   Genmask  Flags Metric Ref Use Iface
loopback         *                255.0.0.0  U        0            0    0      lo

for the 2nd command, do you mean .1?   not 101?, that is:
#route add default gw 192.168.0.1
Avatar of omom

ASKER

# route add default gw 192.168.0.1
# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
loopback        *               255.0.0.0       U     0      0        0 lo
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

Still unable to browse the web, though the browser is now trying at least
(Says "Looking for www.altavista.com..." where before it just gave an error (can't remember what it was))

Just to compare, here is the route statement from the suse 9.2 machine that works:
# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 eth1
link-local      *               255.255.0.0     U     0      0        0 eth1
loopback        *               255.0.0.0       U     0      0        0 lo
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth1

It has one more line, starting with "link-local". don't know if that is significant.
the eth0/eth1 difference is not significant.
Hey,
     
        Sorry I went for a nap.. Your Routing is perfect now... the link-local stuff, you don't have to worry about.. it is the default IPv6 route that gets added  if IPv6 is enabled in your NIC. Did you try pinging to your nameserver IP?

        I'm sure it should work. If not, you may probably need to check the name server IP.  Can you do a ping and send in the output?

Avatar of omom

ASKER

ok, i can ping my nameservers by ip address now.  progress!
Now it looks like DNS doesn't work:

#ping 64.233.167.99
PING 64.233.167.99 (64.233.167.99) 56(84) bytes of data
64 bytes from 64.233.167.99: icmp_seq=2 ttl=239 time=141ms
64 bytes from 64.233.167.99: icmp_seq=2 ttl=239 time=140ms

#ping www.google.com
ping: unknown host www.google.com
check /etc/resolv.conf
---------------
nameserver IP_OF_NAMESERVER1
nameserver IP_OF_NAMESERVER2
search default.searchdomain.com
---------------

Yast can write this file for you, DHCP can write/modify it or you can manually edit the file

Avatar of omom

ASKER

/etc/resolv.conf is:

nameserver 11.22.333.444
nameserver 55.66.777.888
nameserver 99.000.111.222
search myisp.com myotherisp.com

Obviously, i not used real numbers or names, but I think you get the idea.

Can you ping the IPs of the nameservers?

What does

dig @11.22.333.444 yahoo.com a

yield?  (obviously, replace 11.22.333.444 with the IP of one of your nameservers)

Cheers,
-Jon
Avatar of omom

ASKER

i can ping my nameservers by ip address, but not by the name of the server

dig returns:
; <<>> DiG 9.3.2 <<>> @11.22.333.444 yahoo.com a
; (1 server found)
;; global options: printcmd
;; connection time out; no servers could be reached
Avatar of omom

ASKER

it works now.
the problem was a cable that worked some of the time, but didnt' work other times.

the remaining problem now is that every time a reboot i have to type in:
#ifconfig eth0 down
#ifconfig eth0 up
#ifconfig eth0 inet 192.168.0.102 netmask 255.255.255.0

What do I have to do to get it to work after rebooting?