当使用云企业网或中转路由器实现多个VPC互通时,若不同VPC的网段存在重叠,可使用私网NAT网关,解决网段地址冲突,实现资源私网互访。
说明
私网NAT网关正在邀测中,暂仅支持完成 企业认证 的账号申请试用,如需试用,请联系客户经理。
某企业的两套业务线的VPC需要通信,但是彼此需要通信的子网重叠。通过私网NAT网关解决IP地址冲突。
本文的示意图如下,若您想了解更多私网NAT网关的路由配置详情,请参考 路由配置原理介绍 。
实现ECS-A1访问ECS-B1,您需要为VPC-A配置SNAT规则,为VPC-B配置DNAT规则。同理可得,实现ECS-B2访问ECS-A2,您需要为VPC-B配置SNAT规则,为VPC-A配置DNAT规则。
本文仅为您演示ECS-A1访问ECS-B1。
根据背景介绍,操作之前,您需要做如下准备:
使用同一个火山引擎账号,在华北2(北京)地域创建2个VPC,VPC的参数同背景介绍保持一致。具体操作,请参考 创建私有网络 。
在VPC-A的子网-A1中创建云服务器ECS-A1(192.168.1.11)、子网-A2中创建云服务器ECS-A2(192.168.2.30),在VPC-B的子网-B1中创建云服务器ECS-B1(192.168.1.22)、子网-B2中创建云服务器ECS-B2(192.168.2.31)。具体操作,请参考 购买云服务器 。
您可参考本操作,为VPC-A和VPC-B各创建一个私网NAT网关。
参数 | 说明 | 本文取值(VPC-A) | 本文取值(VPC-B) |
---|---|---|---|
计费类型 | 仅支持按量计费。 | 按量计费 | 按量计费 |
地域 | 选择私网NAT网关所在地域。 | 华北2(北京) | 华北2(北京) |
名称 | 输入私网NAT网关的名称。 | 私网NAT网关-A | 私网NAT网关-B |
私有网络 | 下拉选择私网NAT网关所属的私有网络。 | VPC-A|192.168.0.0/16 | VPC-B|192.168.0.0/16 |
子网 | 下拉选择子网。 | 子网-A100|192.168.100.0/24 | 子网-B200|192.168.200.0/24 |
规格 | 无需指定规格。 | - | - |
项目 | 选择私网NAT网关所属的项目。 | dedault | dedault |
标签 | 按需为私网NAT网关添加一个或多个用户标签。 | nat:v1 | nat:v2 |
在私网NAT网关列表,查看默认中转IP地址。本文VPC-A的默认中转IP为192.168.100.128,VPC-B的私网NAT网关的默认中转IP为192.168.200.254。
参数 | 说明 | 本文取值 |
---|---|---|
名称 | 设置SNAT规则的名称。 | SNAT-X |
粒度 | 选择SNAT规则的粒度。 | 子网 192.168.1.0/24 |
中转IP | 选择私网NAT网关的中转IP。本文选择默认中转IP。 | 192.168.100.128|nat-default-ip |
在私网NAT网关列表,单击私网NAT网关-B名称,进入详情页面。
选择“DNAT规则”页签,单击“创建DNAT规则”按钮。
参考下表,配置相关参数。
参数 | 说明 | 本文取值 |
---|---|---|
名称 | 输入DNAT规则的名称。 | DNAT-X |
协议 | 选择协议类型,支持TCP、UDP。 | TCP |
本端IP及其端口 | 设置预先准备的云服务器实例的私网IP地址及其端口。 | 192.168.1.22 22 |
中转IP及其端口 | 设置私网NAT网关的中转IP及其端口。本文使用默认中转IP及其端口。 | 192.168.200.254|nat-default-ip 22 |
单击“确定”按钮,完成创建。
DNAT规则创建完成后,您还需要在VPC-A内放通对应的安全组规则。
创建2个自定义路由表,并分别关联私网NAT网关所在的子网。后续私网NAT网关将通过所在子网关联的路由表将流量路由到云企业网或中转路由器。
登录 路由表控制台 。
在顶部导航栏,选择目标地域和项目,本文示例“华北2(北京)”和“default”。
单击“创建路由表”按钮。
参考下表,配置相关参数。
参数 | 说明 | 本文取值(VPC-A的自定义路由表) | 本文取值(VPC-B的自定义路由表) |
---|---|---|---|
名称 | 输入自定义路由表的名称。 | route-A | route-B |
私有网络 | 选择路由表所属的私有网络。 | VPC-A | VPC-B |
路由条目 | 使用默认的系统路由,不手动添加路由。 | - | - |
项目 | 选择路由表的项目。 | default | default |
单击“确定”按钮,完成创建。
在路由表列表,单击新创建自定义路由表route-A右侧的“关联子网”按钮。
选中子网-A100,单击“确定”按钮,完成关联。
同理,为自定义路由表route-B关联子网-B200。
将访问对端网段的流量路由到私网NAT网关:
在路由表列表,单击VPC-A和VPC-B的系统路由表名称。
选择“路由条目 > 自定义路由”页签,单击“添加路由条目”按钮。
参考下表,配置相关参数。
参数 | 说明 | 本文取值(VPC-A的系统路由表) | 本文取值(VPC-B的系统路由表) |
---|---|---|---|
目标网段 | 输入对端网段。 | 192.168.200.0/24 | 192.168.100.0/24 |
下一跳类型 | 选择下一跳类型。 | NAT网关 | NAT网关 |
下一跳 | 选择下一跳资源。 | 私网NAT网关-A | 私网NAT网关-B |
单击“确定”按钮,完成配置。
您可通过本操作,创建云企业网,并加载预先准备的私有网络VPC-A。
参数 | 说明 | 本文取值 |
---|---|---|
名称 | 输入云企业网实例的名称。 | 云企业网-X |
加载网络实例 | 选择是否打开加载网络实例的开关。 | 打开 |
地域 | 选择待加载网络实例所属地域。 | 华北2(北京) |
实例类型 | 选择网络实例类型。 | 私有网络 |
网络实例 | 选择私有网络实例。 | VPC-A |
项目 | 选择云企业网所属的项目。 | default |
标签 | 按需为云企业网添加一个或多个用户标签。 | cen:v1 |
参数 | 说明 | 本文取值 |
---|---|---|
账号 | 选择待加载网络实例所属的账号。 | 本账号 |
地域 | 选择待加载网络实例所属地域。 | 华北2(北京) |
实例类型 | 选择网络实例类型。 | 私有网络 |
网络实例 | 选择私有网络实例。 | VPC-B |
此时,VPC-A的自定义路由表自动从云企业网同步到192.168.200.0/24 、下一跳为云企业网-X的路由条目。VPC-B的自定义路由表自动从云企业网同步到192.168.100.0/24 、下一跳为云企业网-X的路由条目。
路由表名称 | 关联子网 | 目标网段 | 下一跳 |
---|---|---|---|
VPC-A的系统路由表 | 子网-A1、子网-A2 | 192.168.200.0/24 | 私网NAT网关-A |
VPC-A的自定义路由表 | 子网-A100 | 192.168.200.0/24 | 云企业网-X |
VPC-B的系统路由表 | 子网-B1、子网-B2 | 192.168.100.0/24 | 私网NAT网关-B |
VPC-B的自定义路由表 | 子网-B200 | 192.168.100.0/24 | 云企业网-X |
登录 中转路由器控制台 。
单击“创建中转路由器”按钮。
参考下表,配置相关参数。
参数 | 说明 | 本文取值 |
---|---|---|
地域 | 选择中转路由器实例所属的地域。 | 华北2(北京) |
名称 | 输入中转路由器实例的名称。 | 中转路由器-X |
项目 | 选择中转路由器实例的项目。 | default |
单击“确定”按钮,完成创建中转路由器实例。
说明
中转路由器实例创建成功后,系统自动创建了TR系统路由表,请记录该TR系统路由表的名称。下文以RouteTable-default为例。
在中转路由器实例列表页面,单击目标中转路由器实例的名称。
选择“路由表”页签,单击TR路由表列表旁的“创建路由表”按钮,弹出创建路由表窗口。
输入TR自定义路由表名称R-Table-X。单击“确定”按钮,完成创建TR自定义路由表。
参考以下步骤,依次创建2条网络实例连接,2条网络实例连接的配置分别如参数配置表中的取值示例一、取值示例二。
在中转路由器实例列表页面,单击目标中转路由器实例的名称。
在“网络实例连接”页签, 单击“创建网络实例连接”按钮。
参考下表,配置相关参数。
参数 | 说明 | 取值示例一 | 取值示例二 |
---|---|---|---|
中转路由器 | 默认为您选定的中转路由器实例。 | 中转路由器-X | 中转路由器-X |
地域 | 默认与中转路由器实例的地域相同。 | 华北2(北京) | 华北2(北京) |
名称 | 待创建网络实例连接的名称。 | Attach-VPC-A | Attach-VPC-B |
网络实例类型 | 选择待创建网络实例连接的类型。 | 私有网络 | 私有网络 |
私有网络 | 选择待关联的私有网络实例。 | VPC-A | VPC-B |
可用区及子网 | 选择连接点的所在可用区的子网。子网为网络实例连接的网卡分配私网IP地址。 | 可用区A,子网-A1 | 可用区A,子网-B1 |
关联转发 | 是否开启关联转发,并选择关联转发的TR路由表。开启后,来自该网络实例连接的流量,将按照其关联转发TR路由表的路由条目进行转发。 | 开启,RouteTable-default | 开启,R-Table-X |
路由学习 | 是否为开启路由学习,并选择路由选择的TR路由表。开启后,指定TR路由表自动生成目标网段为该私有网络子网的网段,下一跳为该网络实例连接的路由条目。 | 开启,R-Table-X | 开启,RouteTable-default |
单击“确定”按钮,完成操作。
此时,两个TR路由表路由条目和关联转发情况如下:
TR路由表名称 | 目标网段 | 下一跳 | 关联转发 | 说明 |
---|---|---|---|---|
RouteTable-default | 192.168.200.0/24 | Attach-VPC-B | Attach-VPC-A | 中转路由器从Attach-VPC-A接收的访问192.168.200.0/24 的流量将转发至Attach-VPC-B。 |
R-Table-X | 192.168.100.0/24 | Attach-VPC-A | Attach-VPC-B | 中转路由器从Attach-VPC-B接收的访问 192.168.100.0/24 的流量将转发至Attach-VPC-A。 |
为自定义路由表route-A和route-B手动添加路由条目,将私网NAT网关-A和私网NAT网关-B的流量路由到中转路由器。
在路由表列表,单击目标自定义路由表名称。
在“路由条目 > 自定义路由”页签,单击“添加路由条目”按钮。
参考下表,在VPC-A的自定义路由表route-A,添加如下自定义路由。
参数 | 说明 | 本文取值 |
---|---|---|
目标网段 | 输入为VPC-B的子网B200网段。 | 192.168.200.0/24 |
下一跳类型 | 选择路由条目的下一跳资源类型,将指向目标网段的流量转发到指定的资源。 | 中转路由器 |
下一跳 | 指定具体的下一跳资源。 | 中转路由器-X |
参考下表,在VPC-B的自定义路由表route-B,添加如下自定义路由。
参数 | 说明 | 本文取值 |
---|---|---|
目标网段 | 输入VPC-A的子网-A100网段。 | 192.168.100.0/24 |
下一跳类型 | 选择路由条目的下一跳资源类型,将指向目标网段的流量转发到指定的资源。 | 中转路由器 |
下一跳 | 指定具体的下一跳资源。 | 中转路由器-X |
单击“确定”按钮,完成路由配置。
此时,除去系统默认的路由条目外,四个路由表的路由条目如下:
路由表名称 | 关联子网 | 目标网段 | 下一跳 |
---|---|---|---|
VPC-A的系统路由表 | 子网-A1 | 192.168.200.0/24 | 私网NAT网关-A |
VPC-A的自定义路由表 | 子网-A100 | 192.168.200.0/24 | 中转路由器-X |
VPC-B的系统路由表 | 子网-B1 | 192.168.100.0/24 | 私网NAT网关-B |
VPC-B的自定义路由表 | 子网-B200 | 192.168.100.0/24 | 中转路由器-X |
ping <私网NAT网关-B的中转IP>
。本文输入ping 192.168.200.254
。ping
通,则表示ECS-A1能访问私网NAT网关-B。若不能ping
通,请检查SNAT规则及相关路由配置。ssh <DNAT规则设置的中转IP地址> -p <DNAT规则设置的中转IP端口>
。本文输入ssh 192.168.200.254 -p 22
。