【问题标题】:Multiple IPs + bridge for KVMKVM 的多个 IP + 桥接器
【发布时间】:2014-03-17 01:00:32
【问题描述】:

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

我的想法是这样的:

br0 - 持有根服务器的原始 IP

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

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

但这不起作用。有任何想法吗。我真的很沮丧。解决了这个问题,但没有解决方案。

【问题讨论】:

    标签: ip ip-address virtualization kvm


    【解决方案1】:

    我也在为类似的情况而苦苦挣扎,我有服务器,并且必须指出设置网桥确实让我失望了,不得不重新启动才能访问它,无论如何我已经设法通过 iptables 处理它。 .

    #为您的第二个 IP 地址创建别名(假设它的 111.222.333.2 ,本地地址 192.168.1.2) ifconfig eth0:1 111.222.333.2 #如果你有子网,你应该添加正确的网络掩码 #现在你应该可以从外界ping第二个地址了——试试吧, #也就是说,如果您没有设置防火墙来阻止 pings ... 如果您不确定,请刷新 iptables 规则... #set up NAT rule (network-address-translate : outside ip-> local ip and back local ip->outside ip) #假设您的虚拟机位于 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 访问互联网,这也为它们提供了外部公共 IP 地址。 您还可以通过调整 iptables 规则以设置地址(如 -d 111.222.333.2:80 -p tcp)并将端口添加到本地地址来逐个端口进行这些重定向...

    您可能还需要开启设备 IP 转发,您可以通过以下方式进行检查

    sysctl -a | grep forward
    (你应该在你的 eth0 设备上看到它),可以选择通过适当的 sysctl 命令来调整它,比如 sysctl -w net.ipv4.ip_forward=1

    【讨论】:

      【解决方案2】:

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

      以下link 将帮助您通过网桥为VM 设置TAP 设备;查看那里指定的 qemu-ifup 脚本并很好地理解它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多