资源描述
XenServer 单IP让虚拟机共享上网
第一步:添加一个虚拟网卡
点击“网络连接”→“Add Network(添加网络)” → “External Network(外部网络)”→输入网卡的名称 →选择NIC0(注意这里要选能连接外网的网卡),建议将“自动将此网络添加到新虚拟机”,我将新添加的网络命名为“Route”
可以看到我的服务器上默认有两个网卡,NIC0和NIC1,其中NIC0的状态是断开,也就是没连网线,不用管,以后用不上。NIC0连接到外网,分配的外网IP是:124.232.150.57
第一步:为新添加的虚拟网卡配置ip地址
网络添加好后回到网络连接主界面,然后点击Config(配置),点添加ip地址,选择之前添加的网络,设置与虚拟机同网段内网IP地址,也就是之后虚拟机要设置的网关地址。
第三步:点XenServer控制台,查看刚设置的IP地址是否正常
第四步:配置NAT规则
iptables -F #清除防火墙的默认策略
echo “1” > /proc/sys/net/ipv4/ip_forward #开启转发支持,默认是关闭的。
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o xenbr0 -j MASQUERADE #让192.168.10.0网段的虚拟机可以上网。
#iptables -t -net -A POSTROUTING -o xenbr0 -j SNAT --to-source 124.232.150.57 #此行今天与上一条效果一样,不用输入,仅供参考。
/etc/init.d/iptables save #保存防火墙配置,避免重启主机后规则失效
编辑 /etc/sysctl.conf文件 将net.ipv4.ip_forward 项设置为 1 #开启转发支持,不受重启影响
vi /etc/sysctl.conf
iptables -t -nat -A PREROUTING -p tcp -dport 5005 -j DNAT --to-destination 192.168.10.100:3389 #端口转发,外网直接用主机公网IP连接到虚拟机。
service iptables restart
iptables -t nat -L
效果测试:
第一步:为虚拟机添加网络接口
第二步:设置虚拟机IP,别弄错网卡。
虚拟机可以正常上网
外网可直接访问
展开阅读全文