声明:本文由xchen兄[cdcxx@etang.com]所有,任何人转帖必须注明原创作者xchen兄的大名及电子信箱,其次也要注明来源于。这样有利于通过来源,真正知道谁才是真正原创作者。
尊重他人就是尊重自己!!!!!
多谢xchen兄!!!
北南 加注
端口转发:iptables在网络中的一个经典应用
在详述端口转发之前,先讲一下我日前遇到的一件事情。
本人是搞测试的,有一厂家拿了一个服务器软件叫我测试。基于win2k的,端口号为881,服务器直接连接外部网络,客户端通过服务器ip来访问,而他们没有基于linux的服务器软件,照他们意思就必须将服务器换成windows的。作为一个linux爱好者,我想大家都明白这种痛苦。我翻了一下资料,发现iptables的端口转发功能可以解决,折腾了一下午,终于完成任务。下面将我的方法讲一下:
思想:利用端口转发,当服务器接收到881端口请求以后,将其转到
10.10.2.200:881上,10.10.2.200再将数据返回给请求连接者。
Eth0:连接ADSL,即ppp0接口
Eth1:连接内部网络,ip为10.10.1.1
10.10.2.200为win2k服务器,其端口881提供网络服务。
a.b.c.dàppp0:881à eth1à10.10.2.200:881 ;数据进来时的路线
10.10.2.200:881àeth1àppp0:881àa.b.c.d ;数据出去时的路线
iptbles脚本:
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 881 -j DNAT
--to-destination 10.10.2.200:881
;将881请求转发至10.10.2.00:881端口
iptables -t nat -A POSTROUTING -s 10.10.0.0/16 -d 10.10.2.200 -p
tcp -m tcp --dport 881 -j SNAT --to-source 10.10.1.1
;返回a.b.b.d时数据源来自同一子网,就将其源地址更改为10.10.1.1,从eth0发出,并在连接跟踪表中查出a.b.c.d是从ppp0进来的,又由ppp0将此数据发出。
当然不要忘了加一条允许881端口访问的语句。
iptables
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15453509/viewspace-441654/
,如需转载,请注明出处,否则将追究法律责任。