iptables端口转发
TCP协议
将3389端口TCP协议的数据转发到172.17.0.80:3389
//DNAT
//-d 15.45.23.67 源地址的IP 可不写 默认所有
iptables -t nat -A PREROUTING -p tcp -d 15.45.23.67 --dport 3389 -j DNAT --to-destination 172.17.0.80:3389
//SNAT
//请注意! 使用 POSTROUTING 将会丢失源地址 使所有的源地址都像来自防火墙
1.第一种SNAT写法
iptables -t nat -A POSTROUTING -p tcp -d 10.1.1.1 --dport 3306 -j MASQUERADE
2.第二种SNAT写法
iptables -t nat -A POSTROUTING -p tcp -d 10.1.1.1 --dport 3389 -j SNAT --to-source 172.17.0.1
UDP协议
将13000:13198端口UDP协议的数据转发到172.17.0.80:13000:13198
//DNAT
iptables -t nat -A PREROUTING -p udp --dport 13000:13198 -j DNAT --to-destination 172.17.0.80
//SNAT
//请注意! 使用 POSTROUTING 将会丢失源地址 使所有的源地址都像来自防火墙
iptables -t nat -A POSTROUTING -p udp --dport 13000:13198 -j SNAT --to-source 172.17.0.1
NAT上网
- 开启转发
vim /etc/sysctl.conf
#添加下面规则
net.ipv4.ip_forward = 1
#立即生效
sysctl -p
- NAT
iptables -I FORWARD -s 172.19.0.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 172.19.0.0/24 -j MASQUERADE
参考地址
https://www.linuxtopia.org/Linux_Firewall_iptables/x4013.html
https://blog.51cto.com/alsww/826786