ip - 多个 IP + KVM 桥接器

标签 ip ip-address virtualization kvm

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

我想的是这样的:

br0 - 保 stub 服务器的原始IP

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

br0:1 - 持有第二个虚拟机的第二个 IP

但这行不通。有任何想法吗。我真的很沮丧。花了一天的时间,没有解决办法。

最佳答案

我也在类似的情况下挣扎,我有服务器,并且必须指出设置网桥确实让我出局,必须重新启动才能到达它,无论如何我已经设法通过 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 地址和 KVM 虚拟机的服务器有帮助, 它们最初是在默认网络(转发模式=nat)中运行的,因此它们首先通过NAT和内部IP连接到互联网,这也为它们提供了外部公共(public)IP地址。 您还可以通过调整 iptables 规则来设置地址(如 -d 111.222.333.2:80 -p tcp)并将端口添加到本地地址,逐个端口地执行这些重定向...

您可能还需要打开设备IP转发,您可以通过例如检查

sysctl -a | grep forward
(您应该在 eth0 设备上看到它),可以选择通过适当的 sysctl 命令来调整它,例如

sysctl -w net.ipv4.ip_forward=1

关于ip - 多个 IP + KVM 桥接器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21834044/

相关文章:

virtualization - "cpu_time"在 libvirt 中到底代表什么?

geolocation - 通过IP地址识别国家

python - 如何有效地检查给定的 IP 地址是否属于 Python 中的 IP 子网?

共享主机帐户上的 IP 切换

ip - tcpdump 和 wifi 重传

java - 获取与本地 MAC 地址关联的本地 IP 地址

python - 在 Python 中将 "little endian"十六进制字符串转换为 IP 地址

linux 虚拟应用程序 : is this is possible?

security - 用于访问 Intel TXT(可信执行模式)或 AMD SVM 的 API?

java - 如何在java中动态获取服务器地址ip