使用XenCenter开设单IP多个虚拟机上网

今天终于在一台服务器上让主机商装上了XenServer,自己装上XenCenter想开几个小鸡玩玩,结果各种问题,简要记录,以便查询!

像连接服务器,汉化、包括用模板建小鸡、或者去下载小鸡模板都省略,重点是记录下自己怎么让单IP可以多个小鸡上网,网上又很多资料,按那些输入后各种错误。

折腾许久,所以还是记录一下。

首先增加一个虚拟网卡
选中服务器-点击“网络连接”→“Add Network(添加网络)” → “External Network(外部网络)”→输入网卡的名称 →选择NIC0(注意这里要选能连接外网的网卡),建议将“自动将此网络添加到新虚拟机”,我将新添加的网络命名为“newRoute”.添加保存既可以

其次增加IP
在网络连接下方的 IP配置中,点击“Config(配置)”→ 点“添加ip地址(D)”,选择之前添加的网络“newRoute”,设置与虚拟机同网段内网IP地址,也就是之后虚拟机要设置的网关地址。我这里小鸡准备用192.168.10.0/24这个网段,所以我设置的IP为192.168.10.1,子网掩码为255.255.255.0,网关为空

然后进控制台或者ssh登陆root账号和密码,查看IP是否正常(ifconfig -a)

第四,在设置正常后,开始配置NAT规则。
首先清除防火墙的默认策略
#iptables -F
开启转发支持,默认是关闭的,也可以事先查看一下。
#more /proc/sys/net/ipv4/ip_forward 如果直接编辑,很多时候保存不了。请直接使用echo
#echo 1 > /proc/sys/net/ipv4/ip_forward
然后配置iptables,让事先想好的小鸡网段192.168.10.0网段的虚拟机可以上网。
#iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o xenbr0 -j MASQUERADE 如果复制的不行,请手动打一边,我就是复制进去后无效,手动输入后就好了。
然后保存防火墙配置,避免重启主机后规则失效
#/etc/init.d/iptables save

然后编辑 /etc/sysctl.conf文件将net.ipv4.ip_forward 项设置为 1,开启转发支持,不受重启影响
#vi /etc/sysctl.conf
然后再给小鸡手动分配IP就可以上网啦。如果想小鸡可以远程桌面、SSH这些,再加一些远程端口转发,让外网直接用主机公网IP连接到虚拟机。
#iptables -t nat -A PREROUTING -p tcp –dport 3390 -j DNAT –to-destination 192.168.10.100:3389
这个命令的dport和to前面的两个-在复制的时候很容易就变成一个长的—,到时候会iptables的错误
“-bash: iptables -t -nat -A PREROUTING -p tcp -dport 3390 -j DNAT –to-destination 192.168.10.100:3389: command not found”。如果再修改了,请保存重启查看。
#/etc/init.d/iptables save
#service iptables restart
#iptables -t nat -L