Xenserver单IP通过iptables共享IP上网并映射端口到内网虚拟机
Xenserver单IP通过iptables共享IP上网并映射端口到内网虚拟机
相对于xenserver我只有一个外网IP,怎么实现通过内网IP开通VPS了,单IP通过端口映射到内网IP:
优点:通过服务器IP端口映射到指定的内网IP端口,从而使得一个公网IP实现开通多台VPS连接到网络。
缺点:通过服务器IP映射,VPS通过端口指定到服务器IP实现上网,相对而言,就会存在安全问题,透露服务器的信息。
那么接下来,我们说说怎么去实现吧:
1. 首先做好服务器的软路由,添加一个外部网络,与物理网卡绑定,然后给网站配置上IP,192.168.128.1/255.255.255.0
2. 实现端口映射
iptables -t nat -A PREROUTING -i xenbr0 -p tcp -d 170.123.23.12 --dport 3389 -j DNAT --to-destination 192.168.128.3:3389
xenbr0————为做软路由网口
tcp -d 170.123.23.12————为服务器公网IP
--dport 3389———————为公网连接端口
192.168.128.3:3389——————为内网IP、连接端口
实现xenbr0网口数据出
iptables -t nat -A POSTROUTING -s 192.168.128.0/24 -o xenbr0 -j MASQUERADE
xenbr0——————为做软路由的网口
把以上配置加入启动文档,实现重启服务器无需重新配置
vi /etc/rc.local
把所配置的2条命令加进启动文档
iptables -t nat -A PREROUTING -i xenbr0 -p tcp -d 170.123.23.12 --dport 3389 -j DNAT--to-destination 192.168.128.3:3389
iptables -t nat -A POSTROUTING -o xenbr0 -j MASQUERADE
这样,服务器IP的端口映射就完成了,可以用内网开通VPS了!
如果有iptable防火墙规则中看到有 RH-Firewall-1,按说可以清理掉,清空防火墙配置,然后xe-tool-restart 重启,然后就与RHEL6没什么区别了。
xenserver其实就是基于RHEL6的系统。
可以将以下内容加到开机启动文件 /etc/rc.local 中
chkconfig iptables on
service iptables restart
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 694 -j ACCEPT
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 600 -j ACCEPT
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate NEW -m udp -p udp --dport 694 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate NEW -m udp -p udp --dport 600 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate NEW -m tcp -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate NEW -m tcp -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate NEW -m tcp -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 21064 -j ACCEPT
iptables -A INPUT -p udp -m multiport --dports 5404,5405 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -I POSTROUTING -s 192.168.128.0/24 -o xenbr0 -j MASQUERADE
iptables -A FORWARD -s 192.168.128.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.128.0/24 -o xenbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -d 192.168.128.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 192.168.128.0/24 -i xenbr0 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -j ACCEPT
目录 返回
首页