1 、本地端口轉發
将外網通路本地的4444端口的流量轉發到本地的22端口:
iptables -t nat -A PREROUTING -p tcp --dport 4444 -j REDIRECT --to-ports 22
删除規則用-D參數:iptables -t nat -D PREROUTING -p tcp --dport 4444 -j REDIRECT --to-ports 22
将本地通路本地的4444端口的流量轉發到本地的22端口:
iptables -t nat -A OUTPUT -p tcp --dport 4444 -j REDIRECT --to-ports 22
2、分流
通過PREROUTING鍊,将172.16.250.1網段通路4444端口的包轉發到本機22端口,其他網段則正常通路4444端口,MASQUERADE類似于SNAT,隻是不用寫源位址。
iptables -t nat -A PREROUTING --source 172.16.250.1 -p tcp --dport 4444 -j DNAT --to-destination 172.16.250.3:22
iptables -t nat -A POSTROUTING -p TCP -j MASQUERADE
iptables -t nat -A POSTROUTING --dst 172.16.250.3 -p tcp --dport 22 -j MASQUERADE
3、遠端端口轉發
同樣也需要改配置檔案,使iptables允許ipv4轉發
假如我們想使用192.168.171.139:5555去通路192.168.171.1:9999端口,那麼需要在192.168.171.139的機器上執行下面的指令:
iiptables -F -t nat
iptables -t nat -A PREROUTING --dst 192.168.171.139 -p tcp --dport 5555 -j DNAT --to-destination 192.168.171.1:9999
iptables -t nat -A POSTROUTING --dst 192.168.171.1 -p tcp --dport 9999 -j SNAT --to-source 192.168.171.139
iptables -t nat -nL --line #檢視已有規則
iptables -t nat -D PREROUTING 2
iptables -F -t nat #删除所有規則
參考文章