本文指导您通过使用VPC NAT网关实现当VPC地址冲突时的互相访问。

背景信息

由于早期网络规划单一或后期的业务合并,可能存在云上需要互通的两个业务VPC地址冲突的情况。您可以为两个业务VPC各配置一个VPC NAT网关并配置两个不冲突的中转私网地址(NAT IP地址)。主动访问的业务VPC使用SNAT功能将源地址转换为VPC NAT网关的中转私网地址,被访问的业务VPC通过DNAT功能使用VPC NAT网关的中转私网地址对外提供私网服务,从而实现地址冲突的两个业务VPC能够互相访问。

配置场景

本文以下图场景为例。某公司在华北1(青岛)地域创建了两个专有网络VPC(Virtual Private Cloud),名称分别为VPC1和VPC2,网段均为192.168.0.0/16。在VPC1中创建了网段为192.168.0.0/24的业务交换机VSW1,VSW1中创建了一台名为ECS1的云服务器ECS(Elastic Compute Service)。在VPC2中创建了网段为192.168.0.0/24的业务交换机VSW3,VSW3中创建了一台名为ECS2的ECS实例。因公司业务发展,VPC1需要访问VPC2。由于VPC1与VPC2的网段相同,无法直接通过云企业网CEN(Cloud Enterprise Network)实现互访。您可以在VPC1中创建网段为192.168.100.0/24的中转交换机VSW2。在VPC2中创建网段为192.168.200.0/24的中转交换机VSW4,然后在中转交换机中创建VPC NAT网关。通过VPC NAT网关的SNAT功能和DNAT功能实现VPC1访问VPC2。VPC互访

操作流程

操作流程

前提条件

  • 您已经注册了阿里云账号。具体操作,请参见账号注册
  • 您已经参考下表完成了VPC和交换机的创建。具体操作,请参见搭建IPv4专有网络
    VPC名称 地域 网段 交换机名称 可用区和网段
    VPC1 华北1(青岛) 192.168.0.0/16
    • 业务交换机:VSW1
    • 中转交换机:VSW2
    • VSW1:青岛可用区B,192.168.0.0/24
    • VSW2:青岛可用区C,192.168.100.0/24
    VPC2 华北1(青岛) 192.168.0.0/16
    • 业务交换机:VSW3
    • 中转交换机:VSW4
    • VSW3:青岛可用区B,192.168.0.0/24
    • VSW4:青岛可用区C,192.168.200.0/24
  • 您已在VSW1中创建了一台名称为ECS1的ECS实例。在VSW3中创建了一台名称为ECS2的ECS实例。具体操作,请参见使用向导创建实例
  • 您已经创建了云企业网CEN实例。具体操作,请参见创建云企业网实例
  • 您已经在VPC实例所在地域创建了企业版转发路由器实例。具体操作,请参见创建转发路由器实例

步骤一:创建两个VPC NAT网关实例

重复以下步骤,在VSW2中创建一个名称为VPC NATGW1的VPC NAT网关;在VSW4中创建一个名称为VPC NATGW2的VPC NAT网关。

  1. 登录NAT网关管理控制台
  2. 在左侧导航栏,选择NAT网关 > VPC NAT网关
  3. VPC NAT网关页面,单击创建VPC NAT网关
  4. VPC NAT网关(按量付费)页面,配置以下参数信息,然后单击立即购买
    下表列出了NATGW1和NATGW2的配置参数。
    参数 说明 配置值
    地域 选择需要创建VPC NAT网关实例的地域。 此处均选择华北1(青岛)
    VPC ID 选择VPC NAT网关实例所属的VPC。创建VPC NAT网关实例后,不能修改其所属的VPC。
    • VPC NATGW1:VPC1。
    • VPC NATGW2:VPC2。
    可用区 选择VPC NAT网关实例所属的可用区。
    • VPC NATGW1:VSW2的可用区。
    • VPC NATGW2:VSW4的可用区。
    交换机ID 选择VPC NAT网关实例所属的交换机,建议选择独立的交换机。
    • VPC NATGW1:VSW2。
    • VPC NATGW2:VSW4。
    实例名称 设置VPC NAT网关实例的名称。

    名称长度为1~128个字符。

    • 设置为VPC NATGW1
    • 设置为VPC NATGW2
    服务关联角色 显示是否已有VPC NAT网关的服务关联角色。

    初次使用NAT网关(包含公网NAT网关和VPC NAT网关),需要单击创建服务关联角色完成创建。

  5. 确认订单页面,确认参数的配置信息并选中服务协议,然后单击立即开通
    当出现恭喜,开通成功!的提示后,说明您创建成功。

步骤二:创建自定义路由表

