一共三个步骤:
第一步:开启ECS的ip转发功能
这步只在有公网的ECS上操作:
vi /etc/sysctl.conf
找到 net.ipv4.ip_forward = 1 这一条,确保后面的值为1就行,如果没有这一条,手动加进去。

保存退出,然后使用 sysctl -p 命令使上面的修改生效。

第二步:设置VPC路由条目
这一部需要在阿里云控制台操作,添加一条VPC的路由条目
在VPC的路由表中,添加如下一条路由条目。
其中目标网段一定要填0.0.0.0/0
ECS实例选择有公网IP的那个实例。

第三步:设置iptables 的NAT转发规则,在有公网的服务器上
1、设置SNAT规则
就一条命令搞定,别直接复制啊,需要根据你的实际情况改一下IP地址:
iptables -t nat -I POSTROUTING -s 172.16.0.0/16 -j SNAT --to-source 172.16.107.49
可以这样理解 iptables -t nat -I POSTROUTING -s VPC的IP段 -j SNAT --to-source 有公网IP的ECS内网IP
回车执行后要永久生效,还需要保存在iptables配置文件中:
service iptables save
如果使用vi /etc/sysconfig/iptables命令查看iptables配置文件,就会发现多了一条nat表的snat转发规则:

然后重启iptables使规则生效:
/etc/init.d/iptables restart
现在没有内网的ECS就可以访问公网了。
版权声明:本文为kongdeqian1988原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。