2010/4/18 Andreas Ntaflos <daff(a)pseudoterminal.org>:
On an Ubuntu (9.10) virtualisation host, running KVM and libvirt and
several guests (Debian, Ubuntu, Windows Server 2003) in a bridged
network fashion [1,2] I noticed that performing
/etc/init.d/networking restart
on the host completely cuts off all guests from the network. I have to
manually shutdown and restart (virsh shutdown GUEST && virsh start
GUEST, a mere reboot doesn't suffice) them to get them onto the network
again. Obviously that's not ideal.
Confirmed, I have the same problem. Even with bridged configuration,
do you have dnsmasq running elsewhere (maybe with --bind-inferfaces
flag)? If i got it right, an application can bind to an "handle" of an
ethernet device and not its name, so when you restart networking, the
handle will change and apps binded to the previous handle will stop
working. Maybe it's the hypervisor itself (the ubuntu default is kvm)
to bind to the interface, so it maybe not be related at all with
libvirt.
Another thing I have observerd in a NAT configuration is that there
are problems in setting port forwarding from the host to guests when
libvirt is not yet started (= default network "libvirt0" bridge not
created and proper route to the NATed subnetwork not added). It seems
it just doesn't work, and it seems strange to me because I thought
iptables rules should have held even devices or hosts/networks didn't
exist. I "sorted" editing libvirt-bin init script adding a line that
adds port forwarding after libvirt have been started. This is the kind
of "ugly workarounds" I hate, but at the time it was the quicker
working (and safe) solution and din't have time to do a proper
reporting.
Maybe it does worth report this to ubuntu and/or kvm.
Greetings,
Francesco