> CentOS > CentOS入门 >

CentOS服务器iptables端口转发

iptables是一个很强大的防火墙,端口转发只是其中一个很小的功能,今天搞的时候,遇到了些小问题。命令什么的都是正常的,但是忘记把客户端的网关指向iptables的机器了,所以导致转发失败。再次总结一下这个小功能,记录一下。

做端口转发需要做的三件事情

1、需要开启ip_forward

2、需要把客户端的网关指向iptables

3、配置iptables策略即可

开户路由转发

1       
        # echo 1 > /proc/sys/net/ipv4/ip_forward
      
上面这样做只是临时的生效,机器重启之后就没用了。为了让机器重启也生效,可以修改一下sysctl文件

12       
        # vi /etc/sysctl.conf
      
        net.ipv4.ip_forward = 1
      
客户端网送指向iptables这台机器,过程省略

配置iptables策略,需要在nat表里的PREROUTING和POSTROUTING两个链里面都添加一条策略,一条用于客户端请求到达目的主机,一条用于目的主机返回数据给客户端

12       
        # iptables -t nat -A PREROUTING -p tcp --dport 2201 -j DNAT --to-destination 10.6.1.114:22
      
        # iptables -t nat -A POSTROUTING -p tcp -s 10.6.1.114 --sport 22 -j SNAT --to-source 42.162.6.44:2201
      
做完以上之后,使用客户端连接42.162.6.44的2201端口,实际上就是连接10.6.1.114的22端口。这个也可以做windows的3389端口转发,只需要改一下端口和客户端IP即可。

(责任编辑:IT)