为了连通网段重叠的 VPC,可添加附加网段并创建 VPC NAT 网关,通过地址转换解决地址冲突。
工作原理
地址冲突原因
网段重叠的 VPC 和交换机中的 ECS 互访时:
- 配置对端VPC网段作为目标网段:流量会优先匹配系统路由,在 VPC 内部转发,无法抵达对端 VPC。 
- 配置对端交换机网段作为目标网段:无法配置与已有系统路由目标网段相同或更明细的自定义路由。 
NAT 解决方案
- 添加附加IPv4网段:为 2 个 VPC 分别添加不重叠的附加网段,提供不冲突的私网地址。 
- 地址转换:使用 VPC NAT 网关转换 ECS 的私网 IP,解决私网地址冲突。 
- VPC 互通:将 VPC 接入转发路由器,并配置自定义路由条目,确保流量正确转发。 
流量路径示例
某企业在华东1(杭州)地域计划连通已创建的 2 个 VPC,但 VPC 网段重叠。使用 VPC NAT 网关实现地址转换,并结合路由配置确保流量转发至 VPC NAT 网关后,可部署云企业网/对等连接实现私网互通。
以 ECS_A(私网IP:192.168.0.86)访问 VPC_NATGW_B(私网IP:10.0.0.53)为例。
- 按照 ECS_A 所在交换机绑定的自定义路由表的路由配置,访问数据包转发至 VPC_NAT 网关。 
- 按照 VPC_NAT_A 配置的 SNAT 规则,数据包的源 IP 将转换为 NAT IP(172.16.0.89)。 
- 按照 VPC_A 系统路由表的路由配置,数据包将转发至转发路由器 TR,再由 TR 转发至 VPC_B,从而到达 VPC_B 的VPC NAT网关。 
- 按照 VPC_NAT_B 配置的 DNAT 规则,数据包的目的地址将转换为 ECS_B,流量转发至目标服务器,从而实现 ECS 互访。 
当 ECS_B 返回响应数据包时,将按照会话映射表还原为原始的私网 IP,并按照路由最终送达 ECS_A。
操作步骤
以流量路径的示例场景为例。
步骤一:配置附加网段
步骤二:配置VPC NAT网关
创建 VPC NAT 网关并配置 SNAT 条目和 DNAT 条目,将各自 VPC 中的 ECS 实例私网 IP 转换为 NAT IP,解决地址冲突。
- 创建 VPC NAT 网关:前往VPC NAT 网关购买页。 - 地域:选择 VPC 所属地域。 
- 网络及可用区:分别为VPC_A、VPC_B创建VPC NAT网关,选择使用附加网段创建的交换机。 
 
- 配置 SNAT 条目:VPC NAT 网关将按照配置的 SNAT 规则将数据包的源 IP 转换为 NAT IP 地址。 - 前往VPC NAT 网关列表页,在顶部菜单栏选择 VPC NAT 所属地域。 
- 单击目标 VPC NAT 实例操作列的SNAT管理。单击创建SNAT条目。 - SNAT条目粒度:本文选择VPC粒度,可以根据自身需求调整。 
- 选择NAT IP地址:选择 VPC NAT 网关的私网 IP。 
 
 
- 配置 DNAT 条目:VPC NAT 网关将按照配置的 DNAT 规则将数据包的目的 IP 转换为 NAT IP 地址。 - 前往VPC NAT 网关列表页,在顶部菜单栏选择 VPC NAT 所属地域。 
- 单击目标 VPC NAT 实例操作列的DNAT管理。单击创建DNAT条目。 - 选择NAT IP地址:选择 VPC NAT 网关的私网 IP。 
- 选择私网IP地址:选择 VPC 中需互通的 ECS 实例。 
- 端口设置:本文以SSH服务作为内网互通的验证方式。SSH 服务采用面向连接的TCP协议传输,应用22号端口。故配置具体端口的前端端口和后端端口均为22,协议类型选择TCP。 - 可以根据自身实际需求创建对应的DNAT条目。 
 
 
步骤三:连通 VPC
- 创建 VPC 连接: - 转发路由器支持的地域和可用区。 - 本示例为同账号同地域 VPC 互通。需根据 VPC 账号与地域归属,参考跨地域VPC互通或跨账号VPC互通。 - 前往云企业网管理控制台,单击创建云企业网实例。选择单独创建并确认。 
- 创建成功后,单击创建网络实例连接。 - 实例类型:选择专有网络(VPC)。 
- 地域:选择 VPC 所属地域。 
- 资源归属UID:根据 VPC 的账号归属选择。本文选择同账号。 
- 网络实例:选择 VPC_A。 
- 交换机:为实现多可用区容灾,至少选择两个可用区。必须包含 VPC NAT 网关所在的交换机。 
- 高级配置:全部勾选。 
 
- 创建完成后,单击继续创建连接,为 VPC_B 创建 VPC 连接。 
 
- 配置路由: - NAT 网关本身不决定流量的走向,仅负责地址转换。流量是否会被发送到 NAT 网关,以及地址转换后流向何处,由 VPC 的路由表控制。 - 创建自定义路由表并绑定交换机: - 前往路由表列表页,在顶部菜单栏选择 VPC 所属地域。 
- 单击创建交换机。 - 专有网络:分别为VPC_A、VPC_B创建路由表。 
- 绑定对象类型:选择交换机。 
 
- 在路由表列表页,单击目标自定义路由表绑定资源列的立即绑定,绑定 ECS 实例所在的交换机。 
 
- 配置路由条目:单击目标路由表 ID,在自定义路由条目页签,单击添加路由条目,配置目标网段与下一跳。 - 按照下表配置路由,确保流量正确转发。 - 专有网络 - 路由表 - 目标网段 - 下一跳 - VPC_A - 系统路由表 - 10.0.0.0/24 - 转发路由器 - 自定义路由表 - 10.0.0.0/24 - VPC_NATGW_A - VPC_B - 系统路由表 - 172.16.0.0/24 - 转发路由器 - 自定义路由表 - 172.16.0.0/24 - VPC_NATGW_B 
 
步骤四:结果验证
登录 ECS_A 实例,执行如下命令。
# 通过访问VPC_NATGW_B实例的 NAT IP(10.0.0.53),远程登录 ECS_B 实例
# 确保 ECS_B 实例所属安全组已放通22号端口
ssh root@10.0.0.53
# 查看实例网卡 IP
ifconfig可确认 ECS_A 实例通过 VPC_NATGW_A 的 NAT IP(172.16.0.89)访问 VPC_NATGW_B 的NAT IP(10.0.0.53),从而远程登录到 ECS_B 实例。
