文档

通过VPC NAT网关实现VPC地址冲突时的私网访问

更新时间:

当您的VPC存在地址冲突,同时因为业务需要,存在地址冲突的VPC网络需要互访时,您可以通过创建VPC NAT网关来实现VPC间网络互访。

场景示例

本文以下图场景为例,为您介绍如何通过VPC NAT解决地址冲突网络的访问诉求。某公司在华北1(青岛)创建了VPC,网段为192.168.0.0/16,名称为VPC-A。随着公司发展,其收购了另一家公司,同样在华北1(青岛)拥有名称为VPC-B,网段为192.168.0.0/16的VPC。现由于业务需要,VPC-A中的ECS-A需要主动发起到VPC-B中的ECS-B的访问。

image

通过VPC NAT网关实现地址冲突时ECS-A实例访问ECS-B实例,流量报文的转发情况如下图所示。

image

前提条件

  • 您已经创建了两个网段相同的VPC,名称为VPC-A和VPC-B,为VPC-A创建了名称为vSwitch1交换机,为VPC-B创建了名换为vSwitch4交换机。具体操作,请参见搭建IPv4专有网络

  • 您已在vSwitch1中创建了一台名称为ECS-A的ECS实例。在vSwitch4中创建了一台名称为ECS-B的ECS实例。具体操作,请参见自定义购买实例

  • 您已经创建了云企业网CEN实例。具体操作,请参见创建云企业网实例

  • 您已经在VPC实例所在地域创建了企业版转发路由器实例。具体操作,请参见创建转发路由器实例

操作流程

image

步骤一:分配附加网段并创建交换机

重复以下步骤分别为VPC-A和VPC-B添加附加IPv4网段,并在对应附加网段下创建交换机。

  1. 登录专有网络管理控制台
  2. 在顶部菜单栏处,选择VPC的地域。

  3. 专有网络页面,找到目标VPC,单击VPC的ID。

  4. 在目标专有网络基本信息页面,单击网段管理页签。

  5. 网段管理页签下,单击IPv4网段页签,然后单击添加附加IPv4网段

  6. 添加附加网段对话框,配置以下参数,然后单击确定

    配置

    说明

    专有网络

    显示要添加附加IPv4网段的VPC。

    附加网段

    选择一种方式配置附加网段。 本文选择推荐网段

    • 为VPC-A添加时选择172.16.0.0/12为附加IPv4网段。

    • 为VPC-B添加时选择10.0.0.0/8为附加IPv4网段。

    添加附加IPv4网段时,应遵循以下原则。

    • 不能以0开头,掩码长度有效范围为8~28位。

    • 附加IPv4网段不得与VPC的主IPv4网段及已添加的附加IPv4网段重叠。

      例如,在主IPv4网段为192.168.0.0/16的VPC中,您不能添加以下网段作为附加IPv4网段。

      • 与192.168.0.0/16范围相同的网段。

      • 比192.168.0.0/16范围更大的网段,例如192.168.0.0/8。

      • 比192.168.0.0/16范围更小的网段,例如192.168.0.0/24。

  7. 您需要在VPC-A的附加网段下创建一个名称为vSwitch2,网段为172.16.0.0/24的交换机;在VPC-B的附加网段下创建一个名称为vSwitch3,网段为10.0.0.0/24的交换机。具体操作,请参见创建和管理交换机

步骤二:通过转发路由器连接VPC

您需要将VPC-A和VPC-B通过转发路由器实例进行连接,连接后云企业网会自动完成路由的分发和学习。

  1. 登录云企业网管理控制台
  2. 云企业网实例页面,找到目标云企业网实例,单击目标实例ID。
  3. 基本信息 > 转发路由器页签,找到目标地域的转发路由器实例,在操作列单击创建网络实例连接

  4. 连接网络实例页面,配置以下参数信息,然后单击确定创建

    说明

    在初次执行此操作时,系统会自动为您创建一个服务关联角色,角色名称为AliyunServiceRoleForCEN。该角色将允许转发路由器实例在VPC的交换机上创建ENI。更多信息,请参见AliyunServiceRoleForCEN

    参数

    说明

    实例类型

    选择待连接的网络实例类型。

    地域

    选择待连接的网络实例所在的地域。

    转发路由器

    系统自动显示当前地域下已创建的转发路由器实例。

    资源归属UID

    选择待连接的网络实例所属的账号类型。

    付费方式

    转发路由器的计费模式默认为按量付费

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

    连接名称

    输入VPC连接的名称。

    网络实例

    选择待连接的VPC实例ID。

    交换机

    在转发路由器支持的可用区选择一个交换机实例。

    高级配置

    系统默认为您选中三种高级功能,即自动关联至转发路由器的默认路由表自动传播系统路由至转发路由器的默认路由表自动为VPC的所有路由表配置指向转发路由器的路由

  5. 返回专有网络控制台。

  6. 在左侧导航栏,单击路由表
  7. 路由表页面,找到VPC-A的系统路由表,然后单击路由表实例ID。

  8. 路由条目列表 > 系统页签,找到冲突的路由条目,然后在CEN中状态列单击撤回

    重复步骤7步骤8,将VPC-B的系统路由表中的冲突路由条目撤回。

