两个ecs, A和B, 一个有公有ip和私有ip(A)。另一个只有私有ip(B)。配置在vpc专有网络。需要通过A让B也能上网。
A: 172.100.80.1(私有) 113.10.105.9(公有)
B: 172.100.80.2(私有)
在vpc添加路由,目标网段0.0.0.0/0
, 下一跳选择ecs实例A。
在A实例配置iptables的snat规则。
iptables -t nat -A POSTROUTING -s 172.100.0.0/16 -o eth0 -j MASQUERADE
iptables -A FORWARD -d 172.100.0.0/16 -j ACCEPT
iptables -A FORWARD -s 172.100.0.0/16 -j ACCEPT
B实例就可以上网了。
curl www.baidu.com
在A抓访问80端的流量。
tcpdump -i eth0 port 80
将外网端口映射到内网。 vim /etc/sysconfig/iptables
-A PREROUTING -i eth0 -d 172.100.80.1 -p tcp --dport 80 -j DNAT --to-destination 172.100.80.2:80
重启iptables服务。
service iptables restart