我和一位朋友租用了一台专用服务器,并使用KVM和libvirt创build虚拟机供我们使用。 (我们在主机上使用debian jessie)
我们购买了两个额外的IP地址(我们每个人都有一个IP地址),给了我们三个IP地址,包括原始的主机IP。
主机IP为195.154.XXX.221,网关为195.154.XXX.1,我们的额外IP为212.129.XXX.XXX,位于具有相同网关的不同子网上。 我们的提供商已经给我们提供了必须在设备上使用的MAC分配地址。
我们将IP分配给单个虚拟机没有问题,但是我们不知道如何在一个IP上使用多个虚拟机。 由于所有虚拟机都需要具有相同的MAC地址,因此网桥无法工作。
您必须在主机上设置DNAT才能将端口从外部IP地址转发到您设置的私有VMnetworking中的VM。
您不能共享第3层上的IP。
这是很久以前发布的,但是我已经使用这个configuration几次现在online.net,我知道其他供应商使用相同的configuration,所以我会更新与解决scheme。
在这种情况下,我将有一台主机和两台访客机器。 我将要显示Debian的networkingconfiguration,适应您的操作系统。
****如果您的其他IP位于您的网关之外IP子网在设置桥接后看到底部****
当你给你的IP,你会产生或得到一个MAC地址使用他们,例如
XXX.YYY.ZZZ.101 – 52:54:00:00:00:01
XXX.YYY.ZZZ.102 – 52:54:00:00:00:02
XXX.YYY.ZZZ.103 – 52:54:00:00:00:03
在你的主机上,在你的主机IP上设置一个网桥,像这样分配主机IP。
iface eth0 inet manual auto vmbr0 iface vmbr0 inet static address XXX.YYY.ZZZ.101 netmask 255.255.255.0 gateway XXX.YYY.ZZZ.1 bridge_ports eth0 bridge_stp off bridge_fd 0
现在当你创build虚拟机的时候,用networking接口vmbr0来设置它们。 在您的每台虚拟机上为您的networking设置以下configuration。
auto eth0 iface eth0 inet static address XXX.YYY.ZZZ.102 netmask 255.255.255.0 gateway XXX.YYY.ZZZ.1
这应该把你的附加IP传给你的虚拟机! 真棒!
你可能会遇到这个问题,不过你可以通过子网之外的网关获得额外的IP地址
网关IP:XXX.YYY.100.1
其他IP1:XXX.YYY.200.1
如果您发现自己处于虚拟机的这种情况,您将需要手动添加到网关IP的路由,并在启动时将IP分配给您的接口。
在debian中,你可以在/ etc / network / interfaces中执行以下操作:
auto eth0 iface eth0 inet manual pre-up ip l set dev eth0 up pre-up ip a add XXX.YYY.200.1 dev eth0 pre-up ip r add XXX.YYY.100.1 dev eth0 pre-up ip r add default via XXX.YYY.100.1 post-down ip l set dev eth0 down
希望这是简洁的,并帮助别人。