阿里云服务器自建SNAT
阿里云服务器自建SNAT
环境
阿里云ecs服务器 A 专有网络(vpc) 172.36.20.11(子网) 221.216.143.131 (公网)
阿里云ecs服务器 B 专有网络(vpc) 172.36.20.12(子网)
阿里云ecs服务器 C 专有网络(vpc) 172.36.20.13(子网)
目的及解决方案
环境如上,服务器A有公网地址, 可以上外网,但是B C 不能上外网
现想让BC服务器也能上外网, 可通过自建snat实现。
配置
- 开启ipv4转发
sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.con
sysctl –p #使IP转发生效。
注:如果表链的默认规则改成了drop,还需要执行以下命令。默认accept的情况,不需要执行此命令。
iptables -I FORWARD -s 172.36.20.0/24 -j ACCEPT
- 安装iptables防火墙
yum -y install iptables-services
systemctl start iptables #启动服务
systemctl enable iptables #开机自启
systemctl is-enabled iptables #查看开机自启状态
- 配置iptables防火墙 规则
开放所有端口
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
注:iptables 查询删除
iptables -L -n -t nat #-t 指定nat 查看规则
iptables -F #清空规则
service iptables save #保存规则
iptables -t nat -D POSTROUTING 1 #删除nat表,第一条规则
配置snat
前面172.36.20.12/13是ecsB/C的子网, 172.36.20.11是有公网的ecsA的子网
iptables -t nat -I POSTROUTING -s 172.36.20.12 -j SNAT --to-source 172.36.20.11
iptables -t nat -I POSTROUTING -s 172.36.20.13 -j SNAT --to-source 172.36.20.11
也可以写成网段
iptables -t nat -I POSTROUTING -s 172.36.20.0/24 -j SNAT --to-source 172.36.20.11
-
阿里云控制台添加vpc路由
完成!!! 测试!!!