步骤三:创建VPC NAT网关

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

  1. 登录NAT网关管理控制台
  2. 在左侧导航栏,选择NAT网关 > VPC NAT网关
  3. VPC NAT网关页面,单击创建VPC NAT网关
  4. VPC NAT网关(按量付费)页面,配置以下参数信息,然后单击立即购买

    下表列出了NATGW1和NATGW2的配置参数。

    参数

    说明

    地域

    选择需要创建VPC NAT网关实例的地域。

    VPC ID

    选择VPC NAT网关实例所属的VPC。创建VPC NAT网关实例后,不能修改其所属的VPC。

    可用区

    选择VPC NAT网关实例所属的可用区。

    交换机ID

    选择VPC NAT网关实例所属的交换机,建议选择独立的交换机。

    实例名称

    设置VPC NAT网关实例的名称。

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

    服务关联角色

    显示是否已有VPC NAT网关的服务关联角色。

  5. 确认订单页面,确认参数的配置信息并选中服务协议,然后单击立即开通

    当出现恭喜,开通成功!的提示后,说明您创建成功。

步骤四:配置自定义路由

1.创建自定义路由表

重复以下步骤,分别为vSwitch2和vSwitch3创建自定义路由表。

  1. 登录专有网络管理控制台
  2. 在左侧导航栏,单击路由表
  3. 在顶部菜单栏,选择路由表所属的地域。
  4. 路由表页面,单击创建路由表

  5. 创建路由表页面,配置以下参数信息,然后单击确定

    下表列出了为VSW2和VSW4创建自定义路由表的配置参数。

    参数

    说明

    资源组

    选择路由表所属的资源组。

    专有网络

    选择路由表所属的VPC。

    名称

    输入路由表的名称。

    描述

    输入路由表的描述。

  6. 路由表页面,找到已创建的路由表,然后单击路由表的ID。

  7. 在路由表详情页面,单击已绑定交换机页签,然后单击绑定交换机

  8. 绑定交换机对话框,选择要绑定的交换机,然后单击确定

    • 为vSwitch2创建自定义路由表时,请选择vSwitch2交换机。

    • 为vSwitch3创建自定义路由表时, 请选择vSwitch3交换机。

2.为自定义路由表添加路由条目

重复以下步骤,为vSwitch2和vSwitch3路由表添加路由条目。

  1. 登录专有网络管理控制台
  2. 在左侧导航栏,单击路由表
  3. 在顶部菜单栏,选择路由表所属的地域。
  4. 路由表页面,找到目标自定义路由表,单击路由表的ID。
  5. 选择路由条目列表 > 自定义路由条目页签,单击添加路由条目

  6. 添加路由条目面板,配置以下参数信息,然后单击确定

    参数

    说明

    名称

    输入路由条目的名称。

    目标网段

    输入要转发到的目标网段。

    • vSwitch2路由表:输入vSwitch3网段。

    • vSwitch3路由表:输入vSwitch2网段。

    下一跳类型

    选择下一跳的类型。此处均选择转发路由器

    转发路由器

    选择具体的转发路由器实例。

    • vSwitch2路由表:选择VPC-A连接。

    • vSwitch3路由表:选择VPC-B连接。

3.为VPC系统路由表添加路由条目

重复以下步骤,为VPC-A和VPC-B的系统路由表添加路由条目。

  1. 在左侧导航栏,单击路由表
  2. 在顶部菜单栏,选择路由表所属的地域。
  3. 路由表页面,找到目标系统路由表,单击路由表的ID。

  4. 选择路由条目列表 > 自定义路由条目页签,单击添加路由条目

  5. 添加路由条目面板,配置以下参数,然后单击确定

    参数

    说明

    名称

    输入路由条目的名称。

    目标网段

    输入要转发到的目标网段。

    • VPC-A系统路由表:vSwitch3网段。

    • VPC-B系统路由表:vSwitch2网段。

    下一跳类型

    选择下一跳的类型。此处均选择NAT网关

    NAT网关

    选择具体的NAT网关实例。

步骤五:配置SNAT和DNAT条目

1.为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条目的名称。

2.为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或弹性网卡进行选择方式选择ECS-B实例的私网IP地址。

    端口设置

    选择DNAT映射的方式。本文选择端口映射方式。具体端口前端端口输入22,后端端口输入22,协议类型选择TCP

    条目名称

    输入DNAT条目的名称。

步骤六:测试连通性

  1. 登录VSW1下的ECS-A实例。具体操作,请参见ECS连接方式概述

  2. 执行telnet 主机地址 端口号命令,测试ECS-A实例是否能访问ECS-B实例。

    此处主机地址为VPC NATGW2的默认NAT IP,端口号为DNAT条目的端口号。如下:telnet VPC NATGW2的默认NAT IP地址 22