背景介绍
VPC-A的网段为172.16.0.0/16,其子网-A的网段为172.16.1.0/24。
VPC-B的网段为192.168.0.0/16,其子网-B的网段为192.168.1.0/24。
VPC-C的网段为10.0.0.0/16,其子网-C的网段为10.0.1.0/24。
VPC-A、VPC-B分别与VPC-C互通,VPC-A与VPC-B彼此之间隔离。
前提条件
使用同一个火山引擎账号,创建3个VPC(本文示例的地域为华北2(北京)),VPC的参数同背景介绍保持一致。具体操作,请参考 创建私有网络 。
在VPC-A的子网-A中创建云服务器ECS-A(172.16.1.11),在VPC-B的子网-B中创建云服务器ECS-B(192.168.1.22),在VPC-C的子网-C中创建云服务器ECS-C(10.0.1.33),三台云服务器均未绑定公网IP。具体操作,请参考 购买云服务器 。
申请一个未绑定云资源的公网IP,本文使用EIP-X(180.XX.XX.44)。具体操作,请参考 申请公网IP 。
操作步骤
步骤一:配置中转路由器
多个VPC同账号不同地域,操作步骤请参考 实现不同VPC之间的私网互通与隔离(同账号跨地域) 。
多个VPC不同账号同地域,操作步骤请参考 实现不同VPC之间的私网互通与隔离(跨账号同地域)。
VPC-A与VPC-B不同账号不同地域,操作步骤与实现不同VPC之间的私网互通与隔离(同账号跨地域) 和 实现不同VPC之间的私网互通与隔离(跨账号同地域) 同理 。
创建中转路由器实例及其路由表
登录 中转路由器控制台 。
单击“创建中转路由器”按钮。
参考下表,配置相关参数。
参数 | 说明 | 取值示例 |
地域 | 选择中转路由器实例所属的地域。 | 华北2(北京) |
名称 | 输入中转路由器实例的名称。 | TR-X |
项目 | 选择中转路由器所属的项目。 | default |
标签 | 按需为中转路由器添加一个或多个用户标签。 | 不添加用户标签 |
单击“确定”按钮,完成创建中转路由器实例。
在中转路由器实例列表页面,单击目标中转路由器实例的名称。
选择“路由表”页签,单击TR路由表列表旁的“创建路由表”按钮。
输入TR自定义路由表名称R-Table-X。单击“确定”按钮,完成创建TR自定义路由表。
创建网络实例连接
在中转路由器实例列表页面,单击目标中转路由器实例的名称。
在“同地域网络实例连接”页签, 单击“创建网络实例连接”按钮。
参考下表,配置相关参数。
参数 | 说明 | 取值示例一 | 取值示例二 | 取值示例三 |
中转路由器 | 默认为您选定的中转路由器实例。 | TR-X | TR-X | TR-X |
地域 | 默认与中转路由器实例的地域相同。 | 华北2(北京) | 华北2(北京) | 华北2(北京) |
名称 | 待创建网络实例连接的名称。 | Attach-VPC-A | Attach-VPC-B | Attach-VPC-C |
网络实例类型 | 选择待创建网络实例连接的类型。 | 私有网络 | 私有网络 | 私有网络 |
私有网络 | 选择待关联的私有网络实例。 | VPC-A | VPC-B | VPC-C |
可用区及子网 | 选择连接点的所在可用区的子网。子网为网络实例连接的网卡分配私网IP地址。 | 可用区A,子网-A | 可用区A,子网-B | 可用区A,子网-C |
关联转发 | 是否开启关联转发,并选择关联转发的TR路由表。开启后,来自该网络实例连接的流量,将按照其关联转发TR路由表的路由条目进行转发。 | 开启,RouteTable-default | 开启,RouteTable-default | 开启,R-Table-X |
路由学习 | 是否为开启路由学习,并选择路由选择的TR路由表。开启后,指定TR路由表自动生成目标网段为该私有网络子网的网段,下一跳为该网络实例连接的路由条目。 | 开启,R-Table-X | 开启,R-Table-X | 开启,RouteTable-default |
单击“确定”按钮,完成操作。
TR路由表名称 | 目标网段 | 下一跳 | 关联转发 | 说明 |
RouteTable-default | 10.0.1.0/24 | Attach-VPC-C | Attach-VPC-A、Attach-VPC-B | 中转路由器从Attach-VPC-A和Attach-VPC-B接收的访问10.0.1.0/24的流量将转发至Attach-VPC-C。 |
R-Table-X | 172.16.1.0/24 | Attach-VPC-A | Attach-VPC-C | 中转路由器从Attach-VPC-C接收的访问 172.16.1.0/24的流量将转发至Attach-VPC-A。 |
192.168.1.0/24 | Attach-VPC-B | 中转路由器从Attach-VPC-C接收的访问192.168.1.0/24的流量将转发至Attach-VPC-B。 |
配置VPC路由表
登录 路由表控制台。
在顶部导航栏,选择项目和地域。
在路由表列表中,通过目标VPC的ID搜索路由表。
单击目标路由表名称。
在“路由条目 > 自定义路由”页签,单击“添加路由条目”按钮。
参考下表,在VPC-A和VPC-B的路由表,均添加如下自定义路由。
参数 | 说明 | 取值示例 |
目标网段 | 指定为VPC-C的网段。 | 10.0.0.0/16 |
下一跳类型 | 选择路由条目的下一跳资源类型,将指向目标网段的流量转发到指定的资源。 | 中转路由器 |
下一跳 | 指定具体的下一跳资源。 | TR-X |
参考下表,在VPC-C的路由表,添加如下两条自定义路由。
参数 | 说明 | 取值示例一 | 取值示例二 |
目标网段 | 分别指定为VPC-A、VPC-B的网段。 | 172.16.0.0/16 | 192.168.0.0/16 |
下一跳类型 | 选择路由条目的下一跳资源类型,将指向目标网段的流量转发到指定的资源。 | 中转路由器 | 中转路由器 |
下一跳 | 指定具体的下一跳资源。 | TR-X | TR-X |
单击“确定”按钮,完成路由配置。
验证。以下步骤以Linux云服务器为例:
登录VPC-A云服务器实例ECS-A(172.16.1.11),验证能否与VPC-B、VPC-C的云服务器器ECS-B、ECS-C互通,即在命令行执行ping 192.168.1.22和ping 10.0.1.33。预期结果如下:
VPC-A中的ECS实例与VPC-B中的ECS实例相互隔离,即ECS-A与ECS-B无法ping通。
VPC-A中的ECS实例与VPC-C中的ECS实例能够互通,即ECS-A与ECS-C可以ping通。
同理,登录VPC-B、VPC-C中的ECS实例,验证VPC-A、VPC-B、VPC-C三者之间的互通与隔离。
步骤二:配置公网NAT网关
登录 公网NAT网关控制台 。
在顶部导航栏,选择目标地域和项目,本文示例“华北2(北京)”和“default”。
单击“创建公网NAT网关”按钮。
参考下表,配置相关参数。
参数 | 说明 | 本文取值 |
计费类型 | 支持按量计费和包年包月。 | 按量计费 |
地域 | 选择公网NAT网关所在地域。 | 华北2(北京) |
名称 | 设置公网NAT网关的名称。 | NAT-X |
计费方式 | 当计费类型为“按量计费”时,选择公网NAT网关的计费方式。支持 按规格计费 和 按使用量计费 。 说明
| 按规格计费 |
规格 | 选择公网NAT网关的规格。 | 小型 |
私有网络 | 选择私有网络。 | VPC-C|10.0.0.0/16 |
子网 | 下拉选择子网。 | 子网-C|10.0.1.0/24 |
项目 | 按需选择公网NAT网关所属的项目。 | default |
配置方式 | 当计费类型为“按量计费”时,选择公网NAT网关的配置方式。
| 自动配置(全通模式) |
公网IP | 当配置方式为“自动配置”时,下拉选择一个公网IP。 | EIP-X |
标签 | 按需为公网NAT网关添加一个或多个用户标签。 | 不添加用户标签 |
单击“确认订单”按钮。
请根据控制台指引查阅并确认相关协议,单击“立即购买”按钮,完成操作。
步骤三:配置NAT网关相关路由
配置TR路由表
登录 中转路由器控制台。
单击目标中转路由器实例的名称。
选择“路由表”页签,选中TR系统路由表RouteTable-default,右侧显示TR路由表详情页面。
在“路由条目”页签,单击“创建静态路由”按钮。
参考下表,配置相关参数。
参数 | 说明 | 取值示例 |
路由名称 | 输入静态路由的名称。 | NAT-Gateway |
目标网段 | 输入静态路由目标网段。 | 0.0.0.0/0 |
黑洞路由 | 选择静态路由是否为黑洞路由。 | 否 |
下一跳 | 选择下一跳网络实例连接。 | Attach-VPC-C |
单击“确定”按钮,完成操作。
配置VPC路由表
登录路由表控制台。
在顶部导航栏,选择目标项目和地域。
在路由表列表中,单击的VPC-A的路由表名称。
在“路由条目 > 自定义路由”页签,单击“添加路由条目”按钮。
参见下表,配置相关参数。
参数 | 说明 | 取值示例 |
目标网段 | 设置流量路由的目标网段。 | 0.0.0.0/0 |
下一跳类型 | 选择路由条目的下一跳资源类型 | 中转路由器 |
下一跳 | 根据下一跳类型,下拉选择资源。 | TR-X |
单击“确定”按钮,完成配置。
方案一:在VPC-B的路由表中也添加目标网段为0.0.0.0/0,下一跳TR-X的路由条目,此时VPC-A、VPC-B均共享VPC-C的公网NAT网关与公网互通,但VPC-A、VPC-B、VPC-C三者之间已彼此互通,即VPC-A与VPC-B已不再彼此隔离,可设置网络ACL或安全组控制VPC-A与VPC-B彼此之间的流量。
方案二:在VPC-B中单独创建一个公网NAT网关,可保证VPC-A与VPC-B彼此之间隔离。