使用iptables進行端口重定向,方法如下:
在機器A上操作:
#iptables -t nat -A PREROUTING -d 192.168.203.173 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.203.235
#iptables -t nat -A POSTROUTING -d 192.168.203.235 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.203.173
這兩台策略會將目的地址為機器B,目的端口為80的請求重定向到機器B上
#service iptables save
#service iptables start
這樣有一個問題,就是在機器B上看到的請求都來自機器A,不過可以使用透明模式,使機器B上看到真實的源地址:
#iptables -t nat -A PREROUTING -d 192.168.203.173 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.203.235
#iptables -t nat -A POSTROUTING -d 192.168.203.235 -p tcp --dport 80 -j MASQUERADE
上面兩行策略就可以實現透明模式的端口轉發了。