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) |