You need to enable JavaScript to run this app.
导航

使用云企业网实现多个VPC共享公网NAT网关

最近更新时间2023.12.08 11:35:13

首次发布时间2023.04.17 16:19:18

当多个VPC需要访问公网时,为节约公网IP资源,降低公网使用成本,使多个VPC共用一个公网NAT网关。本文为您介绍如何配合云企业网实现多个VPC共用一个公网NAT网关。

背景介绍

某企业的开发环境和测试环境分别部署于两个VPC,测试环境(VPC-1)共用开发环境(VPC-2)的公网NAT网关。

  • 私有网络1的名称为VPC-1,网段为172.16.0.0/16。
    • 子网1名称为subnet-1,其子网1网段为172.16.1.0/24。
    • 子网2名称为subnet-2,其子网2网段为172.16.2.0/24。
  • 私有网络2的名称为VPC-2,网段为192.168.1.0/16,其子网名称为subnet-3,其子网网段为192.168.1.0/24。
  • 云服务器ECS-1的IP地址为172.16.1.11,云服务器ECS-2的IP地址为172.16.2.22,云服务器ECS-3的IP地址为192.168.1.33。

上图仅呈现一条SNAT规则和一条DNAT规则,在实际使用过程中,可按需创建多条SNAT规则和DNAT规则。

  • 云服务器ECS-1可通过公网NAT网关和EIP-1访问公网。
  • 云服务器ECS-2可通过公网NAT网关和EIP-2向公网提供服务。

准备工作

根据背景介绍,在操作之前,您需要做如下准备:

  • 使用同一个火山引擎账号,在华北2(北京)地域创建2个VPC,VPC的参数同背景介绍保持一致。具体操作,请参考 创建私有网络

说明

实现多个VPC共用公网NAT网关,需要公网NAT网关所属的VPC和共用该公网NAT网关的VPC互通。本文以同账号同地域的VPC为例,其他示例,请参考 同账号跨地域私有网络互通跨账号同地域私有网络互通跨账号跨地域私有网络互通

  • 在VPC-1的子网1中创建云服务器ECS-1(172.16.1.11),在VPC-1的子网2中创建云服务器ECS-2(172.16.2.22),在VPC-2的子网3中创建云服务器ECS-3(192.168.1.33),三台云服务器均未绑定公网IP。具体操作,请参考 购买云服务器
  • 申请两个未绑定云资源的公网IP,本文使用EIP-1(180.XX.XX.44)和EIP-2(180.XX.XX.88)。具体操作,请参考 申请公网IP

操作步骤

步骤一:创建云企业网

您可通过本操作,创建云企业网,并加载预先准备的私有网络VPC-1。

  1. 登录 云企业网控制台
  2. 单击“创建云企业网”按钮,进入创建云企业网实例页面。
  3. 参考下表,配置相关参数。
    参数
    说明
    本文取值
    名称输入云企业网实例的名称。CEN-X
    加载网络实例选择是否打开加载网络实例的开关。打开
    地域选择待加载网络实例所属地域。华北2(北京)
    实例类型选择网络实例类型。私有网络
    网络实例选择私有网络实例。VPC-1
    项目选择云企业网所属的项目。default
    标签按需为云企业网添加一个或多个用户标签。不添加用户标签
  4. 单击“确定”按钮,完成创建。

步骤二:加载网络实例并验证

您可通过本操作,为上述云企业网加载预先准备的私有网络VPC-2,并验证VPC-1和VPC-2能否互通。

  1. 登录云企业网控制台
  2. 单击目标云企业网实例名称,进入云企业网详情页面。
  3. 选择“网络实例”页签,单击“加载网络实例”按钮,弹出加载网络实例窗口。
  4. 参考下表,配置相关参数。
    参数
    说明
    本文取值
    账号选择待加载网络实例所属的账号。本账号
    地域选择待加载网络实例所属地域。华北2(北京)
    实例类型选择网络实例类型。私有网络
    网络实例选择私有网络实例。VPC-2
  5. 单击“确定”按钮,完成加载。
  6. 登录VPC-1的云服务器ECS-1,测试能否访问VPC-2的云服务器ECS-3,即在ECS-1的命令行执行ping 192.168.1.33命令。

说明

ping不通,请参考如下方式排查问题:

步骤三:创建公网NAT网关绑定公网IP

