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

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

我们有一个单独的公共IP,并且想要Xen主机(仅作为主机,没有其他angular色)和Xen来宾使用它。

谢谢。

为了实现这个分配公共ip到host系统。 然后将所需的端口从host系统转发到guest系统。

假设你的guest是一个Web服务器,那么你需要将80端口的host端口转发到80端口,这样每个公网IP端口80的请求都会被转发到客户端口80。

假设你已经将公网IP分配给了eth0,你的guest的IP地址是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 

前两个命令启用host上的Nat / Masquerading

### Port Forwarding ###

在这里你可以根据需要放置尽可能多的规则。 这告诉host将某些端口转发到特定目标IP地址上的某些目的端口。

你应该把虚拟机看作真机。 您的networking中不应该有两台IP地址相同的计算机。 但是,如果您的目标是隐藏虚拟化环境的存在,您可能会使用一些网桥,NAT,端口转发。