You need to enable JavaScript to run this app.
导航

实现不同VPC之间的私网互通与隔离(跨账号同地域)

最近更新时间2024.04.23 10:47:46

首次发布时间2023.08.01 10:18:11

本文为您介绍跨账号同地域场景下,如何通过中转路由器快速实现账号A中的vpc01和vpc02均可以通过中转路由器与账号B中的vpc03互通,但vpc01与vpc02之间不能互通,如下图所示。
alt

前提条件

  • 已完成本文所需3个VPC及其子网的创建,详细操作可参见搭建IPv4私有网络

    说明

    请确保各VPC中的子网段不冲突,即无重复网段或重叠网段。

  • 已完成3个VPC中ECS实例的创建,详细操作可参见购买云服务器

路由规划

同一TR实例下,访问目标完全相同的多个网络实例可以通过同一个TR路由表转发流量,因此本文中,vpc01和vpc02访问vpc03可以使用同一个TR路由表,vpc03访问vpc01和vpc02使用一个TR路由表,即至少需要2个TR路由表,具体路由规划如下图所示。
alt

说明

上图中VPC路由表中的路由可以手动配置,也可以自动同步,本文以自动同步方式为例进行介绍。如需手动配置VPC路由,请参见搭建云上VPC网络的互通与隔离

配置流程

alt

  1. 配置TR实例(账号A):使用账号A完成以下TR配置。
    1. 创建TR实例:创建一个TR实例,作为中转路由器服务运行的载体。
    2. 创建TR自定义路由表:创建一个TR自定义路由表,和TR系统路由表一起用于接收和转发网络流量。
    3. 创建网络实例连接并配置路由:创建2个网络实例连接分别连接2个同账号的VPC,并完成网络实例连接相关的路由学习和关联转发路由表的配置。
  2. 创建共享规则(账号A):使用账号A创建共享规则,将TR实例共享给账号B。
  3. 接受共享规则(账号B):使用账号B接受账号A共享的TR实例。
  4. 创建网络实例连接并配置路由(账号B):使用账号B在共享TR实例中创建1条网络实例连接,将共享TR实例与本账号中的vpc03连接起来,并为该网络实例连接配置路由学习,使TR系统路由表中自动生成去往vpc03的路由条目。
  5. 为TR自定义路由表配置关联转发(账号A):使用账号A为跨账号网络实例连接配置关联转发,使来自vpc03的访问流量通过TR自定义路由表转发。
  6. 结果验证:通过ping命令测试不同VPC中ECS实例之间的连通性,确保实现了目标场景的互通和隔离。

配置步骤

步骤一:配置TR实例(账号A)

一、创建TR实例

  1. 使用账号A登录中转路由器控制台
  2. 在顶部导航栏,选择目标项目和地域。
  3. 单击“创建中转路由器”按钮,进入创建中转路由器页面,参考下表配置TR实例相关参数。
    alt
    参数说明取值示例
    地域选择待创建TR实例所属的地域。华南1(广州)
    名称输入待创建TR实例的名称。tr01

    ASN

    指定TR实例BGP AS号(自治系统编号),取值范围为64512~65534或4200000000~4294967294。不同地域的TR实例请分别使用不同的ASN。
    该TR实例发布到其他网络实例的路由,其路由属性AsPath最前面会自动添加该TR实例的ASN。

    说明

    该参数正在邀测中,如需使用,请联系客户经理申请。

    64512

    项目选择待创建TR实例所属的项目。default
    协议请根据控制台指引查阅并确认相关协议。勾选
  4. 单击“确定”按钮,完成TR实例的创建。

    说明

    创建TR实例时系统会自动为其创建一个系统路由表,请记录该系统路由表的名称。下文以rtb-sys为例。

二、创建TR自定义路由表

  1. 单击目标TR实例的名称,进入TR实例详情页面。
  2. 在“基本信息”下方区域,单击“路由表”页签,进入路由表页面。
  3. 单击路由表列表右侧的“创建路由表”按钮,进入创建路由表页面,输入路由表名称rtb-set。
    alt
  4. 单击“确定”按钮,完成TR路由表的创建。

三、创建网络实例连接并配置TR路由

参考以下步骤依次创建2条网络实例连接,分别连接TR实例和账号A中的vpc01和vpc02。2条网络实例连接的配置分别如参数配置表中的取值示例一和取值示例二。

  1. 在“基本信息”下方区域,单击“同地域网络实例连接”页签,进入网络实例连接列表页面。
    alt

  2. 单击“创建网络实例连接”按钮,进入创建网络实例连接页面,参考下表完成网络实例连接的基本配置。
    alt

    参数说明取值示例(连接vpc01)取值示例(连接vpc02)
    基本信息
    中转路由器默认为您选定的中转路由器实例,无需手动配置。tr01tr01
    地域默认与中转路由器实例的地域相同,无需手动配置。华南1(广州)华南1(广州)
    名称待创建网络实例连接的名称。attach-vpc01attach-vpc02
    网络实例
    网络实例类型选择待创建网络实例连接的类型。私有网络私有网络
    私有网络选择待连接的私有网络实例。vpc01vpc02
    连接点配置
    可用区及子网选择TR连通VPC时的入口点,请先选择可用区再选择子网。可用区A,subnet01可用区A,subnet02
  3. 参考下表完成网络实例连接的路由配置。

    参数说明取值示例(连接vpc01)取值示例(连接vpc02)

    关联转发

    TR将根据该网络实例连接所关联转发的路由表,转发来自对应网络实例的流量。

    说明

    以attach-vpc01为例,开启关联转发后,中转路由器将根据TR路由表rtb-sys转发来自vpc01的流量。

    开启,rtb-sys

    开启,rtb-sys

    路由学习

    开启路由学习表示该TR路由表会自动学习网络实例的路由条目,在该TR路由表中自动生成目标网段为VPC子网段,下一跳为该网络实例连接的路由条目。

    说明

    以attach-vpc01为例,开启路由学习后,TR路由表rtb-set中自动生成目标网段为vpc01子网段,下一跳为attach-vpc01的路由条目。

    开启,rtb-set

    开启,rtb-set

    路由同步

    开启路由同步表示系统会自动将关联转发的TR路由表中的路由条目,同步至所选择的私有网络的所有路由表中,作为VPC系统路由条目。

    说明

    以attach-vpc01为例,开启路由同步后,系统自动将TR路由表rtb-sys中的路由条目同步至vpc01路由表中作为系统路由条目。

    开启

    开启

  4. 单击“确定”按钮,完成操作。

