记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

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.      实现端口映射
  1. 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网口数据出
  1. iptables -t nat  -A POSTROUTING -s 192.168.128.0/24 -o xenbr0 -j MASQUERADE

xenbr0——————为做软路由的网口
把以上配置加入启动文档,实现重启服务器无需重新配置
        
  1. 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



转载请标明出处【Xenserver单IP通过iptables共享IP上网并映射端口到内网虚拟机】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论