Xen 主机和客户机共享相同的 IP

Xen 主机和客户机共享相同的 IP

Xen 主机和 Xen 客户机是否可以共享相同的 IP(尽管端口不同)?

我们有一个公共 IP,并且希望 Xen 主机(仅作为主机,没有其他角色)和 Xen 客户机都使用它。

谢谢。

答案1

为实现此目的,请将公共 IP 分配给host系统。然后将所需的端口从host一个系统转发到guest另一个系统。

假设您的guest是一个 Web 服务器,那么您需要将从的 80 端口转发到host的 80端口guest,这样对公网 IP 上 80 端口的每个请求都将被转发到的 80 端口guest

假设您已将公共 IP 分配给 eth0,并且您的guestIP 是 192.168.1.2,那么您必须告诉host它应该执行 NAT/MASQUERADE,以便虚拟机可以访问互联网。您还必须告诉host它应该将哪些端口转发到哪个 IP 地址。您可以参考以下脚本。

#!/bin/sh

GUEST_IP=192.168.1.2

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

### Port Forwarding ###

### web server 
iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 80 -j DNAT --to $GUEST_IP:80

### mail server 
iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 25 -j DNAT --to $GUEST_IP:25
iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 143 -j DNAT --to $GUEST_IP:143
iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 110 -j DNAT --to $GUEST_IP:110

前两个命令启用 Nat/Masquerad'inghost

### Port Forwarding ###

您可以在此处输入所需的规则。这将指示host将特定端口转发到特定目标 IP 地址上的特定目标端口。

答案2

您应该将虚拟机视为真实机器。您的网络中不应该有两台具有相同 IP 的机器。但是,如果您的目标是隐藏虚拟化环境的存在,则可以使用一些桥接、NAT、端口转发。

相关内容