多个IP+;KVM的桥接器

多个IP+;KVM的桥接器,ip,ip-address,virtualization,kvm,Ip,Ip Address,Virtualization,Kvm,我现在遇到了一个问题,真的不知道哪里出了错。我从ISP那里得到了根服务器。这个根服务器已经包含了一个IP,今天我又预订了两个IP地址。因此,我现在要做的是将这两个新的IP地址映射到两个虚拟机,同时保留根服务器包含的IP。那么我是如何认识到这一点的呢 我的想法是: br0-保留根服务器的原始IP br0:0-持有第一个虚拟机的第一个IP br0:1-保存第二个虚拟机的第二个IP 但这不起作用。任何想法。我真的很沮丧。在它上面工作了一天,没有解决方案。将br0映射到VM1和VM2作为TAP设备,在V

我现在遇到了一个问题,真的不知道哪里出了错。我从ISP那里得到了根服务器。这个根服务器已经包含了一个IP,今天我又预订了两个IP地址。因此,我现在要做的是将这两个新的IP地址映射到两个虚拟机,同时保留根服务器包含的IP。那么我是如何认识到这一点的呢

我的想法是:

br0
-保留根服务器的原始IP

br0:0
-持有第一个虚拟机的第一个IP

br0:1
-保存第二个虚拟机的第二个IP


但这不起作用。任何想法。我真的很沮丧。在它上面工作了一天,没有解决方案。

将br0映射到VM1和VM2作为TAP设备,在VM1和VM2中,您可以将其视为eth设备; 将IP1和IP2分别分配给VM1和VM2;使用此配置,您可以从VM1 ping到VM2,并从主机ping到任何来宾机(VM1或VM2)


以下内容将帮助您通过网桥为VM设置TAP设备;请参阅此处指定的qemu ifup脚本,并对其进行充分理解。

我也遇到过类似的情况,我有一台服务器,并指出设置网桥确实让我无法访问它,必须重新启动才能访问它,无论如何,我已经通过iptables处理了它

#create alias for your second ip address (lets say its 111.222.333.2 , local address 192.168.1.2) ifconfig eth0:1 111.222.333.2 #you should add netmask to be proper if you've got subnet #now you should be able to ping this second address from outside world - try it, #that is if you have not set up firewall to block pings ... flush iptables rules if you are not sure... #set up NAT rule (network-address-translate : outside ip-> local ip and back local ip->outside ip) #assumes your virtual machines lives as 192.168.1.2 iptables -t nat -A PREROUTING -d 111.222.333.2 -j DNAT --to-destination 192.168.1.2 iptables -t nat -A POSTROUTING -s 192.168.1.2 -j SNAT --to-source 111.222.333.2 #为第二个ip地址创建别名(比如111.222.333.2,本地地址192.168.1.2) ifconfig eth0:1111.222.333.2 #如果你有子网,你应该添加网络掩码 #现在您应该能够从外部世界ping第二个地址-试试看, #也就是说,如果您没有设置防火墙来阻止ping。。。刷新iptables规则,如果您不确定。。。 #设置NAT规则(网络地址转换:外部ip->本地ip和后端本地ip->外部ip) #假设您的虚拟机的生命周期为192.168.1.2 iptables-tnat-A预路由-d111.222.333.2-jdnat-到目的地192.168.1.2 iptables-t nat-A postfrouting-s 192.168.1.2-j SNAT-到源111.222.333.2 这确实帮助我使用具有多个IP地址和KVM虚拟机的服务器, 它们最初是在默认网络(转发模式=nat)中运行的,所以它们首先通过nat和内部IP连接互联网,这也给了它们外部世界的公共IP地址。 您还可以通过调整iptables规则来设置地址(如-d111.222.333.2:80-ptcp)并将端口添加到本地地址,从而逐个端口执行这些重定向

您可能还需要打开设备IP转发,您可以通过例如sysctl-a | grep forward(您应该在eth0设备上看到它的位置)检查,也可以通过适当的sysctl命令(如

sysctl -a | grep forward sysctl -w net.ipv4.ip_forward=1 sysctl-w net.ipv4.ip_forward=1