配置 Cloud Router 的 BGP 标识符范围

边界网关协议 (BGP) 标识符(有时称为路由器 ID)用于唯一标识网络中的 Cloud Router。

按照惯例,在 Google Cloud 中,Cloud Router 使用它的一个 IPv4 BGP 会话的 IPv4 对等互连地址作为 BGP 标识符。但是,对于 IPv6 BGP 对等互连,Cloud Router 需要明确的 32 位 BGP 标识符才能托管 IPv6 BGP 会话。

创建 Cloud Router 时,您可以选择为 Cloud Router 指定允许的 BGP 标识符范围。

通常,您无需分配或修改 BGP 标识符范围。您首次在 Cloud Router 上为 IPv6 BGP 会话创建接口时,Google Cloud 会自动为 Cloud Router 分配 BGP 标识符范围。

例如,如果要较严格地控制用于 BGP 标识符的值,则您可能要指定特殊的 BGP 标识符范围。或者,如果自动分配的范围与您要用于 IPv4 BGP 会话的值重叠,您可能要更改范围。

准备工作

gcloud

如果您要使用本指南中的命令行示例,请执行以下操作:

  1. 安装或更新到 Google Cloud CLI 的最新版本。
  2. 设置默认区域和可用区

API

如果希望使用本指南中的 API 示例,请设置 API 访问权限

为 Cloud Router 分配 BGP 标识符范围

本部分中的过程介绍了如何手动为 Cloud Router 分配 BGP 标识符范围。

控制台

  1. 在 Google Cloud 控制台中,转到创建 Cloud Router 路由器页面。

    前往“创建 Cloud Router 路由器”

  2. 指定 Cloud Router 的详细信息:

    • 名称:Cloud Router 路由器的名称。此名称显示在 Google Cloud 控制台中,Google Cloud CLI 会使用此名称引用该 Cloud Router 路由器,例如 my-router
    • 可选:说明 Cloud Router 路由器的说明。
    • 网络:包含您要访问的实例的 VPC 网络,例如 my-network
    • 区域:您希望 Cloud Router 路由器所在的区域,例如 asia-east1
    • Google ASN:任何您在本地网络中尚未使用的专用 ASN64512-655344200000000-4294967294)。Cloud Router 要求您使用专用 ASN,但您的本地 ASN 可以是公共的,也可以是专用的。

    • BGP 对等 keepalive 时间间隔:发送到对等路由器的两条连续 BGP keepalive 消息之间的时间间隔。此值必须是 20 到 60 之间的整数,用于指定该间隔的秒数。默认时间为 20 秒。如需了解详情,请参阅管理 BGP 计时器
    • BGP 标识符:可选。BGP 标识符(有时称为路由器 ID),用于唯一标识网络中的 Cloud Router 路由器。如果省略,具有 IPv4 BGP 会话的 Cloud Router 路由器会使用其中一个 IPv4 BGP 地址作为 BGP 标识符,并且向此 Cloud Router 路由器添加第一个 IPv6 接口会自动填充该字段。

      如需了解详情,请参阅为 Cloud Router 路由器配置 BGP 标识符范围

  3. 可选:如需指定自定义通告路由,请前往通告路由部分。如需详细了解以下步骤,请参阅自定义通告模式
    1. 如需指定自定义路由,请选择创建自定义路由
    2. 选择是否通告该 Cloud Router 路由器可见的子网。启用此选项可模拟 Cloud Router 路由器的默认行为。
    3. 如需添加通告路由,请选择添加自定义路由,然后进行配置。
  4. 如需保存设置并创建 Cloud Router 路由器,请点击创建。您的新 Cloud Router 路由器将显示在 Cloud Router 路由器列表页面上。如需查看其详细信息并配置 BGP 会话,请选择它。

gcloud

如需在创建 Cloud Router 时分配 BGP 标识符范围,请使用 --bgp-identifier-range 选项。

gcloud compute routers create ROUTER_NAME \
    --bgp-identifier-range=BGP_IDENTIFIER_RANGE

BGP_IDENTIFIER_RANGE 替换为 169.254.0.0/16 中的链路本地 IPv4 范围,并且子网掩码前缀长度最多为 /30。此范围不得与同一区域中 Cloud Router 路由器的任何现有 IPv4 Cloud Router 路由器接口或 BGP 标识符范围重叠。

API

使用 routers.insert 方法

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgp": {
         "asn": "ASN_NUMBER",
         "keepaliveInterval": KEEPALIVE_INTERVAL,
         "identifierRange": BGP_IDENTIFIER_RANGE
      },
      "name": "ROUTER_NAME",
      "network": "NETWORK"
     }

BGP_IDENTIFIER_RANGE 替换为 169.254.0.0/16 中的链路本地 IPv4 范围,并且子网掩码前缀长度最多为 /30。此范围不得与同一区域中 Cloud Router 路由器的任何现有 IPv4 Cloud Router 路由器接口或 BGP 标识符范围重叠。

修改 BGP 标识符范围

本部分中的过程介绍了如何修改 Cloud Router 上的现有 BGP 标识符范围。

gcloud

如需更改 BGP 标识符范围,请运行以下命令。

gcloud compute routers update ROUTER_NAME \
    --bgp-identifier-range=BGP_IDENTIFIER_RANGE

BGP_IDENTIFIER_RANGE 替换为 169.254.0.0/16 中的链路本地 IPv4 范围,并且子网掩码前缀长度最多为 /30。此范围不得与同一区域中 Cloud Router 路由器的任何现有 IPv4 BGP 会话或 BGP 标识符范围重叠。

API

使用 routers.patch 方法更新 bgp.identifierRange 字段:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgp": {
        "identifierRange": BGP_IDENTIFIER_RANGE
     }
   }

BGP_IDENTIFIER_RANGE 替换为 169.254.0.0/16 中的链路本地 IPv4 范围,并且子网掩码前缀长度最多为 /30。此范围不得与同一区域中 Cloud Router 路由器的任何现有 IPv4 BGP 会话或 BGP 标识符范围重叠。

后续步骤