I’m pretty new to Linux coming from Windows (wahoo!) and I’ve got a few questions about why my NICs don’t pass traffic…
I’m setup as a CLI-only server setup.
I configured the NIC with a static IP and assigned a default route and DNS servers during the setup.
I verified the firewall is off in YaST.
I verified the NIC is up with
ifstatus eth0 and it shows:
eth0 Link encap:Ethernet HWaddr 00:15:5D:07:09:24
inet addr:192.168.2.10 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12 errors:0 dropped:369 overruns:0 frame:0
TX packets:7 errors:174 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1344 (1.3 Kb) TX bytes:578 (578.0 b)
Interrupt:9 Base address:0xec00
I have been pinging the system with 32 byte pings and only shows 1.3Kb RX, so I know none of the ICMP packets have gotten there. As for TX, I’ve tried sending 32 byte packets, so I don’t know what’s up with that either.
Once you get used to it, you’ll never go back. Stability will win over the pretty GUI. Trust me.
I’m setup as a CLI-only server setup.
I configured the NIC with a static IP and assigned a default route and DNS servers during the setup.
Can the server reach the Internet? What are the results of a “ping google.com” executed at the CLI on this server?
I have been pinging the system with 32 byte pings and only shows 1.3Kb RX, so I know none of the ICMP packets have gotten there. As for TX, I’ve tried sending 32 byte packets, so I don’t know what’s up with that either.
This isn’t entirely clear. When you say you’re “pinging the system,” do you mean that you are pinging your server by entering “ping 192.168.2.10” on some other computer on the same network? IS it on the same network (ie., with a network address in 192.168.2.xxx and the same netmask, typically 255.255.255.0)?
Provide a few details about your hardware, if you could. There are a few NICs that I’ve had trouble with under Linux.
As you are showing both inbound and outbound errors it looks like you have at least some kind of connectivity.
As per smpoole7, assuming your local network is 192.168.2.1/24 can you try ping -r 192.168.2.x (where x is a known host on the same network). The -r switch by-passes any routing table and will help determine if you’re looking at NIC config or routing problems (if it works, it’s a routing issue)
The server cannot contact the internet or any other computer on the LAN. Other computers on the LAN cannot ping the server (that’s what I meant when I said I was pinging the system). Yes, it’s on the same network that has 4 other production servers running on it at the time (and the 192.168.2.0/24 network is working properly).
This installation is actually a VM in Microsoft Hyper-V… I have created a virtual “legacy NIC” for compatibility and bound it to the external network and openSUSE sees the NIC and has drivers loaded for it… it also appears to be seeing traffic from the external network as it shows that the incoming ICMP packets from another machine are being dropped. SUSE is supported by Hyper-V, so compatibility shouldn’t be a problem.
Maybe I’ll go to Xen once I learn Linux better.
And pinging with -r still yielded Destination Host Unreachable.
Ahhh. OK. I’m not an expert on Hyper-V; I’ve never used it. I use VirtualBox, which is available for free from Sun Microsystems. Works great under Windows or Linux.
Under VirtualBox, you can set up networking in several ways; the two most common are NAT (the default) and Bridging. With NAT, anything coming in on a particular port can be assigned to go straight to the guest OS in the VM. For example, you could run a Webserver in there, and tell VirtualBox to immediately NAT anything on port 80 into the “box.”
In Bridging, you actually get a new IP address aliased onto your existing network connection. For example, one of my host servers has 192.168.1.250, but I set up a static IP of 192.168.1.230 on a CentOS server running in a VM. From any machine on that same network, I can “ssh 192.168.1.250” to get into the host, or “ssh 192.168.1.230” to get into the CentOS VM. Most importantly, with bridging set up properly, I am able to “ssh” or “ping” from the host server into the CentOS “box” just fine.
The point of that long-winded rant is, read your Hyper-V documents carefully. (Or better yet – hate to say this – dump Hyper-V, which has a very checkered reputation, for something more reliable like Xen or VirtualBox.)
If you’re using NAT, you typically won’t be able to ping the guest, and you may or may not have Internet connectivity. If you’re bridging, make sure it’s configured correctly. This is one of the most common problems I’ve seen in the online fora: the guest either can’t “see” the Internet or other machines can’t “see” it. It will always devolve to a setting in the network config for the VM.
If bridging is set up correctly, the Microsoft host should be able to ping the OpenSUSE VM itself.
If there’s a Hyper-V forum online (shows how much I even know about it!), you might want to post there. This sounds like a VM problem, NOT strictly an OpenSUSE networking issue.
Yes, the virtual network is bridged to the same VLAN as the rest of the servers, and all virtual/physical machines can talk to each other fine (except this one :’()
I’ll take a look and see what’s around about that, but I’m 100% sure that networking is configured correctly on the MS/Cisco/Hyper-V side, for what that’s worth.
Okay, so I’ve done a bit of testing with the openSUSE installation and I’m 100% convinced it’s a problem with the linux configuration.
Here’s the deal:
I leave a repeating ping to openSUSE’s IP address running on a workstation on the network. Immediately after
Starting HAL daemon done
starts during initial startup, these lines appear
Setting up (localfs) network interfaces:
lo
lo IP address: 127.0.0.1/8
IP address: 127.0.0.2/8 done
eth0 device: Digital Equipment Corporation DECchip 21140 [FasterNet] (rev20)
eth0 IP address: 192.168.2.10/24 done
Setting up service (localfs) network… done
and echo replies start appearing on the workstation. Pinging works fine until the system finishes booting and reaches the interactive login prompt
Welcome to openSUSE 11.1 - Kernel 2.6.27.7-9-default (tty1).
openSUSEserver1 login:
The second this appears on the screen, the echo replies stop coming in on the other workstation and the system is unreachable. In the 2-4 seconds between when sshd starts and when the interactive login prompt appears, I am able to connect to the server with putty and initiate an ssh session (grab the RSA fingerprint, see login prompt).
This proves the network and virtual hardware is all working as intended. Do any of you have an idea of what this might be?
Okay, fixed! I did some research and found out that openSUSE has a bug where it cannot use more than 1 CPU in the virtual machine hardware setup. Using 2 or more CPUs kills networking once the system is booted. I wonder if this is Novell trying to get people to buy Enterprise to be able to utilize multiple CPUs… sounds awful Microsoft-ish to me… I sure hope not.
No, I had a similar issue with CentOS as a VirtualBox guest. In my case, it wasn’t a network problem (the guest simply crashed before it finished booting), so I wouldn’t have thought to suggest that here. But I could NOT get Cent to run until I configured it for a single processor.
Also, don’t forget that OpenSUSE is the testbed and “playground” for the Enterprise editions. There are differences between them, but they’re mostly stability- and support-related (and even there, it’s often just a matter of longer term support for older packages). In a similar vein, Fedora is the testbed for RHEL. As a general rule, at the time that the Enterprise variant is released, it will be similar to the “community” version from which it’s derived. The “community” distro will then diverge as new packages are inserted and tinkered with, while the enterprise variant keeps the older packages and concentrates on maintaining them for several years.
But thanks for posting back! I’ll remember that. One other question: did you try the OpenSUSE XEN kernel? I wonder if that might have made a difference. Not having looked at the kernel code, I can’t possibly claim that it might; I’m asking out of pure curiosity.
In fact, I’m so curious, I might try it myself … hmmm.
No, I didn’t try the Xen yet… I don’t currently have another physical server to install it on to test virtualization, but I’ll give it a try. How’s the driver/integration support for Windows/etc.?
P.S., can you run Xen on a VM? I thought you needed to install a hypervisor on hardware with virtualization support… and can’t install a hypervisor in a VM (for obvious performance reasons).