You need to enable JavaScript to run this app.
导航
解决多VPC互通场景下的地址冲突
最近更新时间:2024.10.31 16:16:35首次发布时间:2023.11.07 08:15:14

当使用云企业网或中转路由器实现多个VPC互通时,若不同VPC的网段存在重叠,可使用私网NAT网关,解决网段地址冲突,实现资源私网互访。

说明

私网NAT网关正在邀测中,暂仅支持完成 企业认证 的账号申请试用,如需试用,请联系客户经理。

背景介绍

某企业的两套业务线的VPC需要通信,但是彼此需要通信的子网重叠。通过私网NAT网关解决IP地址冲突。

  • 私有网络1的名称为VPC-A,网段为192.168.0.0/16。
    • 子网1名称为子网-A1,其子网网段为192.168.1.0/24。
    • 子网2名称为子网-A2,其子网网段为192.168.2.0/24。
    • 子网3名称为子网-A100,其子网网段为192.168.100.0/24。
  • 私有网络2的名称为VPC-B,网段为192.168.0.0/16。
    • 子网1名称为子网-B1,其子网网段为192.168.1.0/24。
    • 子网2名称为子网-B2,其子网网段为192.168.2.0/24。
    • 子网3名称为子网-B200,其子网网段为192.168.200.0/24。
  • 云服务器ECS-A1的IP地址为192.168.1.11、ECS-A2的IP地址为192.168.2.30、ECS-B1的IP地址为192.168.1.22、ECS-B2的IP地址为192.168.2.31。

本文的示意图如下,若您想了解更多私网NAT网关的路由配置详情,请参考 路由配置原理介绍

实现ECS-A1访问ECS-B1,您需要为VPC-A配置SNAT规则,为VPC-B配置DNAT规则。同理可得,实现ECS-B2访问ECS-A2,您需要为VPC-B配置SNAT规则,为VPC-A配置DNAT规则。
本文仅为您演示ECS-A1访问ECS-B1。

准备工作

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

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

  • 在VPC-A的子网-A1中创建云服务器ECS-A1(192.168.1.11)、子网-A2中创建云服务器ECS-A2(192.168.2.30),在VPC-B的子网-B1中创建云服务器ECS-B1(192.168.1.22)、子网-B2中创建云服务器ECS-B2(192.168.2.31)。具体操作,请参考 购买云服务器

操作步骤

步骤一:配置私网NAT网关

创建两个私网NAT网关

您可参考本操作,为VPC-A和VPC-B各创建一个私网NAT网关。

  1. 登录 私网NAT网关控制台
  2. 在顶部导航栏,选择目标地域和项目。
  3. 单击“创建私网NAT网关”按钮。
  4. 参考下表,配置相关参数。
    参数
    说明
    本文取值(VPC-A)
    本文取值(VPC-B)
    计费类型仅支持按量计费。按量计费按量计费
    地域选择私网NAT网关所在地域。华北2(北京)华北2(北京)
    名称输入私网NAT网关的名称。私网NAT网关-A私网NAT网关-B
    私有网络下拉选择私网NAT网关所属的私有网络。VPC-A|192.168.0.0/16VPC-B|192.168.0.0/16
    子网下拉选择子网。子网-A100|192.168.100.0/24子网-B200|192.168.200.0/24
    规格无需指定规格。--
    项目选择私网NAT网关所属的项目。dedaultdedault
    标签按需为私网NAT网关添加一个或多个用户标签。nat:v1nat:v2
  5. 单击“确认订单”按钮。
  6. 请根据控制台指引查阅并确认相关协议,单击“立即购买”按钮,完成操作。

在私网NAT网关列表,查看默认中转IP地址。本文VPC-A的默认中转IP为192.168.100.128,VPC-B的私网NAT网关的默认中转IP为192.168.200.254。

为VPC-A的私网NAT网关创建SNAT规则

  1. 在私网NAT网关列表,单击私网NAT网关-A名称,进入详情页面。

  2. 选择“SNAT规则”页签,单击“创建SNAT规则”按钮。

  3. 参考下表,配置相关参数。

    参数
    说明
    本文取值
    名称设置SNAT规则的名称。SNAT-X
    粒度选择SNAT规则的粒度。子网
    192.168.1.0/24
    中转IP选择私网NAT网关的中转IP。本文选择默认中转IP。192.168.100.128|nat-default-ip
  4. 单击“确定”按钮,完成创建。

为VPC-B的私网NAT网关创建DNAT规则

  1. 在私网NAT网关列表,单击私网NAT网关-B名称,进入详情页面。
  2. 选择“DNAT规则”页签,单击“创建DNAT规则”按钮。
  3. 参考下表,配置相关参数。
    参数
    说明
    本文取值
    名称输入DNAT规则的名称。DNAT-X
    协议选择协议类型,支持TCP、UDP。TCP
    本端IP及其端口设置预先准备的云服务器实例的私网IP地址及其端口。192.168.1.22
    22
    中转IP及其端口设置私网NAT网关的中转IP及其端口。本文使用默认中转IP及其端口。192.168.200.254|nat-default-ip
    22
  4. 单击“确定”按钮,完成创建。
  5. DNAT规则创建完成后,您还需要在VPC-A内放通对应的安全组规则。
    1. 登录 云服务器控制台
    2. 单击云服务器实例名称,选择安全组页签,单击安全组名称。
    3. 在“访问规则 > 入方向”页签,添加规则。策略为“允许”,协议类型选择“TCP”或“UDP”,端口范围为“本端IP端口”,源地址为“0.0.0.0/0”。详细信息请参见 安全组概述

