为跨越多个主机的KVM来宾创build虚拟networking

我有5个运行Ubuntu 14.04的物理机器,他们都在一个networking中。 这些全都具有静态IP地址。 每台机器都通过运行Ubuntu 14.04的KVM / QEMU具有1到4个虚拟机。 我可以使用DHCP为物理networking上的所有虚拟机获取非静态地址。但是对于我的分布式软件,我需要所有的虚拟机在虚拟networking中拥有静态IP地址(因为我无法获得更多的在物理networking上)。 然而这个虚拟networking应该跨越所有虚拟机上的所有访客。 而且,其中一台虚拟机在物理networking上也应该有一个静态地址。

我已经成功地为所有的虚拟机在单个主机上创build了一个虚拟networking,因此这些虚拟机可以有静态IP,但是如果我这样做,每个主机都无法工作。 我还为其中一个虚拟机上的物理networking上的静态IP创build了桥接接口。

这是我想要的scheme:

123.45.144.0/28 (physical network) 192.168.0.0/16 (virtual network for all the vms) 123.45.147.3 (host) 192.168.122.101, 123.45.147.49 (vm) 192.168.122.102 (vm) 192.168.122.103 (vm) 192.168.122.104 (vm) 123.45.147.4 (host) 192.168.122.105 (vm) 123.45.147.5 (host) 192.168.122.106 (vm) 123.45.147.6 (host) 192.168.122.107 (vm) 192.168.122.108 (vm) 123.45.147.7 (host) 192.168.122.109 (vm) 192.168.122.110 (vm) 

这里是ifconfig的输出:

其中一位主持人:

 eth0 Link encap:Ethernet HWaddr 5c:f9:dd:75:07:72 inet addr:123.45.147.3 Bcast:123.45.151.255 Mask:255.255.248.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 virbr0 Link encap:Ethernet HWaddr 52:54:00:bd:2b:39 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 

具有桥接接口(eth1)和虚拟networking接口(eth0)的虚拟机

 eth0 Link encap:Ethernet HWaddr 52:54:00:59:2d:c8 inet addr:192.168.122.101 Bcast:192.168.122.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 eth1 Link encap:Ethernet HWaddr 52:54:00:4d:d0:59 inet addr:123.45.147.49 Bcast:123.45.151.255 Mask:255.255.248.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 

经过几个小时的search,我无法find类似的设置,我面临的问题。 由于我对networking的熟悉程度相当低,所以我希望能够find解决scheme。

如果系统上有单独的ethX接口,并且连接到物理networking,则在该接口上创build第二个网桥。 然后可以在该虚拟网桥上configuration物理地址。

静态地址可以在虚拟机上configuration。 这使得保持一个稳定的地址空间更简单。