本文指导您通过使用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和交换机的创建。具体操作,请参见搭建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网关。
- 登录NAT网关管理控制台。
- 在左侧导航栏,选择 。
- 在VPC NAT网关页面,单击创建VPC NAT网关。
- 在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网关),需要单击创建服务关联角色完成创建。
- 在确认订单页面,确认参数的配置信息并选中服务协议,然后单击立即开通。当出现恭喜,开通成功!的提示后,说明您创建成功。
步骤二:创建自定义路由表
重复以下步骤,为VSW2和VSW4创建自定义路由表。
- 登录专有网络管理控制台。
- 在左侧导航栏,单击路由表。
- 在顶部菜单栏,选择路由表所属的地域。
- 在路由表页面,单击创建路由表。
- 在创建路由表页面,配置以下参数信息,然后单击确定。下表列出了为VSW2和VSW4创建自定义路由表的配置参数。
参数 说明 配置值 资源组 选择路由表所属的资源组。 此处均选择全部。 专有网络 选择路由表所属的VPC。 - 为VSW2创建路由表:选择VPC1。
- 为VSW4创建路由表:选择VPC2。
名称 输入路由表的名称。 - 为VSW2创建路由表:VSW2VTB。
- 为VSW4创建路由表:VSW4VTB。
描述 输入路由表的描述。 - 为VSW2创建路由表:输入VSW2自定义路由表。
- 为VSW4创建路由表:输入VSW4自定义路由表。
- 在路由表页面,找到已创建的路由表,然后单击路由表的ID。
- 在路由表详情页面,单击已绑定交换机页签,然后单击绑定交换机。
- 在绑定交换机对话框,选择要绑定的交换机,然后单击确定。
- 为VSW2创建自定义路由表时,请选择VSW2交换机。
- 为VSW4创建自定义路由表时, 请选择VSW4交换机。
步骤三:创建VPC连接
您可以将VPC1和VPC2连接至华北1(青岛)地域的转发路由器实例,之后云企业网自动完成路由的分发和学习以实现VPC1与VPC2之间的相互通信。
说明 使用企业版转发路由器创建VPC连接前,请确保VPC实例在企业版转发路由器支持的可用区拥有至少一个交换机实例,且该交换机实例拥有至少一个空闲的IP地址。本文已创建的转发路由器实例在华北1(青岛)地域,支持的可用区为青岛可用区B和青岛可用区C。
- 登录云企业网管理控制台。
- 在云企业网实例页面,找到目标云企业网实例,单击目标实例ID。
- 在操作列单击创建网络实例连接。 页签,找到目标地域的转发路由器实例,在
- 在连接网络实例页面,配置以下参数信息,然后单击确定创建。下表列出了创建VPC1连接和VPC2连接的配置参数。说明 在初次执行此操作时,系统会自动为您创建一个服务关联角色,角色名称为AliyunServiceRoleForCEN。该角色将允许转发路由器实例在VPC的交换机上创建ENI。更多信息,请参见AliyunServiceRoleForCEN。
参数 说明 配置值 实例类型 选择待连接的网络实例类型。 此处均选择专有网络(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的所有路由表配置指向转发路由器的路由。 此处均保持默认配置。
- 返回专有网络控制台。
- 在左侧导航栏,单击路由表。
- 在路由表页面,找到VPC1的系统路由表,然后单击路由表实例ID。
- 在CEN中状态列单击撤回。 页签,找到冲突的路由条目,然后在
步骤四:为自定义路由表添加路由条目
重复以下步骤,为创建的VSW2VTB和VSW4VTB自定义路由表添加路由条目。
- 登录专有网络管理控制台。
- 在左侧导航栏,单击路由表。
- 在顶部菜单栏,选择路由表所属的地域。
- 在路由表页面,找到目标自定义路由表,单击路由表的ID。
- 选择添加路由条目。 页签,单击
- 在添加路由条目面板,配置以下参数信息,然后单击确定。
参数 说明 配置值 名称 输入路由条目的名称。 - VSW2VTB:VPCNATGW1ENTRY。
- VSW4VTB:VPCNATGW2ENTRY。
目标网段 输入要转发到的目标网段。 此处配置为对端中转交换机的网段。 - VSW2VTB:192.168.200.0/24。
- VSW4VTB:192.168.100.0/24。
下一跳类型 选择下一跳的类型。 此处均选择转发路由器。 转发路由器 选择具体的转发路由器实例。 - VPC1自定义路由表:VPC1连接。
- VPC2自定义路由表:VPC2连接。
步骤五:为VPC系统路由表添加路由条目
重复以下步骤,为VPC1和VPC2的系统路由表添加路由条目。
- 登录专有网络管理控制台。
- 在左侧导航栏,单击路由表。
- 在顶部菜单栏,选择路由表所属的地域。
- 在路由表页面,找到目标系统路由表,单击路由表的ID。
- 选择添加路由条目。 页签,单击
- 在添加路由条目面板,配置以下参数,然后单击确定。
参数 说明 配置值 名称 输入路由条目的名称。 - 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条目
- 登录NAT网关管理控制台。
- 在左侧导航栏,选择 。
- 在顶部菜单栏,选择VPC NAT网关的地域。
- 在VPC NAT网关页面,找到目标VPC NAT网关实例,然后在操作列单击SNAT管理。
- 在SNAT管理页签,单击创建SNAT条目。
- 在创建SNAT条目页面,配置以下参数信息,然后单击确定创建。
参数 说明 SNAT条目粒度 选择SNAT条目的粒度。本文选择VPC粒度,即VPC NAT网关所属VPC下的所有地址段可以通过配置的SNAT规则访问外部网络。 选择NAT IP地址 在下拉列表中选择用来访问外部网络的NAT IP地址。本文选择默认NAT IP地址。 条目名称 SNAT条目的名称。
步骤七:为VPC NATGW2配置DNAT条目
- 登录NAT网关管理控制台。
- 在左侧导航栏,选择 。
- 在顶部菜单栏,选择VPC NAT网关的地域。
- 在VPC NAT网关页面,找到目标VPC NAT网关实例,然后在操作列单击DNAT管理。
- 在DNAT管理页签,单击创建DNAT条目。
- 在创建DNAT条目页面,配置以下参数信息,然后单击确定创建。
配置 说明 选择NAT IP地址 选择供外部网络访问的NAT IP地址。 本文选择默认NAT IP地址。 选择私网IP地址 选择要通过DNAT规则进行通信的私网IP地址。本文以通过ECS或弹性网卡进行选择方式选择ECS2实例的私网IP地址。 端口设置 选择DNAT映射的方式。本文选择端口映射方式。具体端口,前端端口输入22,后端端口输入22,协议类型选择TCP。 条目名称 输入DNAT条目的名称。
步骤八:测试连通性
- 登录VSW1下的ECS1实例。具体操作,请参见ECS连接方式概述。
- 执行
ping
命令,ping
VPC NATGW2的默认NAT IP地址,测试ECS1实例是否能访问ECS2实例。经测试,ECS1实例可以访问ECS2实例。 - 执行
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实例。