I am trying to create a network with following topology. Because I need a custom Gateway and the network is small, I do not want to use DHCP on the isolated network.
┌─────────────────┐ ┌──────────────────┐
│ │ │ │
│ Guest 1 │ │ Guest 2 │
│ │ │ │
└────────┬────────┘ └────────┬─────────┘
│10.20.0.15 │10.20.0.20
─────────┴─────────────────┬────────────────┴──────── isolated
│10.20.0.10
┌────────┴───────┐
│ │
│ Gateway │
│ │
└────────┬───────┘
│
───────────┴────┬───────── default
│
┌─────────┴────────┐
│ │
│ Host │
│ │
└──────────────────┘
The isolated network's XML is
<network>
<name>isolated</name>
<uuid>e66e50be-9ecb-11ee-a07e-870199a7fddd</uuid>
<bridge name='iso0' stp='on' delay='0'/>
<mac address='52:54:00:49:27:d4'/>
</network>
The guests have the following in /etc/network/interfaces
:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.20.0.15 # in Guest 1, 10.20.0.20 in Guest 2
netmask 255.255.0.0
gateway 10.20.0.10
And yet when I ping 10.20.0.20
from Guest 1, I get nothing. ARP table shows ? (10.20.0.20) at <incomplete> on eth0
. Same happens for Guest 2 to Guest 1, Gateway to either, etc.
tcpdump
shows outgoing arp requests from the sender, but nothing on the receiver. To me this reads "the devices are not on the same virtual ethernet network" but I don't know how to troubleshoot this further. Any advice would be appreciated.
EDIT It seems like changing the NIC device models from virtio
to e1000e
solved the issue, although I do not understand why.
EDIT 2 Put the NICs back to virtio
and it still works. I did not make any other changes, restart host, etc. Very strange.