三步搭建VPC专有网络NAT网关,配置SNAT和DNAT规则

简介: 自建NAT网关配置SNAT和DNAT转发规则

搭建NAT网关就是为了实现在相同VPC内,没有公网IP的ECS借助有公网的ECS访问外网,或者是外网通过端口映射访问到内网服务器。

SNAT:实现没有公网IP的ECS实例借助有公网的ECS访问外网,但是外网无法访问到内网IP;

DNAT:实现外网通过端口映射访问到内网服务器,但是不能实现内网ECS访问到外网。


一共三个步骤:


第一步:开启ECS的ip转发功能


这步只在有公网的ECS上操作:


vi /etc/sysctl.conf

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


697c983cf08a99f21a04bbb74bb40608e7e09acb


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

fd431fe987f4d1f303c83716f1190942f33f0f3a


第二步:设置VPC路由条目


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

找不到在哪的可以参考视频教程https://help.aliyun.com/video_detail/54653.html

在VPC的路由表中,添加如下一条路由条目。

5883cab1fee276485c56cd343d14c40e14b8a819

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

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


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


1、设置SNAT规则


就一条命令搞定,别直接复制啊,需要根据你的实际情况改一下IP地址:


iptables -t nat -I POSTROUTING -s 172.16.0.0/16 -j SNAT --to-source 172.16.107.49

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

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


service iptables save


如果使用vi /etc/sysconfig/iptables命令查看iptables配置文件,就会发现多了一条nat表的snat转发规则:


5d3d6c2fa0c6dd70d0503b055bf0adcfc0026154

然后重启iptables使规则生效:


systemctl restart iptables.service



现在没有内网的ECS就可以访问公网了。


2、设置DNAT规则

DNAT需要两条命令:

同样不要照搬复制,需要根据你的实际情况修改下IP


iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to 172.16.93.38
iptables -t nat -I POSTROUTING -p tcp --dport 80 -j MASQUERADE

可以这样理解:

iptables -t nat -I PREROUTING -p tcp --dport 有公网IP的ECS端口号 -j DNAT --to 目标内网ECS的内网IP

iptables -t nat -I POSTROUTING -p tcp --dport 有公网IP的ECS端口号 -j MASQUERADE


比如上面的示例中,是把有公网IP的ECS 80端口映射到了172.16.93.38这个内网实例的80端口。


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


service iptables save

同样的,如果使用vi /etc/sysconfig/iptables命令查看iptables配置文件,就会发现多了两条nat表的dnat转发规则:

134a528b2498f19649be73759e665a323a83607e


前后端口映射不一致怎么办?简单啊,在/etc/sysconfig/iptables内的目标IP后面直接加特定的端口号就行


ea43d78175c870d40dbf4c1709a51dc73e5b888f


也是同样的,最后重启iptables使规则生效:


systemctl restart iptables.service



测试正常。

如果不生效,请检查是否是同一VPC内,iptables规则是否有冲突。如果ECS内安装了docker,docker自带的nat转发规则会有影响,需要合理的网段规划和路由规划。


DONE!

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7月前
|
安全 网络安全 网络虚拟化
配置总部采用冗余网关与分支建立IPSec隧道示例
本文介绍了企业总部与分支间通过公网通信的组网需求及配置思路。为提高可靠性,分支网关AR5可接入两台总部网关(AR2和AR3),并建立IPSec隧道保障通信安全。配置步骤包括:1) 配置接口IP地址与静态路由;2) 定义ACL保护数据流;3) 创建IPSec安全提议;4) 配置IKE对等体;5) 创建安全策略;6) 在接口应用安全策略组。最终通过ping测试与查看隧道状态验证配置结果,确保流量安全传输。
配置总部采用冗余网关与分支建立IPSec隧道示例
|
7月前
|
数据采集 人工智能 BI
MyEMS能源管理系统后台配置-网关管理
MyEMS开源能源管理系统支持建筑、工厂等场景的电、水、气数据采集与分析,具备光伏、储能、充电桩等扩展功能。本文介绍系统后台配置中的网关管理模块,包括查看、添加、编辑、删除、导入、导出及克隆网关的操作步骤,帮助用户高效管理能源数据采集设备。
133 0
|
6月前
|
数据采集 人工智能 监控
MyEMS 开源能源管理系统后台配置指南 —— 网关管理模块详解
开源能源管控系统面向建筑、工厂等场景的开源能源管理系统,支持电、水、气等数据采集与智能分析,并提供光伏监控、储能管理等功能模块。系统具备完善的网关管理功能,包括网关查看、添加、编辑、删除及批量操作,助力用户高效实现全链路能源管理。
269 1
|
11月前
|
监控 物联网
工业智能网关实现北向自定义报文配置流程
北向接口是设备连接物联网云平台的接口,允许云平台统一监管各厂商设备的运行与报警状态。为解决不同公司报文格式差异导致的数据解析问题,工业智能网关支持北向自定义报文功能,用户可配置不同的报文格式,确保数据准确传输。配置流程包括网关中心、IOT数据云平台和配置工具的设置,最终通过日志或MQTTfx验证上报情况。
308 4
|
弹性计算 监控 开发工具
【阿里云弹性计算】阿里云ECS的网络优化实践:VPC配置与网络性能提升
【5月更文挑战第29天】阿里云ECS通过虚拟私有云(VPC)提供高性能、安全的网络环境。VPC允许用户自定义IP地址、路由规则和安全组。配置包括:创建VPC和交换机,设定安全组,然后创建ECS实例并绑定。优化网络性能涉及规划网络拓扑、优化路由、启用网络加速功能(如ENI和EIP)及监控网络性能。示例代码展示了使用Python SDK创建VPC和交换机的过程。
726 3
|
负载均衡 安全 网络安全
|
弹性计算 安全 网络协议
如何创建VPC并配置安全组以保护您的阿里云服务器
如何创建VPC并配置安全组以保护您的阿里云服务器
|
安全 网络安全 数据安全/隐私保护
Cisco-网络地址转换动态NAT
Cisco-网络地址转换动态NAT
244 1
|
安全 网络安全 数据安全/隐私保护
Cisco-网络地址转换静态NAT
Cisco-网络地址转换静态NAT
207 1
|
监控 网络协议 数据安全/隐私保护
vos3000外呼系统如何检查落地网关配置正常,路由分析
使用VOS3000外呼系统时,确保呼叫畅通的关键在于检查落地网关配置和进行路由分析。具体步骤包括:登录管理界面,检查网关状态和配置,配置外呼规则,测试拨打电话,以及分析日志和报告。通过这些步骤,可以确保系统稳定运行,提高外呼成功率和通话质量。

热门文章

最新文章