步骤二:配置NAT网关路由

准备路由表

创建2个自定义路由表,并分别关联私网NAT网关所在的子网。后续私网NAT网关将通过所在子网关联的路由表将流量路由到云企业网或中转路由器。

  1. 登录 路由表控制台

  2. 在顶部导航栏,选择目标地域和项目,本文示例“华北2(北京)”和“default”。

  3. 单击“创建路由表”按钮。

  4. 参考下表,配置相关参数。

    参数
    说明
    本文取值(VPC-A的自定义路由表)
    本文取值(VPC-B的自定义路由表)
    名称输入自定义路由表的名称。route-Aroute-B
    私有网络选择路由表所属的私有网络。VPC-AVPC-B
    路由条目使用默认的系统路由,不手动添加路由。--
    项目选择路由表的项目。defaultdefault
  5. 单击“确定”按钮,完成创建。

  6. 在路由表列表,单击新创建自定义路由表route-A右侧的“关联子网”按钮。

  7. 选中子网-A100,单击“确定”按钮,完成关联。

  8. 同理,为自定义路由表route-B关联子网-B200。

流量路由到私网NAT网关(系统路由表)

将访问对端网段的流量路由到私网NAT网关:

  • 将子网-A1和子网-A2的云资源访问对端网段(192.168.200.0/24)的流量路由到私网NAT网关-A。
  • 将子网-B1和子网-B2的云资源访问对端网段(192.168.100.0/24)的流量路由到私网NAT网关-B。
  1. 在路由表列表,单击VPC-A和VPC-B的系统路由表名称。

  2. 选择“路由条目 > 自定义路由”页签,单击“添加路由条目”按钮。

  3. 参考下表,配置相关参数。

    参数说明本文取值(VPC-A的系统路由表)本文取值(VPC-B的系统路由表)
    目标网段输入对端网段。192.168.200.0/24192.168.100.0/24
    下一跳类型选择下一跳类型。NAT网关NAT网关
    下一跳选择下一跳资源。私网NAT网关-A私网NAT网关-B
  4. 单击“确定”按钮,完成配置。

流量路由至云企业网或中转路由器(自定义路由表)

  • 云企业网:后续配置云企业网后,自定义路由表route-A和route-B自动添加路由到云企业网的路由条目。
  • 中转路由器:后续配置中转路由器后,需要在自定义路由表route-A和route-B手动添加路由到中转路由器的路由条目,详情请参见下文。

步骤三:配置云企业网或中转路由器

创建云企业网

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

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

加载网络实例

  1. 在云企业网列表,单击目标云企业网实例名称。
  2. 选择“网络实例”页签,单击“加载网络实例”按钮。
  3. 参考下表,配置相关参数。
    参数
    说明
    本文取值
    账号选择待加载网络实例所属的账号。本账号
    地域选择待加载网络实例所属地域。华北2(北京)
    实例类型选择网络实例类型。私有网络
    网络实例选择私有网络实例。VPC-B
  4. 单击“确定”按钮,完成加载。

此时,VPC-A的自定义路由表自动从云企业网同步到192.168.200.0/24 、下一跳为云企业网-X的路由条目。VPC-B的自定义路由表自动从云企业网同步到192.168.100.0/24 、下一跳为云企业网-X的路由条目。

路由表名称关联子网目标网段下一跳
VPC-A的系统路由表子网-A1、子网-A2192.168.200.0/24私网NAT网关-A
VPC-A的自定义路由表子网-A100192.168.200.0/24云企业网-X
VPC-B的系统路由表子网-B1、子网-B2192.168.100.0/24私网NAT网关-B
VPC-B的自定义路由表子网-B200192.168.100.0/24云企业网-X

步骤四:验证

验证SNAT规则

  1. 登录云服务器实例ECS-A1(192.168.1.11),执行命令ping <私网NAT网关-B的中转IP>。本文输入ping 192.168.200.254
  2. 若可以ping通,则表示ECS-A1能访问私网NAT网关-B。若不能ping通,请检查SNAT规则及相关路由配置。

验证DNAT规则

  1. 登录云服务器实例ECS-A1(192.168.1.11),在命令行输入ssh <DNAT规则设置的中转IP地址> -p <DNAT规则设置的中转IP端口>。本文输入ssh 192.168.200.254 -p 22
  2. 进入登录页面,则表示VPC-A的ECS-A1能访问VPC-B的ECS-B1。若未进入登录界面,请检查DNAT规则、相关路由配置以及安全组是否放通流量。