双网卡iptables端口转发

当前场景如下:

服务器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做端口转发。

  1. 打开linux内核的ip转发功能。

    echo 1 > /proc/sys/net/ipv4/ip_forward(临时开启)

  2. 添加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

猜你喜欢

转载自blog.51cto.com/jack88/2396021