VirtualBox network problems after latest kernel update

Scenario:
Was running couple virtual machines on opensuse 11 host.

  1. Win Server 2008. Everything worked OK.
  2. CentOS 5. Which i installed just before the kernel update and it worked fine (atleast ping went through both directions (host -> guest, guest -> host and guest -> internet).

Then…
There was a kernel (and some other stuff) update available for opensuse 11, applied it and restarted my computer.

While later noticed that networking on all my virtual machines does not work anymore (only affects virtual machines. Networking on suse box itself works just fine) Can ping localhost just fine in virtual machine, no problems there. But nothing else seems to work. (ping does not go through from guest to host, or from guest to internet).

Anyone else experienced anything similar?

Everything seems to be in order (firewalls are disabled on all machines, bridge seems to be OK, etc.)

Everything worked fine before the update and I haven’t touched anything other than updating the system with zypper day or two ago).

uname -a
Linux roju 2.6.25.11-0.1-default #1 SMP 2008-07-13 20:48:28 +0200 x86_64 x86_64 x86_64 GNU/Linux
ping 192.168.0.100
PING 192.168.0.100 (192.168.0.100) 56(84) bytes of data.
From 192.168.0.102 icmp_seq=2 Destination Host Unreachable

192.168.0.100 = suse 11 host
192.168.0.102 = centos 5 guest

Any ideas what could cause this?

Which vbox are you running, the RPM from Sun or the OSE one?

If the Sun RPM you have to rebuild the driver module with /etc/init.d/vboxdrv setup. You need the kernel sources, C compiler, make, and pam-devel for this. If you had installed the Sun RPM, you would remember this build step.

If the OSE one you have to get one that matches the new kernel.

It’s just one of those things that have to be fixed after a kernel update.

Sun version. And yes, ive done that (doesnt help, sadly)

Hi
If it’s like vmware, after a kernel update you need to re-run the
configuration program. Isn’t there one for virtualbox?


Cheers Malcolm °¿° (Linux Counter #276890)
SLED 10 SP2 i586 Kernel 2.6.16.60-0.25-default
up 1 day 15:19, 1 user, load average: 0.57, 0.45, 0.38
GPU GeForce Go 6600 TE/6200 TE Version: 173.14.09

Works here. What’s in /var/log/vbox-install.log after you have run /etc/init.d/vboxdrv setup?

If something to the effect that it cannot find that kernel source directory, you need these packages:

kernel-source (must match running kernel), gcc, make, pam-devel and also linux-kernel-headers IIRC.

When you have installed all these packages, then run /etc/init.d/vboxdrv setup again.

make KBUILD_VERBOSE=1 -C /lib/modules/2.6.25.11-0.1-default/build SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 modules
make[1]: Entering directory `/usr/src/linux-2.6.25.11-0.1-obj/x86_64/default'
make -C /usr/src/linux-2.6.25.11-0.1 O=/usr/src/linux-2.6.25.11-0.1-obj/x86_64/default/. modules
make -C /usr/src/linux-2.6.25.11-0.1-obj/x86_64/default \
	KBUILD_SRC=/usr/src/linux-2.6.25.11-0.1 \
	KBUILD_EXTMOD="/tmp/vbox.0" -f /usr/src/linux-2.6.25.11-0.1/Makefile \
	modules
test -e include/linux/autoconf.h -a -e include/config/auto.conf || (		\
	echo;								\
	echo "  ERROR: Kernel configuration is invalid.";		\
	echo "         include/linux/autoconf.h or include/config/auto.conf are missing.";	\
	echo "         Run 'make oldconfig && make prepare' on kernel src to fix it.";	\
	echo;								\
	/bin/false)
mkdir -p /tmp/vbox.0/.tmp_versions ; rm -f /tmp/vbox.0/.tmp_versions/*
make -f /usr/src/linux-2.6.25.11-0.1/scripts/Makefile.build obj=/tmp/vbox.0

...and lots of compiler spam (nothing that looks like error though)

Both vboxdrv and vboxnet are loaded and recompiling didnt give any errors.

Ok so maybe it finished compiling and loaded properly, in which case the networking problem is elsewhere.

So can you start a guest OS in vbox? If so then the driver is fine.

IIRC ping doesn’t work with NAT networking, check the user manual.

-Machines start just fine
-And they were working just fine before i hit ‘zypper update’ couple days ago (i mean networking was OK)
-Using host networking.

Problem may aswell be elsewere, i have absolutely no idea where though (networking on suse works just fine, only virtual machines are messed up atm and i havent tweaked anything on that system in ages).

Network config is pretty simple.

  • Main work computer running win vista (yes dont laugh :stuck_out_tongue: ) acting as a gateway with 2 network interfaces. (main interface connected to interweb and second interface connected to suse box (192.168.0.1))
  • Suse 11 as a test server behind that vista with one bridged network interface (192.168.0.100). And obviously vbox0 (win server 2008, 192.168.0.101) vbox1 (centos, 192.168.0.102) virtual network interfaces.

vista box -> internet: network OK
vista box -> suse 11: network OK
vista box -> centos VM or w2008 VM: network BUSTED
suse 11 -> vista box: network OK
suse 11 -> internet: network OK
suse 11 -> centos VM or w2008 VM: network BUSTED
centos VM -> internet or suse 11 or vista box: network BUSTED
w2008 VM -> internet or suse 11 or vista box: network BUSTED

Something pretty strange is going on here.

Are you using Knetworkmanager or other dynamic IP address allocation? I believe you need to use the ifup method for setting up bridging.

No dynamic stuff.

  1. added bridge
  2. ifdown eth1
  3. ifup br0
  4. done (worked just fine)
roju:/ # cat /etc/sysconfig/network/ifcfg-br0
BOOTPROTO='static'
IPADDR='192.168.0.100'
MTU=''
NETMASK='255.255.255.0'
STARTMODE='auto'
USERCONTROL='no'
BRIDGE='yes'
BRIDGE_PORTS='eth1'

Last message was propably bit badly worded. I meant thats how bridge was originally set and it worked before the update.

Still clueless whats wrong with it. That server is due to upgrade anyways. Current cpu doesnt support hardware virtualization, so i’m thinking about hardware upgrade and replacing suse install with debian or centos. Should fix the problem :rolleyes:

Did you ever resolve this? I seem to have the same problem here.