本文为您展示如何自建SNAT服务器,实现多台服务器通过一台指定的云服务器访问公网。
某企业自建一台SNAT服务器,使所有的未绑定公网IP的云服务器通过该云服务器访问公网。
说明
除了自建SNAT服务器外,您也可以使用公网NAT网关,公网NAT网关具有跨可用区容灾、可视化、便于管理等等优势,更多详情请参见 什么是公网NAT网关 。
已创建一个VPC,并为其创建两个子网,每个子网中分别创建一台Linux系统的云服务器,VPC、子网和云服务器的信息与上图保持一致。
说明
请勿为ECS-A的主网卡开启源/目的地址检查,若开启,则其无法为ECS-B转发流量。更多详情请参考 配置源/目的地址检查 。
vi /etc/sysctl.conf
i
键进入编辑模式,新增以下内容,开启IP转发功能。net.ipv4.ip_forward = 1
esc
键退出编辑模式,然后按:wq
保存修改并退出。sysctl -p /etc/sysctl.conf
vi /etc/rc.local
i
键进入编辑模式,新增以下内容,配置SNAT规则。iptables -t nat -A POSTROUTING -o <网卡接口> -s <SNAT规则的网段> -j SNAT --to <SNAT服务器的主私网IP>
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.2.0/24 -j SNAT --to 192.168.1.11
esc
键退出编辑模式,然后按:wq
保存修改并退出。chmod +x /etc/rc.local
reboot
命令,重启云服务器。iptables -t nat --list
ping 8.8.8.8