【linux命令】Linux和Windows服务器如何分别通过iptables防火墙以及网卡实现端口映射转发

内容摘要
云海天教程 原创文章,转载请注明出处。
很多时候由于安全需要或公网IP不够用或功能需要,需进行一些端口映射。这里分别记录下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是一个效果了。

代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!