本文指导您通过使用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
    青岛 可用区B
    • VSW1:192.168.0.0/24
    • VSW2:192.168.100.0/24
    VPC2 华北1(青岛) 192.168.0.0/16
    • 业务交换机:VSW3
    • 中转交换机:VSW4
    青岛 可用区B
    • VSW3:192.168.0.0/24
    • VSW4:192.168.200.0/24
  • 您已在VSW1中创建了一台名称为ECS1的ECS实例。在VSW3中创建了一台名称为ECS2的ECS实例。具体操作,请参见使用向导创建实例
  • 您已经创建了一个云企业网CEN实例。具体操作,请参见创建云企业网实例

步骤一:创建两个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. 确认订单页面,确认参数的配置信息并选中服务协议,然后单击立即开通
    当出现恭喜,开通成功!的提示后,说明您创建成功。

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

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

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

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

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

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

步骤四:加入云企业网

以下操作请使用云企业网旧版控制台执行。

  1. 登录云企业网管理控制台
  2. 云企业网实例页面右上角,单击回到旧版
  3. 云企业网实例页面,找到已创建的云企业网实例,单击云企业网实例ID。
  4. 单击网络实例管理页签,然后单击加载网络实例
    本文将VPC1和VPC2加载到同一个云企业网中。具体操作,请参见加载网络实例
  5. 单击路由策略页签,然后单击添加路由策略
  6. 添加路由策略面板,配置以下信息,然后单击确定
    重复步骤5步骤6,配置四条路由策略。
    参数 说明 配置值
    策略优先级 路由策略的优先级。 优先级数字越小,优先级越高。
    • 策略1:1
    • 策略2:2
    • 策略3:3
    • 策略4:4
    描述 输入路由策略的描述信息。
    • 策略1:systemVTB1
    • 策略2:systemVTB2
    • 策略3:VSW1VTB
    • 策略4:VSW3VTB
    地域 选择路由策略应用的地域。 四条路由策略均选择华北1(青岛)
    应用方向 选择路由策略应用的方向。 四条路由策略均选择出地域网关
    匹配条件 路由策略的匹配条件。
    • 策略1:选择目的路由表,然后输入VPC1的系统路由表实例ID。
    • 策略2:选择目的路由表,然后输入VPC2的系统路由表实例ID。
    • 策略3:选择目的路由表,然后输入VSW1的自定义路由表实例ID。
    • 策略4:选择目的路由表,然后输入VSW3的自定义路由表实例ID。
    策略行为 选择策略行为。
    • 策略1:选择允许
    • 策略2:选择允许
    • 策略3:选择拒绝
    • 策略4:选择拒绝
    配置完策略路由之后,VPC1系统路由表和VPC2系统路由表中会学习到指向对端VPC的动态路由。
  7. 返回专有网络控制台。
  8. 在左侧导航栏,单击路由表
  9. 路由表页面,找到VPC1的系统路由表,然后单击路由表实例ID。
  10. 路由条目列表 > 系统页签,找到冲突的路由条目,然后在CEN中状态列单击撤回
    重复步骤9步骤10,将VPC2的系统路由表中的冲突路由条目撤回。

步骤五:为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~128个字符,以大小写字母或中文开头, 可包含数字、下划线(_)和短划线(-)。

步骤六:为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条目的名称。

    名称长度为2~128个字符,以大小写字母或中文开头, 可包含数字、下划线(_)和短划线(-)。

步骤七:测试连通性

  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