XEN SERVER有一个公网IP, 让虚拟机上网和对外提供服务
可能是版本不一样,命令与原文有点不一样,
一个是-nat这里,我这里的命令实际测试过,都没有小横杠,
再一个iptables的保存了,我这里用了service ipstable save,
所以重新整理了一下,但没有图。
以下操作1,2在xen center上,3,4步可以putty, 也可以用xen center里的console
1. xen server上新建网络: 选"外部网络", 选有连接网线的网卡,一般是nic 0
vlan是数字,从1开始,随便填个数,比如1, 2, 3, 。。。
可以添加多个“外部网络”,这样每个外部网络的VLAN要不一样,网段也要不一样 ( 这个是个人以为的,不一定对,不过有重复的话,会弹窗提示的)。
2. 配置:添加IP地址, 比如: 192.168.5.1, 255.255.255.0, 不用填网关。
这个就相当于虚拟机的网关,虚拟机的网关要设置成这个地址
3. 配置xen server NAT,让192.168.5.0网段能上网。
echo "1" > /proc/sys/net/ipv4/ip_forward or /etc/sysctl.conf => net.ipv4.ip_forward=1
// 让192.168.10.0网段的虚拟机可以上网,xenbr0是共享上网网口名称(用ifconfig查看)。
# iptables -t nat -A POSTROUTING -s 192.168.5.0/24 -o xenbr0 -j MASQUERADE
// 保存,生效
# service iptables save
或 # iptables -t nat -A POSTROUTING -o xenbr0 -j SNAT --to-source 公网IP, 这条未试,不道效果
4. 外网连接内网(端口转发)
// 将192.168.5.5:22 映射到公网IP的60022, putty通过公网IP:60022可以连接到虚拟机192.168.5.5:22上
# iptables -t nat -A PREROUTING -p tcp --dport 60022 -j DNAT --to-destination 192.168.5.5:22
5. 关于iptables的操作
// 清除默认策略, 不能乱用,如果配置过iptables, 就不能再用了。
# iptables -F
// 查看NAT设置情况
# iptables -t nat -L
// 保存
# service iptables save
// 重启
# service iptables restart
//////另外代码演示:sysctl net.ipv4.ip_forward=1 #开启转发
[root@xenserver-cukxsegi ~]
# echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf #让重启不失效