自建阿里云VPC NAT网关, 实现访问外网 (CentOS 7 / Alibaba Cloud Linux 2 + firewalld)
阿里云VPC中, 没有公网IP的服务器是无法访问外网的
然而很多时候, 比如自动签发SSL证书, 是需要访问外网的, 这个时候我们可以选择使用阿里云的SNAT
但问题是: SNAT 对于不怎么访问外网的我来说太贵了, 而最便宜的突发 ECS 只要几十块
网络上的大部分教程都是使用 iptables 的, 然而在 Alibaba Cloud Linux / Centos 7 中, iptables 已被弃用
配置 firewalld
连接至可以访问外网的服务器
# 开启firewalld防火墙,默认是关闭的。 $ systemctl enable firewalld $ systemctl start firewalld # 网卡默认是在public的zone内,也是默认zone。永久添加源地址转换功能 $ firewall-cmd --add-masquerade --permanent $ firewall-cmd --reload # 添加网卡的ip转发功能,添加如下配置到文件最后 $ vi /etc/sysctl.conf ---------------------------------------------------------------- net.ipv4.ip_forward=1 ---------------------------------------------------------------- # 重载网络配置生效 $ sysctl -p
添加路由表
打开阿里云 VPC
添加路由条目
测试
配置前
配置后
参考文章:
https://amos-x.com/index.php/amos/archives/centos7-aliyun-nat/