前言
在阿里云中购买服务器,可以免费自建专有网络VPC,就可以将购买的服务器放在一个网段中,成为互通的内网,加快内网中服务器的访问速度。但是专有网络中不是每一台服务器都有公网IP和带宽的,在访问服务器时,我们可以通过nginx,负载均衡等来实现对内网服务器的访问。但反过来,内网服务器要访问外网,就需要有NAT网关,但是阿里云的NAT网关是需要额外花钱购买共享带宽的,也就是专有网络中的服务器可以用购买的共享带宽来上网。但是,这要钱啊!
在我们已经购买了公网IP和带宽的情况下,就可以利用现有的公网ip和带宽,在专有网络内,自建NAT网关,实现专有网络内所有服务器的上网。
注意:在阿里云的传统网络中,是不支持自建NAT网关的。只有在专有网络VPC中,才可以,但是VPC是免费创建的!免费! 很好,都不要钱。
下面我们就记录介绍一下如何在阿里云的的VPC中,自建NAT网关,实现上网。另外,别的云服务,方法类似,可以借鉴参考。
准备
- 一台带公网IP和带宽的阿里云ECS
- 一个VPC专有网络,并上面有IP和带宽的ECS放入专有网络内
添加路由条目
进入专有网络VPC中,进入路由表,进入路由表管理界面,选择添加路由条目
按如下配置新添加的路由条目,选择有公网IP和带宽的ECS实例作为下一跳。
配置服务器
下面进入你刚才作为下一跳的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
注:在配置SNAT过程中,我们使用了
firewall
,这玩意儿就是防火墙,所以大家一定一定记得要配置好端口放行规则,别好好的服务全被防火墙给干了!!!!
常用
firewall
命令【只有firewall
处于运行状态才可以使用firewall-cmd
命令】
# 查看所有打开的端口:
firewall-cmd --zone=public --list-ports
# 添加一个放行端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
# 删除一个放行端口:
firewall-cmd --zone=public --remove-port=80/tcp --permanent
# 设置端口映射
firewall-cmd --add-forward-port=port=4650:proto=tcp:toaddr=203.205.128.15:toport=465 --permanent
# 重载配置:
firewall-cmd --reload
本文由 陌上花开 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Mar 12, 2020 at 10:53 pm