阿里云服务器内网实例无法访问外部网络解决方法

文章介绍了如何在成本和安全考虑下,为没有公网IP的内网服务器配置VPC专有网络NAT网关,通过SNAT和DNAT规则,利用有公网IP的ECS进行数据转发,实现内网服务器访问外网的功能。操作步骤包括开启ECS的IP转发,设置iptables的NAT转发规则,以及在阿里云控制台配置路由表。
摘要由CSDN通过智能技术生成

国内公有云的宽带真的很贵,也许是受限于三大商的卡脖子。

总之在多数企业服务器集群不可能为每个服务器都开通外网IP、带宽这类的,一方面是成本,还有的是为了安全等因素。

但是往往有时候一个纯内网的服务器想要部署服务或者有其他需要和互联网连接的时候,就要解决这个问题了。

参考内容:三步搭建VPC专有网络NAT网关,配置SNAT和DNAT规则-阿里云开发者社区 (aliyun.com)

实现无公网IP的实例也能够访问外网

第一步:开启ECS的ip转发功能

这步只在有公网的ECS上操作:

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf

sysctl -p 
应用一下

第二步:设置iptables 的NAT转发规则

1、设置SNAT规则

就一条命令搞定,别直接复制啊,需要根据你的实际情况改一下IP地址:

iptables -t nat -I POSTROUTING -s 172.16.0.0/16 -j SNAT --to-source 172.16.128.171

可以这样理解 iptables -t nat -I POSTROUTING -s VPC的IP段 -j SNAT --to-source 有公网IP的ECS内网IP

回车执行后要永久生效,还需要保存在iptables配置文件中:

service iptables save #这里没做

查看下我们添加的规则

 iptables -L -n -t nat
 Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       all  --  172.16.0.0/16        0.0.0.0/0            to:172.16.128.171

第三步:配置阿里云控制台

这一步也是我在部署中最迷惑的。

首先我是根据上面连接一步步操作,但是在进行到 路由表条目添加下一跳时 死活找到不ECS实例。

完全没有可选项。不能理解,找到阿里人工,分析半天也没解决,最后我在交换机功能栏里添加的,直接解决这个困惑。

2023年5月6日

找到专有网络 交换机

路由管理

添加路由条目

然后起个名字,添加即可

和我图中记得保持一致基本就搞定了。

第四步:测试结果

连接到内网服务器上

ping个网站瞧瞧

end

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值