阿里雲VPC網絡內網實例經過SNAT鏈接外網

場景:

一、有多個ECS實例,其中A實例有公網IP,能夠上外網
其它實例沒有公網IP,不能上外網
二、全部實例在一個交換機,也就是一個網絡(172.16.0.0/16)網絡

實例 內網IP 外網IP
A 172.16.117.22 120.27.240.92
B 172.16.117.23

目的:

實現實例B能夠經過實例A上外網測試

如下全部操做都是在實例A操做;最後添加路由條目是在阿里雲控制檯。(須要上網的實例,不用作任何操做)阿里雲

修改內核參數,開啓轉發功能

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf && sysctl -p
查看是否生效,若是值是1,表示已開啓轉發
cat /proc/sys/net/ipv4/ip_forward

配置iptables

iptables -t nat -I POSTROUTING -s 172.16.117.0/24 -j SNAT --to-source 172.16.117.22

查看是否添加成功

iptables -L -n -t nat

在阿里雲後臺的vpc添加路由

點擊專有網絡VPC---->路由表---->選擇所屬專有網絡(172.16.0.0/16)所在路由實例,點擊管理---->添加路由條目---->目標網端:0.0.0.0/0 ---->下一跳:ESC實例,資源組:所有,ESC實例:選實例A的實例ID---->肯定3d

測試

在實例B直接測試,到此已能夠直接鏈接外網rest

重啓後依舊生效

一、保存規則code

sudo chmod a+w -R /opt
sudo iptables-save > /opt/iptables.rules

二、重啓後手動導入規則blog

sudo iptables-restore < /opt/iptables.rules
相關文章
相關標籤/搜索