帮助中心 >  技术知识库 >  云服务器 >  服务器教程 >  Linux和Windows服务器如何分别通过iptables防火墙以及网卡实现端口映射转发

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

2016-12-11 21:35:00 7235

很多时候由于安全需要或公网IP不够用或功能需要,需进行一些端口映射。这里分别记录下Linux和Windows服务器如何分别通过iptables防火墙以及网卡实现端口映射转发。

1,Linux实现方法,通过操作iptables来实现。
举例如下:
当前linux服务器IP地址为121.21.36.189,内网一个windows服务器IP地址为192.168.99.30,我现在想通过linux服务器IP映射一个端口3389?这个win服务器的3389端口并进行远程,那么操作如下:

[root@21yunwei 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

操作以后,我可以通过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是一个效果了。



提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: