阿里云VPC网络内网实例通过SNAT连接外网

场景:#

1、有多个ECS实例,其中A实例有公网IP,可以上外网
其它实例没有公网IP,不能上外网
2、所有实例在一个交换机,也就是一个网络(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---->确定

测试#

在实例B直接测试,到此已可以直接连接外网

重启后依旧生效#

1、保存规则

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

2、重启后手动导入规则

sudo iptables-restore < /opt/iptables.rules
posted @   亚里士多智  阅读(414)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示
主题色彩