Linux下Iptables端口转发功能的解决

运维 系统运维
Linux下Iptables端口转发功能的解决:iptables的端口转发功能该如何实现?本文基于一个实例,讲述了如何在Linux下实现Iptables端口转发功能的问题。

  LinuxIptables端口转发功能的解决:

  先从一个实例说:有一企业就一个服务器软件做测试。基于win2k的,端口号为881,服务器直接连接外部网络,客户端通过服器ip来访问。排除Windows,如果是使用Linux,那么该如何解决iptables端口转发的问题。经过资料的查阅,iptables的端口转发功能是可以解决的,以下是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提供网络服务。

  iptbles脚本:

  1. iptables -t nat -A PREROUTING -p tcp -m tcp --dport 881 -j DNAT --to-destination 10.10.2.200:881  
  2.  

  将881请求发至10.10.2.00:881端口

  1.   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  
  2.  

  10.10.1.1 ;返回a.b.b.d时数据源来自同一子网,就将其源地址更改为10.10.1.1,从eth0发出,并在连接跟踪表中查出a.b.c.d

  从ppp0进来的,又由ppp0将此数据发出。

  当然不要忘了加一条允许881端口访问的语句。

  1.   iptables –A INPUT –p tcp –dport 881 –i ppp0 –j ACCEPT  
  2.  

  可不可把服务器放在局域内,用端口转发来实现呢?答案当然是肯定的,既然能把881端口转发,那么21,80这些个端口更不在话,并且很多服务器软件都可以自定义端口,那就在得玩了,只要有合适的端口,即使给局域网每一个用户开一个ftp服务器也是可的。你想要实现什么服务都可以,当然是基于端口转发的。

  局域网内10.10.2.101是win2k,提供www服务,端口为800。通过服务器http://serverip:800 进行访问。

  1.   iptables -t nat -A PREROUTING -p tcp -m tcp --dport 800 -j DNAT --to-destination 10.10.2.101:800  
  2.  
  3.   iptables -t nat -A POSTROUTING -s 10.10.0.0/16 -d 10.10.2.101 -p tcp -m tcp --dport 800 -j SNAT --to-source  
  4.  
  5.   10.10.1.1  
  6.  
  7.   iptables –A INPUT –p tcp –dport 800 –i ppp0 –j ACCEPT  
  8.  

  由于是基于端口转发实现的,所以服务器上只需装个iptables来转发数据就行了,一切服务由内部服务器完成,这样的话,linux服务器才真正的算是个防火墙,Linux下Iptables端口转发功能也就实现了。

【编辑推荐】

四种NAT的iptables实现

iptables中nat表

iptables常用命令

责任编辑:zhaolei 来源: netren
相关推荐

2011-03-17 14:26:45

iptables 端口

2011-03-16 12:55:00

iptables 端口

2020-08-25 08:53:02

Linux端口转发

2011-03-16 09:53:25

2021-10-19 11:23:02

Linux端口随机

2019-06-03 15:52:21

WindowsLinux端口

2011-03-18 08:52:23

Iptables

2009-11-30 09:56:16

2011-03-14 16:46:40

Linuxiptables上网

2011-03-16 09:05:33

2011-03-16 13:29:33

iptables 端口

2011-03-16 16:54:10

iptables 清空linux

2011-03-15 15:47:26

LinuxIptables防火墙

2022-03-31 10:42:04

端口转发Linux

2017-03-08 16:05:19

Linux文件输入输出

2011-04-21 09:54:14

Linuxiptables

2011-03-18 10:16:13

LinuxiptablesIP

2011-03-16 13:09:10

iptables 端口

2015-07-14 10:13:29

2011-03-17 09:35:35

iptables 映射Linux内核
点赞
收藏

51CTO技术栈公众号