三步搭建VPC专有网络NAT网关,配置SNAT和DNAT规则(补充版)

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 申明:该文档参考于用户 “帅宝宝”的文档进行的优化,新增永久生效的方式

本文档以Centos7进行测试,配置NAT的ECS与需要访问外网的ECS 都是 Centos7。


第一步:开启ECS的ip转发功能(与原文档一致)

注:这一步只在有公网IP的ECS上进行操作


1.配置 sysctl.conf 文件

vi /etc/sysctl.conf


找到 net.ipv4.ip_forward = 1 这一条,确保后面的值为1就行,如果没有这一条,手动加进去。

image.png

保存退出,然后使用 sysctl -p 命令使上面的修改生效。


第二步:设置VPC路由条目

这一部需要在阿里云控制台操作,添加一条VPC的路由条目

详参官方文档:https://help.aliyun.com/zh/vpc/user-guide/create-and-manage-route-table

需要注意的是,路由表的绑定是以交换机为粒度的,绑定之前确定该交换机下的其他ECS不受路由表更替的影响。

image.png

其中目标网段一定要填0.0.0.0/0

ECS实例选择有公网IP的那个实例。


第三步:设置iptables 的NAT转发规则

注意:在 CentOS 系统中,保存 iptables 规则的方法取决于你使用的是 CentOS 的哪个版本。对于 CentOS 6 或更早版本,它们使用的是传统的 iptables 服务。而 CentOS 7 默认使用的是 firewalld,但你仍然可以安装 iptables-services 来管理 iptables 规则。

下面我会提供两个版本的保存方法:

CentOS 6 或更早版本:

1.应用你的 iptables 规则:

iptables -t nat -I POSTROUTING -s 192.168.2.0/24 -j SNAT --to-source 192.168.1.1

可以这样理解 iptables -t nat -I POSTROUTING -s VPC的IP段 -j SNAT --to-source 有公网IP的ECS内网IP

2.回车执行后要永久生效,还需要保存在iptables配置文件中:

service iptables save

这将保存当前的 iptables 规则集到 /etc/sysconfig/iptables 文件。这些规则将在系统启动时自动加载。


CentOS 7 或更高版本:

1.安装 iptables-services

yum install iptables-services

2.应用 iptables 规则

iptables -t nat -I POSTROUTING -s 192.168.2.0/24 -j SNAT --to-source 192.168.1.1

3.保存规则

sudo service iptables save

4.查看规则

iptables -t nat -L  POSTROUTING -n -v

5.服务加入开机启动项

sudo systemctl enable iptables

sudo systemctl start iptables


至此,配置完成。其他 DNAT 等配置参考原文即可。

https://developer.aliyun.com/article/607330


建议:

由于自建NAT受限于 ECS的性能,建议如果长期稳定使用 NAT 时可以参考阿里云产品 公网NAT网关,支持功能更多,也更加稳定。详参:

https://help.aliyun.com/zh/nat-gateway/user-guide/enhanced-nat-gateways



相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
安全 网络安全 网络架构
计算机网络地址转换(NAT)
网络地址转换(NAT)允许多个主机共享一个或一组公共IP地址,同时保护内部网络的隐私和安全。NAT通常由路由器或防火墙设备执行,它充当内部网络和外部网络之间的中间人,将内部主机的私有IP地址映射到一个或多个公共IP地址上。
21 0
|
15天前
|
Python 数据可视化 索引
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
25 0
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
|
15天前
|
机器学习/深度学习 算法 数据可视化
用SPSS Modeler的Web复杂网络对所有腧穴进行关联规则分析3
用SPSS Modeler的Web复杂网络对所有腧穴进行关联规则分析3
18 0
用SPSS Modeler的Web复杂网络对所有腧穴进行关联规则分析3
|
1月前
|
网络协议 开发工具 Docker
iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9999 -j DNAT --to-destination 172.17.0.2:80 !
iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9999 -j DNAT --to-destination 172.17.0.2:80 !
17 1
|
2月前
|
NoSQL 网络协议 架构师
|
2月前
|
网络协议 网络安全 网络虚拟化
网络技术基础(13)——NAT网络地址转换
【3月更文挑战第2天】网络基础笔记(加班了几天,中途耽搁了,预计推迟6天),这篇借鉴了之前师兄的笔记,边听边记笔记实在是太慢了。
|
3月前
|
域名解析 缓存 网络协议
|
3月前
|
Ubuntu 虚拟化
Vmware Nat网络配置
Vmware Nat网络配置
20 0
|
2月前
|
运维 网络协议 安全
长连接网关技术专题(十):百度基于Go的千万级统一长连接服务架构实践
本文将介绍百度基于golang实现的统一长连接服务,从统一长连接功能实现和性能优化等角度,描述了其在设计、开发和维护过程中面临的问题和挑战,并重点介绍了解决相关问题和挑战的方案和实践经验。
86 1
|
6月前
|
负载均衡 应用服务中间件 API
微服务技术系列教程(25) - SpringCloud- 接口网关服务Zuul
微服务技术系列教程(25) - SpringCloud- 接口网关服务Zuul
59 0