灵活配置iptables,通过跳板机访问指定服务器。
当你访问跳板机的指定端口时,iptalbes会自动将流量转发到目标机器的指定端口。

#hostA  你的跳板机IP 
#portA  你的跳板机端口(访问此端口的数据会被转发到hostB:portB) 
#hostB  转发到该目标服务器 
#portB  转发到该目标服务器指定端口 


关键命令

iptables -t nat -A PREROUTING -p tcp -m tcp --dport {portA} -j DNAT --to-destination {hostB}:{portB}
iptables -t nat -A POSTROUTING -d {hostB}/32 -p tcp -m tcp --dport {portB} -j SNAT --to-source {hostA} 

场景A
场景A
终端无法访问目标主机,或网络拥堵时,通过跳板主机来访问目标主机。

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 1111 -j DNAT --to-destination 2.2.2.2:2222
iptables -t nat -A POSTROUTING -d 2.2.2.2/32 -p tcp -m tcp --dport 2222 -j SNAT --to-source 1.1.1.1 

场景B

场景B

目标主机为NAT设备后的终端,NAT设备使用VPN接入跳板主机,通过跳板主机的1111端口访问目标主机的80端口,注意在VPN服务器添加内网的路由。

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 1111 -j DNAT --to-destination 192.168.100.10:80
iptables -t nat -A POSTROUTING -d 192.168.100.10/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 172.16.1.254