Last Updated on

前言

在阿里云中购买服务器,可以免费自建专有网络VPC,就可以将购买的服务器放在一个网段中,成为互通的内网,加快内网中服务器的访问速度。但是专有网络中不是每一台服务器都有公网IP和带宽的,在访问服务器时,我们可以通过nginx,负载均衡等来实现对内网服务器的访问。但反过来,内网服务器要访问外网,就需要有NAT网关,但是阿里云的NAT网关是需要额外花钱购买共享带宽的,也就是专有网络中的服务器可以用购买的共享带宽来上网。但是,这要钱啊!

在我们已经购买了公网IP和带宽的情况下,就可以利用现有的公网ip和带宽,在专有网络内,自建NAT网关,实现专有网络内所有服务器的上网。

注意:在阿里云的传统网络中,是不支持自建NAT网关的。只有在专有网络VPC中,才可以,但是VPC是免费创建的!免费! 很好,都不要钱。

下面我们就记录介绍一下如何在阿里云的的VPC中,自建NAT网关,实现上网。另外,别的云服务,方法类似,可以借鉴参考。

正文

首先,你需要有如下条件:

  • 一台带公网IP和带宽的阿里云ECS
  • 一个VPC专有网络,并上面有IP和带宽的ECS放入专有网络内

好了,下面进行自建NAT的步骤。

1. 添加路由条目

进入专有网络VPC中,进入路由表,进入路由表管理界面,选择添加路由条目

按如下配置新添加的路由条目,选择有公网IP和带宽的ECS实例作为下一跳。

OK,阿里云控制台上只做这一个设置即可。

2. 配置服务器

下面进入你刚才作为下一跳的ECS实例,按照如下进行操作配置

# 开启firewalld防火墙,默认是关闭的。
$ systemctl enable firewalld
$ systemctl start firewalld

# 网卡默认是在public的zone内,也是默认zone。永久添加源地址转换功能
$ firewall-cmd --add-masquerade --permanent
$ firewall-cmd --reload
 
# 添加网卡的ip转发功能,添加如下配置到文件最后
$ vim /etc/sysctl.conf
----------------------------------------------------------------
net.ipv4.ip_forward=1
----------------------------------------------------------------
  
# 重载网络配置生效
$ sysctl -p

OK,到此,自建NAT网关成功,实现了内网主机通过这台机进行上网,而反向的访问,就可以使用nginx的反向代理进行实现,nginx相关文章可查看:本站的nginx的标签

结束

OK,就是这么简单的实现了自建NAT,就不用买阿里云的收费产品了。

有任何问题,欢迎留言