文档首页/ NAT网关 NAT/ 最佳实践/ 使用公网NAT网关统一管理公网出口IP
更新时间:2025-10-15 GMT+08:00
分享

使用公网NAT网关统一管理公网出口IP

应用场景

在云上环境中,当VPC内需要管理大量的ECS实例时,如果采用逐一配置弹性公网IP的方式,不仅会显著降低管理和运营效率,还会增加ECS实例遭受恶意扫描和攻击的风险。

您可以使用公网NAT网关统一管理ECS实例的出入云需求,从以下两个方面提升运维效率,降低安全风险。

  • 在确保原有资源正常运行的前提下,通过SNAT规则为VPC内的所有ECS实例统一提供公网访问能力。
  • 对于直接绑定弹性公网IP的ECS实例,通过将EIP从ECS实例解绑并创建DNAT规则,在确保客户端访问ECS实例方式不变的同时,有效控制端口暴露范围。

方案架构

在企业级应用中,为了提高服务的可用性和管理效率,通常需要对后端服务进行集中管理。然而,直接暴露后端服务到公网会带来安全风险。如果您的服务器有主动访问公网的业务诉求,推荐您使用以下方案对公网出入口进行统一管理:

  1. 使用ELB对后端服务进行集中管理,统一对外提供服务的入口。
  2. 使用公网NAT网关统一公网出口IP,如图1的方案,不仅能够集中管理后端服务,还能有效降低安全风险,提升运维效率。
图1 统一管理公网出口IP

资源规划说明

本示例中需要创建虚拟私有云VPC、弹性云服务器ECS、公网NAT网关和弹性负载均衡ELB,资源规划总体说明请参见表1

表1 资源规划

资源

数量

说明

虚拟私有云和子网

1个虚拟私有云和其下子网

  • VPC-A,本示例网段为:192.168.0.0/16。
  • subnet-A01,本示例网段为:192.168.0.0/24。

公网NAT网关

1个

本示例名称为nat_public,用于通过SNAT规则统一ECS访问公网的IP。

弹性负载均衡

1个

外部流量通过ELB主动访问云上的ECS。

弹性云服务器

3台

ECS-A,ECS-B,ECS-C都部署在子网subnet-A01中。

弹性公网IP

3个

  • EIP-ELB:用于绑定ELB,ECS通过ELB面向公网客户端提供服务。
  • EIP-SNAT:ECS使用EIP-SNAT通过SNAT规则主动访问公网客户端。
  • EIP-DNAT:外部客户端访问EIP-DNAT通过DNAT规则访问到ECS。

准备工作

  • 表1所示,购买3个EIP分别用作EIP-ELB、EIP-SNAT和EIP-DNAT。
  • 购买一个ELB实例和三台ECS并配置应用服务,其中两台ECS部署为ELB的后端服务器,详情请参考实现单个Web应用的负载均衡

步骤一:创建公网NAT网关

  1. 进入购买公网NAT网关页面
  2. 根据界面提示,配置公网NAT网关的基本信息,配置参数详细说明请参考购买公网NAT网关
    图2 购买公网NAT网关

步骤二:添加SNAT规则

虚拟私有云子网subnet-A01中的ECS可以共享SNAT规则绑定的弹性公网IP访问公网。

  1. 进入公网NAT网关列表页面
  2. 在公网NAT网关页面,单击需要步骤一中购买的公网NAT网关。

    进入公网NAT网关详情页。

  3. 切换到SNAT规则页签,单击“添加SNAT规则”。
  4. 根据界面提示,添加SNAT规则,公网IP类型选择“弹性公网IP”并勾选准备工作中已经创建完成的EIP-SNAT作为公网IP。
    图3 添加SNAT规则
  5. 单击“确定”,完成SNAT规则创建。

步骤三:添加DNAT规则

虚拟私有云子网subnet-A01中的ECS可以共享DNAT规则绑定的弹性公网IP面向公网提供访问。

  1. 进入公网NAT网关列表页面
  2. 在公网NAT网关页面,单击需要步骤一中购买的公网NAT网关。

    进入公网NAT网关详情页。

  3. 切换到DNAT规则页签,单击“添加DNAT规则”。
  4. 根据界面提示,添加DNAT规则。
    端口类型选择“所有端口”,公网IP类型选择“弹性公网IP”并勾选准备工作中已经创建完成的EIP-DNAT作为公网IP。
    图4 添加DNAT规则
  5. 单击“确定”,完成DNAT规则创建。

步骤四:验证结果

  1. 远程登录部署了后端服务的ECS。

    弹性云服务器有多种登录方法,具体请参见登录弹性云服务器

  2. 在ECS上分别ping三个EIP,验证可以正常对外提供公网访问。
    图5 服务器正常对外提供公网访问
  3. 分别在三台ECS上执行以下命令,获取服务器访问公网的IP地址。
    curl myip.ipip.net

    图6所示,三台ECS都返回EIP-SNAT的地址。

    图6 获取服务器访问公网的IP地址

相关文档