I have a kvm setup with several guest vms running ubuntu.
For some reason I cannot get traffic through port 80 from the guests to the outside anylonger. The other way round works just fine, the apache delivers the hosted webpages as it should. Other ports like ssh also work just fine.
Here is an example:
me@guest:~$ curl heise.de
curl: (7) Failed to connect to 2a02:2e0:3fe:100::8: Network is unreachable
Curl fails with Network unreachable after a longish timeout and appears to try to use the IPv6 address, which it is not supposed to do. Curl versus locally hosted domains works.
Ping works:
me@guest:~$ ping heise.de
PING heise.de (193.99.144.80) 56(84) bytes of data.
64 bytes from redirector.heise.de (193.99.144.80): icmp_req=1 ttl=245 time=6.92 ms
64 bytes from redirector.heise.de (193.99.144.80): icmp_req=2 ttl=245 time=7.05 ms
Since it happened on all my guests at the same time, I am thinking it must be something I did on the host. But even when I turn off all my homebrew iptables rules it still doesn't work.
So somewhere inside the kvm/libvirt networking my http requests go where they shouldn't. Here is my network configuration for KVM
<network>
<name>network_nat</name>
<uuid>....</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0' />
<mac address='52:54:00:30:9B:D6'/>
<ip address='192.168.100.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.100.128' end='192.168.100.254' />
<host mac='52:54:00:e4:71:f5' name='web' ip='192.168.100.210' />
</dhcp>
</ip>
</network>
My guests are configured to use that network. Dhcp appears to work: at least the guest has the IP Address I configured.
So why can't I access any websites from my guests?