我有 5 台运行 Ubuntu 14.04 的物理机,它们都在一个网络中。这些都有静态 IP 地址。每台机器都有 1 到 4 个通过 KVM/QEMU 运行 Ubuntu 14.04 的虚拟机。我可以使用 DHCP 为物理网络上的所有虚拟机获取非静态地址。但对于我的分布式软件,我需要所有虚拟机在虚拟网络中拥有静态 IP 地址(因为我无法在物理网络上获得更多地址)。然而,这个虚拟网络应该跨越所有虚拟机上的所有来宾。此外,其中一台虚拟机还应该在物理网络上拥有静态地址。
我已经设法在单个主机中为所有虚拟机创建一个虚拟网络,因此这些虚拟机可以在那里拥有静态 IP,但如果我为每个主机执行此操作,则它将无法工作。我还在其中一台虚拟机的物理网络上为静态 IP 创建了一个桥接接口。
这是我想要的方案:
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)
Run Code Online (Sandbox Code Playgroud)
以下是 的输出ifconfig:
主持人之一:
eth0 Link encap:Ethernet HWaddr 5c:f9:dd:75:07:72
inet addr:123.45.147.3 Bcast:123.45.151.255 …Run Code Online (Sandbox Code Playgroud) networking ubuntu virtual-machines kvm-virtualization ubuntu-14.04