为了连通网段重叠的 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 实例。
