Linux和Windows服务器如何分别通过iptables防火墙以及网卡实现端口映射转发
云海天教程 原创文章,转载请注明出处。
很多时候由于安全需要或公网IP不够用或功能需要,需进行一些端口映射。这里分别记录下Linux和Windows服务器如何分别通过iptables防火墙以及网卡实现端口映射转发。
1,Linux实现方法,通过操作iptables来实现。
举例如下:
当前linux服务器IP地址为121.21.36.189,内网一个windows服务器IP地址为192.168.99.30,我现在想通过linux服务器IP映射一个端口3389到这个win服务器的3389端口并进行远程,那么操作如下:
[[email protected] sysconfig]# vim /etc/sysconfig/iptables 省略无关行 -A INPUT -p tcp -m state --state NEW -m tcp --dport 3389 -j ACCEPT 这行目的是linux服务器防火墙放行这个3389端口进行通信。 # Completed on Thu Sep 17 12:29:38 2015 # Generated by iptables-save v1.4.7 on Thu Sep 17 12:29:38 2015 *nat :PREROUTING ACCEPT [265738:14325389] :POSTROUTING ACCEPT [185657:11172327] :OUTPUT ACCEPT [185660:11172507] -A PREROUTING -d 121.21.36.189/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.99.30:3389 -A POSTROUTING -d 192.168.99.30/32 -p tcp -m tcp --dport 3389 -j SNAT --to-source 192.168.99.10 COMMIT # Completed on Thu Sep 17 12:29:38 2015
操作以后,我可以通过mstsc进行121.21.36.189:3389远程连接到192.168.99.30服务器了。
2,windows 服务器进行端口映射转发到其他服务器
当前windows服务器IP地址为121.21.36.190,内网一个linux服务器IP地址为192.168.99.10,我现在想通过win服务器IP映射一个端口81到这个linux服务器的8080端口进行web访问,那么dos上需要执行的命令如下:
netsh interface portproxy add v4tov4 listenport=81 listenaddress=121.21.36.190 connectaddress=192.168.99.10 connectport=8080
这样操作以后,是永久有效,除非后续重置。现在进行121.21.36.190:81访问,实际是和192.168.99.10:8080是一个效果了。