iptables实现端口转发

Linux下iptables不仅可以用来做防火墙还可以用来做端口转发

示例:

将本机的8080端口转发至其他主机,主机IP:192.168.1.12,目标主机IP和端口:192.168.1.13:8088,规则如下

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.1.13:8088
iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 8088 -j SNAT --to-source 192.168.1.12
echo 1 > /proc/sys/net/ipv4/ip_forward #开启iptables forward转发功能。

tcp范围端口映射

iptables -t nat -A PREROUTING -p tcp --dport 2000:2500 -j DNAT --to 192.168.66.2:2000-2500

远程转发

iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp --sport 80 -j ACCEPT
#把访问192.168.0.12的80端口转发到192.168.0.13的80端口
iptables -t nat -A PREROUTING -p tcp -i eth0 -d 192.168.0.12 --dport 80 -j DNAT --to-destination 192.168.0.13:80
#配置地址伪装 
iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 80 -j MASQUERADE

本地转发

#访问本机的8080端口转发到本地的80端口
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-ports 80

清空转发规则(nat表)

iptables -F -t nat

你可能感兴趣的:(iptables实现端口转发)