准备环境
VPC网段: 192.168.0.0/16
NAT服务器的IP:8.136.4.180(弹性)、192.168.7.105(私有
测试连接外网服务器的IP:192.168.7.104
路由表配置NAT路由
目标网段:0.0.0.0/0
ECS实例:配置NAT网关的服务器
开启防火墙
防火墙常用指令:
启动:systemctl start firewalld
停止:systemctl stop firewalld
重启:systemctl restart firewalld
查状态:systemctl status firewalld
查看运行状态:firewall-cmd --state //running 表示运行
设置开机自启:systemctl enable firewalld.service
允许数据包转发
网卡默认是在public的zone内,也是默认zone。永久添加源地址转换功能,首先开启IP转发功能,默认是关闭的。
临时修改:
echo 1 >/proc/sys/net/ipv4/ip_forward
修改过后就马上生效,但如果系统重启后则又恢复为默认值0。
永久修改:
# 找到下面的值并将net.ipv4.ip_forward = 0改成1,如果没有直接加这一行
vi /etc/sysctl.conf
# sysctl -p(使之立即生效)
net.ipv4.ip_forward = 1
或则直接指令追加
开启转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
默认值0
是禁止ip转发,修改为1
即开启ip转发功能。
配置SNAT
就一条命令搞定,别直接复制啊,需要根据你的实际情况改一下IP地址:
firewall-cmd --zone=public --permanent --add-mas
firewall-cmd --zone=public --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -s 192.168.0.0/16 -j SNAT --to-source 192.168.7.105
systemctl restart firewalld
结果测试
远程登陆:192.168.7.104 没有公网IP的服务器,测试是可以连接外网的,说明SNAT配置成功了。