重复以下步骤,为VSW2和VSW4创建自定义路由表。

  1. 登录专有网络管理控制台
  2. 在左侧导航栏,单击路由表
  3. 在顶部菜单栏,选择路由表所属的地域。
  4. 路由表页面,单击创建路由表
  5. 创建路由表页面,配置以下参数信息,然后单击确定
    下表列出了为VSW2和VSW4创建自定义路由表的配置参数。
    参数 说明 配置值
    资源组 选择路由表所属的资源组。 此处均选择全部
    专有网络 选择路由表所属的VPC。
    • 为VSW2创建路由表:选择VPC1。
    • 为VSW4创建路由表:选择VPC2。
    名称 输入路由表的名称。
    • 为VSW2创建路由表:VSW2VTB
    • 为VSW4创建路由表:VSW4VTB
    描述 输入路由表的描述。
    • 为VSW2创建路由表:输入VSW2自定义路由表
    • 为VSW4创建路由表:输入VSW4自定义路由表
  6. 路由表页面,找到已创建的路由表,然后单击路由表的ID。
  7. 在路由表详情页面,单击已绑定交换机页签,然后单击绑定交换机
  8. 绑定交换机对话框,选择要绑定的交换机,然后单击确定
    • 为VSW2创建自定义路由表时,请选择VSW2交换机。
    • 为VSW4创建自定义路由表时, 请选择VSW4交换机。

步骤三:为自定义路由表添加路由条目

重复以下步骤,为创建的VSW2VTB和VSW4VTB自定义路由表添加路由条目。

  1. 登录专有网络管理控制台
  2. 在左侧导航栏,单击路由表
  3. 在顶部菜单栏,选择路由表所属的地域。
  4. 路由表页面,找到目标自定义路由表,单击路由表的ID。
  5. 选择路由条目列表 > 自定义路由条目页签,单击添加路由条目
  6. 添加路由条目面板,配置以下参数信息,然后单击确定
    参数 说明 配置值
    名称 输入路由条目的名称。
    • VSW2VTB:VPCNATGW1ENTRY
    • VSW4VTB:VPCNATGW2ENTRY
    目标网段 输入要转发到的目标网段。 此处配置为对端中转交换机的网段。
    • VSW2VTB:192.168.200.0/24
    • VSW4VTB:192.168.100.0/24
    下一跳类型 选择下一跳的类型。 此处均选择转发路由器
    转发路由器 选择具体的转发路由器实例。
    • VPC1自定义路由表:VPC1连接。
    • VPC2自定义路由表:VPC2连接。

步骤四:创建VPC连接

您可以将VPC1和VPC2连接至华北1(青岛)地域的转发路由器实例,之后云企业网自动完成路由的分发和学习以实现VPC1与VPC2之间的相互通信。
说明 使用企业版转发路由器创建VPC连接前,请确保VPC实例在企业版转发路由器支持的可用区拥有至少一个交换机实例,且该交换机实例拥有至少一个空闲的IP地址。本文已创建的转发路由器实例在华北1(青岛)地域,支持的可用区为青岛可用区B和青岛可用区C。
  1. 登录云企业网管理控制台
  2. 云企业网实例页面,找到目标云企业网实例,单击目标实例ID。
  3. 基本信息 > 转发路由器页签,找到目标地域的转发路由器实例,在操作列单击创建网络实例连接
  4. 连接网络实例页面,配置以下参数信息,然后单击确定创建
    说明 在初次执行此操作时,系统会自动为您创建一个服务关联角色,角色名称为AliyunServiceRoleForCEN。该角色将允许转发路由器实例在VPC的交换机上创建ENI。更多信息,请参见AliyunServiceRoleForCEN
    下表列出了创建VPC1连接和VPC2连接的配置参数。
    参数 说明 配置值
    实例类型 选择待连接的网络实例类型。 此处均选择专有网络(VPC)
    地域 选择待连接的网络实例所在的地域。 此处均选择华北2(青岛)
    转发路由器 系统自动显示当前地域下已创建的转发路由器实例。 此处均显示华北2(青岛)地域的转发路由器实例。
    资源归属UID 选择待连接的网络实例所属的账号类型。 此处均选择同账号
    付费方式 转发路由器的计费模式默认为按量付费

    按量付费的计费规则,请参见计费说明

    此处均显示为按量付费
    连接名称 输入VPC连接的名称。
    • VPC1连接:输入VPC1
    • VPC2连接:输入VPC2
    网络实例 选择待连接的VPC实例ID。
    • VPC1连接:选择已创建的VPC1。
    • VPC2连接:选择已创建的VPC2。
    交换机 在转发路由器支持的可用区选择一个交换机实例。
    • VPC1连接:
      • 青岛 可用区B:选择VSW1。
      • 青岛 可用区C:选择VSW2。
    • VPC2连接:
      • 青岛 可用区B:选择VSW3。
      • 青岛 可用区C:选择VSW4。
    高级配置 系统默认为您选中三种高级功能,即自动关联至转发路由器的默认路由表自动传播系统路由至转发路由器的默认路由表自动为VPC的所有路由表配置指向转发路由器的路由

    此处均保持默认配置。

  5. 返回专有网络控制台。
  6. 在左侧导航栏,单击路由表
  7. 路由表页面,找到VPC1的系统路由表,然后单击路由表实例ID。
  8. 路由条目列表 > 系统页签,找到冲突的路由条目,然后在CEN中状态列单击撤回
    重复步骤7步骤8,将VPC2的系统路由表中的冲突路由条目撤回。

