Network conf probelm in opensuse 11.4 (also appeared before on 11.0)

Hi everyone,

Bit of help needed here on network conf in opensuse.
Been having this prob on 11.0, now 11.4 the same

I’m having a static ip behind an adsl modem/router(gateway),
so my config is like ip: static, gw: static(in the same subnet, only last digit differs), dns: external (from my isp).

On xp (same machine) this config works fine, I’m writing this now, but on a freshly installed opensuse11.4(dual boot), I can’t access anything beyond my gateway. The gateway works, it’s intact, it’s connected, it responds to me via http (see control panel and stuff), but for some reason I can’t ping (or traceroute) anything beyond the gateway. I set traditional method with ifup in yast, just wrote the same config that’s working fine on xp on the same machine for years(!), and I can’t get anywhere beyond my gateway! WTF?!

I know I could mess something up, but I only enter the same info as in XP,
static ip, static gateway, subnet mask, and dns. Four numbers, what could possibly go wrong here?!, works great in xp, also different 'buntus don’t seem to have the same problem.

Any help much appreciated.

qlm

Let’s check a few things. Please post the reply from these commands:

  1. /sbin/route
  2. /sbin/ifconfig
  3. cat /etc/resolv.conf
  4. usr/sbin/hwinfo --netcard

Use the code tags to wrap the responses so we can read them easily.

PS: welcome here (I just noticed – first post here)

Thanks for the quick reply and the welcome.

Output of the commands:
route


Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     0      0        0 eth0
loopback        *               255.0.0.0       U     0      0        0 lo
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

ifconfig


eth0      Link encap:Ethernet  HWaddr 00:1A:4D:9D:26:D9  
          inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:209 errors:0 dropped:0 overruns:0 frame:0
          TX packets:223 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:16706 (16.3 Kb)  TX bytes:20270 (19.7 Kb)
          Interrupt:40 

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:142 errors:0 dropped:0 overruns:0 frame:0
          TX packets:142 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:11005 (10.7 Kb)  TX bytes:11005 (10.7 Kb)

resolv.conf


### /etc/resolv.conf file autogenerated by netconfig!
#
# Before you change this file manually, consider to define the
# static DNS configuration using the following variables in the
# /etc/sysconfig/network/config file:
#     NETCONFIG_DNS_STATIC_SEARCHLIST
#     NETCONFIG_DNS_STATIC_SERVERS
#     NETCONFIG_DNS_FORWARDER
# or disable DNS configuration updates via netconfig by setting:
#     NETCONFIG_DNS_POLICY=''
#
# See also the netconfig(8) manual page and other documentation.
#
# Note: Manual change of this file disables netconfig too, but
# may get lost when this file contains comments or empty lines
# only, the netconfig settings are same with settings in this
# file and in case of a "netconfig update -f" call.
#
### Please remove (at least) this line when you modify the file!
search home
nameserver 195.5.46.12

hwinfo


31: PCI 400.0: 0200 Ethernet controller
  [Created at pci.318]
  Unique ID: rBUF.WkkGS5m8Th0
  Parent ID: QSNP.ilxSqL_m_W2
  SysFS ID: /devices/pci0000:00/0000:00:1c.4/0000:04:00.0
  SysFS BusID: 0000:04:00.0
  Hardware Class: network
  Model: "Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller"
  Vendor: pci 0x10ec "Realtek Semiconductor Co., Ltd."
  Device: pci 0x8168 "RTL8111/8168B PCI Express Gigabit Ethernet controller"
  SubVendor: pci 0x1458 "Giga-byte Technology"
  SubDevice: pci 0xe000 "GA-EP45-DS5 Motherboard"
  Revision: 0x01
  Driver: "r8169"
  Driver Modules: "r8169"
  Device File: eth0
  I/O Ports: 0xd000-0xdfff (rw)
  Memory Range: 0xfa000000-0xfa000fff (rw,non-prefetchable)
  Memory Range: 0xfb700000-0xfb71ffff (ro,non-prefetchable,disabled)
  IRQ: 41 (296 events)
  HW Address: 00:1a:4d:9d:26:d9
  Link detected: yes
  Module Alias: "pci:v000010ECd00008168sv00001458sd0000E000bc02sc00i00"
  Driver Info #0:
    Driver Status: r8169 is active
    Driver Activation Cmd: "modprobe r8169"
  Config Status: cfg=no, avail=yes, need=no, active=unknown
  Attached to: #19 (PCI bridge)

I can even access my notebook on the same local lan which is connected to the same gateway. So the only problem is getting beyond the gateway.

Traceroute to my dns server gives me my local gateway, than another machine which is beyond my network(an isp one, presumably), but no further. Also traceroute gives me errors like “Unable to look up 192.168.1.1: temporary failure in name resolution”, and also the same error for the first machine beyond my home lan.

Gateway/DNS problem? I can’t see what I’ve managed to screw up with only four numbers.

Any ideas?

That isn’t a significant problem, though it might slow down the traceroute. You could add a line:


192.168.1.1  router

to your “/etc/hosts”, though that wouldn’t help with the next hop.

The fact that traceroute is showing a hop beyond your router demonstrates that routing is working properly.

I suggest you test whether you can connect to outside systems by IP address (instead of hostname). And, if you can, then you should recheck whether you have the correct DNS server IP address.

For comparison, post what you see in the output from:
ipconfig /all
when that command is run on the working XP machine.

Is your connection DSL? And does your ISP use PPPoE?

As an experiment, try (as root):

ifconfig eth0 mtu 1200