您可通过本操作,在VPC-2中创建公网NAT网关。

  1. 登录 公网NAT网关控制台
  2. 在顶部导航栏,选择目标地域和项目,本文示例“华北2(北京)”和“default”。
  3. 单击“创建公网NAT网关”按钮,进入创建公网NAT网关页面。
  4. 参考下表,配置相关参数。
    参数
    说明
    本文取值
    计费类型支持按量计费和包年包月。按量计费
    地域选择公网NAT网关所在地域。华北2(北京)
    名称设置公网NAT网关的名称。NAT-X
    规格选择公网NAT网关的规格。小型
    私有网络选择私有网络。VPC-2|192.168.1.0/16
    子网下拉选择子网。subnet-3|192.168.1.0/24
    配置方式选择公网NAT网关的配置方式。手动配置
    项目按需选择公网NAT网关所属的项目。default
    标签按需为公网NAT网关添加一个或多个用户标签。不添加用户标签
  5. 单击“确认订单”按钮,进入订单详情页面。
  6. 确认信息无误后,勾选“我已阅读并同意《公网NAT网关服务条款》”,单击“立即购买”按钮,完成操作。

    说明

    若创建失败,请参考 创建公网NAT网关失败是什么原因

  7. 在公网NAT网关列表,单击目标网关右侧的“配置公网IP”按钮,进入配置公网IP页面。
  8. 单击“绑定公网IP”按钮,在弹出的绑定公网IP窗口中,下拉选择预先准备的EIP-1,单击“确定”按钮,完成绑定。
  9. 重复第8步,绑定预先准备的EIP-2。

步骤四:手动发布路由

您可参考本操作,将上述公网NAT网关的路由发布到云企业网。

  1. 登录 路由表控制台
  2. 在顶部导航栏,选择目标路由表的地域和项目。
  3. 在路由表列表中,单击目标系统路由表名称,进入路由表详情页面。
  4. 选择“路由条目 > 自定义路由”页签,单击下一条指向公网NAT网关的路由条目右侧“发布”按钮,弹出确认发布对话框。
  5. 确认信息无误后,单击“确定”按钮,完成发布。
  6. 验证是否发布成功。
    1. 登录云企业网控制台。
    2. 单击目标云企业网名称,进入云企业网详情页面。
    3. 在“路由信息”页签,查看是否存在目标网段为0.0.0.0/0的路由条目。

说明

发布公网NAT网关路由正在邀测中,如需试用,请 提交工单 或联系客户经理。

步骤五:创建SNAT规则

您可参考本操作,创建一条SNAT规则,使VPC-1中的ECS-1通过公网NAT网关和EIP-1访问公网。

  1. 登录 公网NAT网关控制台
  2. 在顶部导航栏,选择公网NAT网关的地域和项目。
  3. 在公网NAT网关列表,单击目标公网NAT网关名称,进入详情页。
  4. 选择“SNAT规则”页签,单击“创建SNAT规则”按钮。
  5. 参考下表,配置相关参数。
    参数
    说明
    本文取值
    名称设置SNAT规则的名称。SNAT-X
    粒度选择SNAT规则的粒度。自定义网段
    172.16.1.0/24
    公网IP选择公网NAT网关已绑定的公网IP。180.XX.XX.44|EIP-1
  6. 单击“确定”按钮,完成创建。
  7. 登录预先准备的云服务器实例ECS-1(172.16.1.11),在命令行执行ping 114.114.114.114
  8. ping通,则表示VPC-1的ECS-1可通过公网NAT网关的SNAT规则访问公网。

    说明

    ping不通,请参考 已配置SNAT规则的云服务器无法访问公网

步骤六:创建DNAT规则

您可参考本操作,创建一条DNAT规则,使VPC-1中的ECS-2通过公网NAT网关和EIP-2向公网提供服务。

  1. 登录 公网NAT网关控制台
  2. 在顶部导航栏,选择公网NAT网关的地域和项目。
  3. 在公网NAT网关列表,单击目标公网NAT网关名称,进入详情页。
  4. 选择“DNAT规则”页签,单击“创建DNAT规则”按钮。
  5. 参考下表,配置相关参数。
    参数
    说明
    本文取值
    名称输入DNAT规则的名称。DNAT-X
    协议选择协议类型,支持TCP、UDP。TCP
    私网IP及其端口设置预先准备的云服务器实例的私网IP地址及其向公网提供服务的端口或端口段,端口范围为1~65535。172.16.2.22
    22
    公网IP及其端口设置公网NAT网关已绑定的公网IP及其接收来自公网的请求的端口或端口段,端口范围为1~65535。180.XX.XX.88|EIP-2
    80
  6. 单击“确定”按钮,完成创建。
  7. 打开本地电脑命令行,输入ssh <DNAT规则设置的公网IP地址> -p <DNAT规则设置的公网IP端口>
  8. 进入登录页面,则表示VPC-1的ECS-2可通过公网NAT网关的DNAT规则向公网提供远程登录服务。

    说明

    若验证有问题,请参考 已配置DNAT规则的云服务器无法被公网访问