当前场景如下:
服务器A是双网卡,有一个内网IP和一个公网IP
内网IP: 10.0.10.30
外网IP: 58.68.255.123
服务器B只有内网网卡,内网IP:10.0.30.88,它可以和10.0.10.30通信。
现在的需求是客户机需要通过公网去ssh连接服务器B,由于服务器B没有公网IP,所以只能通过通过服务器A的iptables做端口转发。
打开linux内核的ip转发功能。
echo 1 > /proc/sys/net/ipv4/ip_forward(临时开启)
添加iptables规则。
iptables -A PREROUTING -p tcp -d 58.68.255.123 --dport 3911 -j DNAT --to-destination 10.0.30.88:3911
iptables -A POSTROUTING -p tcp -d 10.0.30.88 --dport 3911 -j SNAT --to-source 10.0.10.30
iptables -A FORWARD -d 10.0.30.88 -p tcp --dport 3911 -j ACCEPT
iptables -A FORWARD -s 10.0.30.88 -p tcp --sport 3911 -j ACCEPT
service iptables save
service iptables restart
转载于:https://blog.51cto.com/jack88/2396021