步骤五:为VPC系统路由表添加路由条目

重复以下步骤,为VPC1和VPC2的系统路由表添加路由条目。

  1. 登录专有网络管理控制台
  2. 在左侧导航栏,单击路由表
  3. 在顶部菜单栏,选择路由表所属的地域。
  4. 路由表页面,找到目标自定义路由表,单击路由表的ID。
  5. 选择路由条目列表 > 自定义路由条目页签,单击添加路由条目
  6. 添加路由条目面板,配置以下参数,然后单击确定
    参数 说明 配置值
    名称 输入路由条目的名称。
    • VPC1系统路由表:VPC1。
    • VPC2系统路由表:VPC2。
    目标网段 输入要转发到的目标网段。 此处配置为对端中转交换机的网段。
    • VPC1系统路由表:192.168.200.0/24
    • VPC2系统路由表:192.168.100.0/24
    下一跳类型 选择下一跳的类型。 此处均选择NAT网关
    NAT网关 选择具体的NAT网关实例。
    • VSW2VTB:选择VPC NATGW1。
    • VSW4VTB:选择VPC NATGW2。

步骤六:为VPC NATGW1配置SNAT条目

  1. 登录NAT网关管理控制台
  2. 在左侧导航栏,选择NAT网关 > VPC NAT网关
  3. 在顶部菜单栏,选择VPC NAT网关的地域。
  4. VPC NAT网关页面,找到目标VPC NAT网关实例,然后在操作列单击SNAT管理
  5. SNAT管理页签,单击创建SNAT条目
  6. 创建SNAT条目页面,配置以下参数信息,然后单击确定创建
    参数 说明
    SNAT条目粒度 选择SNAT条目的粒度。本文选择VPC粒度,即VPC NAT网关所属VPC下的所有地址段可以通过配置的SNAT规则访问外部网络。
    选择NAT IP地址 在下拉列表中选择用来访问外部网络的NAT IP地址。本文选择默认NAT IP地址。
    条目名称 SNAT条目的名称。

步骤七:为VPC NATGW2配置DNAT条目

  1. 登录NAT网关管理控制台
  2. 在左侧导航栏,选择NAT网关 > VPC NAT网关
  3. 在顶部菜单栏,选择VPC NAT网关的地域。
  4. VPC NAT网关页面,找到目标VPC NAT网关实例,然后在操作列单击DNAT管理
  5. DNAT管理页签,单击创建DNAT条目
  6. 创建DNAT条目页面,配置以下参数信息,然后单击确定创建
    配置 说明
    选择NAT IP地址 选择供外部网络访问的NAT IP地址。 本文选择默认NAT IP地址。
    选择私网IP地址 选择要通过DNAT规则进行通信的私网IP地址。本文以通过ECS或弹性网卡进行选择方式选择ECS2实例的私网IP地址。
    端口设置 选择DNAT映射的方式。本文选择端口映射方式。具体端口前端端口输入22,后端端口输入22,协议类型选择TCP
    条目名称 输入DNAT条目的名称。

步骤八:测试连通性

  1. 登录VSW1下的ECS1实例。具体操作,请参见ECS连接方式概述
  2. 执行ping命令,pingVPC NATGW2的默认NAT IP地址,测试ECS1实例是否能访问ECS2实例。
    经测试,ECS1实例可以访问ECS2实例。ECS1访问ECS2
  3. 执行ssh root@NAT IP命令,此处的NAT IP为VPC NATGW2的默认NAT IP地址,然后输入ECS2实例的登录密码,测试ECS1实例是否可以远程连接到ECS2实例。
    若界面上出现Welcome to Alibaba Cloud Elastic Compute Service!时,表示您已经成功连接到实例。

    经测试,ECS1实例可以通过VPC NATGW2的DNAT功能访问ECS2实例。

    ECS1登录ECS2