本步骤配置完成后,TR路由表和VPC路由表中的路由条目如下:

  • TR路由表rtb-sys中暂无路由条目,TR路由表rtb-set中的路由条目如下图所示。
    alt
  • 由于vpc01和vpc02路由表自动同步TR路由表rtb-sys中的路由条目,因此vpc01和vpc02路由表的路由条目无变化。

步骤二:创建共享规则(账号A)

  1. 在“基本信息”下方区域,单击“实例共享”页签,进入共享规则列表页面。
  2. 单击“创建共享”按钮,进入创建共享页面。
  3. 在“共享对象账号”参数框中输入账号B的账号ID。
  4. 单击“确定”按钮,完成操作。

步骤三:接受共享规则(账号B)

  1. 使用账号B登录中转路由器控制台
  2. 在中转路由器实例列表页面,单击共享中转路由器实例右侧的“接受共享”按钮。
  3. 在弹出的对话框中确认共享信息无误后,单击“接受共享”按钮,完成操作。
    接受成功后,在中转路由器实例列表页面,该共享中转路由器实例由“待接受共享”状态变为“已接受”状态。

步骤四:创建网络实例连接并配置路由(账号B)

  1. 单击共享TR实例的名称,进入TR实例详情页面。

  2. 在“基本信息”下方区域,选择“同地域网络实例连接”页签。

  3. 单击“创建网络实例连接”按钮,进入创建网络实例连接页面,参考下表完成网络实例连接的基本配置。

    参数说明取值示例
    基本信息
    中转路由器默认为您选定的中转路由器实例,无需手动配置。tr01
    地域默认与中转路由器实例的地域相同,无需手动配置。华南1(广州)
    名称待创建网络实例连接的名称。attach-vpc03
    网络实例
    网络实例类型选择待创建网络实例连接的类型。私有网络
    私有网络选择待连接的私有网络实例。vpc03
    连接点配置
    可用区及子网选择TR连通VPC时的入口点,请先选择可用区再选择子网。可用区A,subnet03
  4. 参考下表完成网络实例连接的路由配置。

    参数说明取值示例
    关联转发如果开启关联转发,则来自网络实例的流量将默认根据TR系统路由表进行转发,不支持指定其他TR路由表。
    此处由于来自vpc03的流量需根据TR自定义路由表rtb-set进行转发,因此暂时关闭关联转发。后续需要使用账号A在TR自定义路由表rtb-set中为该网络实例连接配置关联转发。
    关闭
    路由学习开启路由学习表示TR系统路由表rtb-sys会自动学习vpc03的路由条目,在TR路由表rtb-sys中自动生成目标网段为vpc03子网段,下一跳为网络实例连接attach-vpc03的路由条目。开启,rtb-sys

    路由同步

    开启路由同步表示系统会自动将关联转发的TR路由表中的路由条目同步至vpc03的所有路由表中,作为系统路由条目。

    说明

    此处由于未开启关联转发,因此并不会有路由同步到vpc03路由表。后续使用账号A为attach-vpc03配置关联转发的TR路由表后,该TR路由表中的路由条目会被自动同步到vpc03的路由表中。

    开启

  5. 单击“确定”按钮,完成操作。

本步骤配置完成后,TR路由表和VPC路由表中的路由条目如下:

  • TR路由表rtb-set中的路由条目不变,TR路由表rtb-sys中的路由条目如下图所示。
    alt
  • 由于该网络实例连接未开启关联转发,因此vpc03路由表中暂无路由条目;由于vpc01和vpc02路由表自动学习TR路由表rtb-sys中的路由条目,因此vpc01和vpc02路由表中的路由条目如下图所示。
    alt

步骤五:为TR自定义路由表配置关联转发(账号A)

  1. 使用账号A登录中转路由器控制台
  2. 单击目标TR实例的名称,进入TR实例详情页面。
    alt
  3. 在“基本信息”下方区域,单击“路由表”页签,进入路由表页面。
  4. 单击TR自定义路由表的名称rtb-set,进入TR路由表详情页面。
  5. 选择“关联转发”页签,单击“创建关联转发”按钮。
  6. 选择网络实例连接vpc03,单击“确定”按钮,完成操作。

本步骤配置完成后,TR路由表和VPC路由表中的路由条目如下:

  • TR路由表rtb-sys和rtb-set中的路由条目不变。
  • vpc03路由表中的路由条目如下图所示。
    alt

结果验证

以下验证步骤以Linux云服务器为例:

  1. 远程登录vpc01中的ECS实例,具体操作请参考登录Linux实例
  2. 执行ping命令分别连接vpc02和vpc03中的云服务器私网IP地址,测试网络连通性。
    • vpc01中的ECS实例与vpc02中的ECS实例相互隔离,无法Ping通。
    • vpc01中的ECS实例与vpc03中的ECS实例能够互通,可以Ping通。
  3. 同理,远程登录vpc02、vpc03中的ECS实例,验证vpc02、vpc03与其他VPC的连通性。