That’s to test whether a reduced mtu will help. That command only affects it until the next boot, but it is possible to make a permanent change if you happen to be having MTU problems.

I dont care really if it resolves the ip of my router to a name :slight_smile:

The fact that traceroute is showing a hop beyond your router demonstrates that routing is working properly.

Yes, i thought so too. At least one hop means I am getting through to the isp. But, why can’t I get any further?

I suggest you test whether you can connect to outside systems by IP address (instead of hostname). And, if you can, then you should recheck whether you have the correct DNS server IP address.

That was of course the first thing I tried. I can’t ping anything like dns srv, google, or anything by ip. Didn’t work.

Is your connection DSL? And does your ISP use PPPoE?

Yep. Dsl, pppoe. And it is working, my machine fails, but an xp notebook nearby works through the same router. Also good ping between machines on local network (within the home lan, behind the router).

As an experiment, try (as root):

ifconfig eth0 mtu 1200

That’s to test whether a reduced mtu will help. That command only affects it until the next boot, but it is possible to make a permanent change if you happen to be having MTU problems.

Thanks for advice, will do that later, since for now I already am in the internet, and have no time at this second.
Managed to get through by turning on dhcp on the router, than specifying the desired ip address for my machine in the dhcp server settings on the router according to my mac. And it worked.

I actually have all kinds of things connected to my router, wireless, gadgets, etc., and never ever had a problem with anything else except opensuse… Some of my devices use linux internally, and they work just great.

In this case, however, I couldn’t for some reason get through by using static addresses, and had to use DHCP.

Interesting problem, but unfortunately I can’t devote the whole day to tweaking.

Thanks for your reply, will try your advise a bit later and post result.

The reason I asked that, is because DSL with PPPoE works best with an MTU of 1488. The PPPoE overhead loses 12 bytes.

That suggests that your router is blocking you, and only wants to forward packets from systems that it knows via DHCP requests.

I’m not sure, but I think that Windows boxes make DHCP requests, even if you set a static IP. They are probably asking about a WINS server and other windows networking info that is sometimes given out via DHCP.

No, it doesn’t. At least not on the basis of DHCP. I have TWO notebooks with statically configured ip’s, winxp and win7. they access the same router, and have no problem. The main machine (the one i am tweaking) also works with static ip on xp and has no problem whatsoever.

I’m not sure, but I think that Windows boxes make DHCP requests, even if you set a static IP. They are probably asking about a WINS server and other windows networking info that is sometimes given out via DHCP.

That may be. I do believe they make at least some broadcasts to the local network. However I have non-windows devices (who run linux internally), and they also have no problem. One is a wireless access point, which surely has no windows inside and doesn’t broadcast stuff trying to find a WINS server. The wireless access point is configured statically, absolutely the same conf as i’m trying to push to this opensuse install, except different ip, and it works. there is some stuff (also completely non-windows) connected by cable to that access point, they are also configured statically with the same config and work marvelously, connecting to the router and beyond through the wireless access point.

When I work under DHCP in OpenSuse, it gives the same routing table:


Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     0      0        0 eth0
loopback        *               255.0.0.0       U     0      0        0 lo
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

as the one that I manually configure via YaST.

I’ll now try to switch openSuse back to static IP, and if it doesn’t work, try your MTU advice in a minute…

When I disabled the DHCP on the router, reconfigured suse to use static ip (which happened to be exactly the same as the one i got via dhcp), and than rebooted suse as well there was no internet again, only router was pingable (the original situation I described).
I entered the mtu command as root, no effect.
I enable dhcp on the router, run yast and select dhcp.
And now I’m on the internet again.
The routing table is absolutely the same in both cases, and the router is reachable.
Probably router is doing something behind the scenes, listening to some broadcast, which windows machines give and linux ones don’t. But in that case how can my wireless accesspoint work? Maybe router behaves differently on the lan and on the wireless network…
I don’t know.

In any case, dhcp with mac=>ip mapping works good for now, and it’s great.
However, I still don’t know the reason behind the strange behaviour.
I also booted an ubuntu live cd today, just to check if it’s a suse problem, or linux problem and got same behaviour - no dhcp=>no internet.

Thanks for the answer, if any other ideas come up I’ll be happy to try them

I don’t really know what is happening. What you are seeing is unusual. I currently use DHCP, but in the past I have mostly used a static IP assignment for linux (including when I first installed 11.4). I have used at least 7 different routers, and I have never had a problem with static assignment. However, I have seen plenty of evidence that the way Windows communicates with the router is different from the way that linux communicates with the router. My best guess is that your router behavior somehow depends on those differences.

I also don’t know, and if this wasn’t unusual I wouldn’t have been posting here, would I. :slight_smile:

I currently use DHCP, but in the past I have mostly used a static IP assignment for linux (including when I first installed 11.4). I have used at least 7 different routers, and I have never had a problem with static assignment.

I have used fewer routers, but also never ever had a problem with static assignment.

However, I have seen plenty of evidence that the way Windows communicates with the router is different from the way that linux communicates with the router. My best guess is that your router behavior somehow depends on those differences.

Yes, maybe. And maybe my router is sort of “optimized” for windows machines more. (but that doesn’t explain the wireless ap which works fine).

Another guess is… Maybe the local lan card on my machine doesn’t have the best drivers for linux, but has acceptable ones for win.

I’ll later try to boot a linux live cd onto my notebook and connect that to my router with a cable (identical to the main machine), if the fault lies within the network card in the main machine it will be clear from that point. If the problems persist, than maybe my router earned a good place in the trash bin. (or on ebay)