问题描述
同一VPC的两台ECS实例,即A实例和B实例,A实例有公网地址,B实例没有公网地址。在A实例上配置好SNAT规则,且在B实例上将路由指向A实例后,B实例还是无法访问公网。
解决方案
•如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
•如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
•如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
开启ipv4转发
注:如果表链的默认规则改成了drop,还需要执行以下命令。默认accept的情况,不需要执行此命令。
安装iptables防火墙
配置iptables防火墙 规则
开放所有端口
注:iptables 查询删除
配置snat
前面172.36.20.12/13是ecsB/C的子网, 172.36.20.11是有公网的ecsA的子网
也可以写成网段
阿里云控制台添加vpc路由
以上便是阿里云服务器自建SNAT的教程,现在没有内网的ECS就可以访问公网了。