为 IPv4 或 IPv6 BGP 会话配置多协议 BGP

通过 Cloud Router,您可以在使用多协议 BGP (MP-BGP) 的各个边界网关协议 (BGP) 会话中启用和停用 IPv4 或 IPv6 路由交换。借助 MP-BGP,您可以通过 IPv4 BGP 会话交换 IPv6 路由,也可以通过 IPv6 BGP 会话交换 IPv4 路由。

如需在单个 BGP 会话中交换 IPv4 和 IPv6 流量,您必须在 Network Connectivity 产品(例如高可用性 VPN 或专用互连)中选择 IPv4 和 IPv6(双栈)栈类型。

通过修改 BGP 对等方的配置,您可以在特定 BGP 会话中启用或停用 IPv4 或 IPv6 路由交换。如果您需要排查特定于 IPv4 或 IPv6 的网络问题,则停用 IPv4 或 IPv6 路由交换非常有用。另一个原因可能是,您希望在双栈高可用性 VPN 隧道中暂时停用流量,而不删除隧道和网关。

如果您在 BGP 会话中停用 IPv4 或 IPv6 路由交换,然后重新启用它,则系统不会弃用之前分配的 IPv4 或 IPv6 下一个跃点地址。如果 BGP 会话再次启用了 IPv4 或 IPv6,则可以重复使用这些 IPv4 或 IPv6 下一个跃点地址。

准备工作

gcloud

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

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

API

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

配置 IPv4 BGP 会话

本部分介绍如何修改 IPv4 BGP 会话的配置。

您无法在 IPv4 BGP 会话中停用 IPv4 路由交换。

通过 IPv4 会话启用 IPv6 路由交换

此过程假设您要修改已经为 Cloud Interconnect 的高可用性 VPN 隧道或 VLAN 连接创建的 IPv4 BGP 会话。

此外,还假设您已按照以下过程所述将关联的高可用性 VPN 网关或 VLAN 连接配置为使用 IPv4 和 IPv6(双栈)栈类型:

如需在现有 IPv4 BGP 会话中启用 IPv6 路由交换,请执行以下步骤。

控制台

对于高可用性 VPN

  1. 如需为高可用性 VPN 配置 BGP 会话,请在 Google Cloud 控制台中转到 Cloud VPN 隧道页面。

    进入“Cloud VPN 隧道”

  2. 选择待更新 BGP 会话所属的 Cloud VPN 隧道。

  3. VPN 隧道详情页面上,点击修改 BGP 会话

  4. 多协议 BGP 部分中,点击启用 IPv6 流量切换开关,以切换到开启位置。

  5. 可选:您可以手动或自动为高可用性 VPN 隧道分配 IPv6 BGP 地址。

    • 如需自动分配地址,请选择自动
    • 如需手动分配地址,请执行以下操作:
      1. Cloud Router BGP IPv6 下一个跃点字段中输入 IPv6 地址。此地址是 Cloud Router 路由器用于此 Cloud VPN 隧道的 IPv6 地址。此 IPv6 地址会作为 Cloud Router 路由器向其 BGP 对等方通告的 IPv6 路由的下一个跃点进行通告。该地址必须在 2600:2d00:0:2::/63 范围内。
      2. 对等 BGP IPv6 下一个跃点字段中输入 IPv6 地址。此地址是本地路由器或对等 VPN 设备的 IPv6 地址。此 IPv6 地址是从 Cloud Router 路由器的 BGP 对等方获知的 IPv6 路由的下一个跃点。该地址必须在 2600:2d00:0:2::/63 范围内。
  6. 点击保存并继续

对于专用互连

  1. 如需为专用互连配置 BGP 会话,请转到 VLAN 连接页面。

    转到 VLAN 连接

  2. 选择包含要更新的 BGP 会话的 VLAN 连接。

  3. VLAN 连接详情页面上,点击修改 BGP 会话

  4. 多协议 BGP 部分中,点击启用 IPv6 流量切换开关,以切换到开启位置。

  5. 点击保存并继续

gcloud

运行 update-bgp-peer 命令。使用 --enable-ipv6 标志允许 BGP 会话交换 IPv6 路由,如以下示例所示:

gcloud compute routers update-bgp-peer ROUTER_NAME \
    --peer-name=PEER_NAME \
    --enable-ipv6

(可选)为高可用性 VPN 隧道中使用的 BGP 会话启用 IPv6 流量时,您可以指定 IPv6 下一个跃点地址:

gcloud compute routers update-bgp-peer ROUTER_NAME \
    --peer-name=PEER_NAME \
    --enable-ipv6 \
    --ipv6-nexthop-address=IPV6_NEXTHOP_ADDRESS \
    --peer-ipv6-nexthop-address=PEER_IPV6_NEXTHOP_ADDRESS

替换以下内容:

  • IPV6_NEXTHOP_ADDRESS:Cloud Router 用于此 Cloud VPN 隧道的 IPv6 地址。此 IPv6 地址会通告为 Cloud Router 向其 BGP 对等方通告的 IPv6 路由的下一个跃点。

    该地址必须在 2600:2d00:0:2::/63 IPv6 范围内。

  • PEER_IPV6_NEXTHOP_ADDRESS:本地路由器的 IPv6 地址。此 IPv6 地址是从 Cloud Router 的 BGP 对等方获知的 IPv6 路由的下一个跃点。该地址必须在 2600:2d00:0:2::/63 范围内。

如果您未指定下一个跃点地址,则 Google Cloud 会自动为您分配 2600:2d00:0:2::/63 IPv6 范围内的未使用地址。

API

使用 routers.patch 方法更新 bgpPeers[] 字段。

bgpPeers[] 字段接受 BGP 对等方数组。PATCH 此字段时,您将使用请求中包含的新数组覆盖现有 BGP 对等方数组。

  1. 发送 GET 请求以获取路由器的当前 BGP 对等方数组。如需了解详情,请参阅查看 BGP 会话配置

  2. 发送带有新 BGP 对等方数组的 PATCH 请求。对于要在 BGP 会话中启用 IPv6 的每个 BGP 对等方,请将 bgpPeers[].enableIpv6 设置为 TRUE

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgpPeers": [
        BGP_PEERS
      ]
    }
    

    替换以下内容:

    • PROJECT_ID:Cloud Router 路由器所属的项目
    • REGION:Cloud Router 路由器所在的区域
    • ROUTER_NAME:Cloud Router 路由器的名称
    • BGP_PEERS:新 BGP 对等方数组的内容

    以下示例在第一个 BGP 对等方的会话中启用 IPv6:

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "169.254.10.1",
          "peerIpAddress": "169.254.10.2",
          "peerAsn": 64512,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv6": true
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "169.254.20.1",
          "peerIpAddress": "169.254.20.2",
          "peerAsn": 64513,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv6": false
          "
        }
     

    此外,如果您要为高可用性 VPN 隧道中使用的 BGP 会话启用 IPv6 流量,则可以指定 IPv6 下一个跃点地址:

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "169.254.10.1",
          "peerIpAddress": "169.254.10.2",
          "peerAsn": 64512,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv6": true,
          "ipv6NexthopAddress": "2600:2d00:0:2:0:0:1:5",
          "peerIpv6NexthopAddress": "2600:2d00:0:2:0:0:1:6"
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "169.254.20.1",
          "peerIpAddress": "169.254.20.2",
          "peerAsn": 64513,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv6": false
        }

    使用 ipv6NexthopAddresspeerIpv6NexthopAddress 的值配置本地路由器或对等 VPN 设备。

    如需查看高可用性 VPN 和对等 VPN 设备的示例配置,请参阅为 IPv4 和 IPv6 流量设置第三方 VPN

    如需查看专用互连和本地路由器的示例配置,请参阅为 IPv4 和 IPv6 流量设置本地路由器

通过 IPv4 BGP 会话停用 IPv6 路由交换

此过程假设您要修改先前启用了 IPv6 的现有 IPv4 BGP 会话。

控制台

对于高可用性 VPN

  1. 在 Google Cloud 控制台中,进入 Cloud VPN 隧道页面。

    进入“Cloud VPN 隧道”

  2. 选择待更新 BGP 会话所属的 Cloud VPN 隧道。

  3. VPN 隧道详情页面上,点击修改 BGP 会话

  4. 如需停用 IPv6 路由交换,请点击启用 IPv6 流量切换开关,将其切换到关闭位置。

  5. 点击保存并继续

对于专用互连

  1. 在 Google Cloud 控制台中,转到 VLAN 连接页面。

    转到 VLAN 连接

  2. 选择包含要更新的 BGP 会话的 VLAN 连接。

  3. VLAN 连接详情页面上,点击修改 BGP 会话

  4. 如需停用 IPv6 路由交换,请点击启用 IPv6 流量切换开关,将其切换到关闭位置。

  5. 点击保存并继续

gcloud

运行 update-bgp-peer 命令。使用 --no-enable-ipv6 标志来阻止 BGP 会话交换 IPv6 路由,如以下示例所示:

gcloud compute routers update-bgp-peer ROUTER_NAME \
--peer-name=PEER_NAME \
--no-enable-ipv6

API

使用 routers.patch 方法更新 bgpPeers[] 字段。

bgpPeers[] 字段接受 BGP 对等方数组。PATCH 此字段时,您将使用请求中包含的新数组覆盖现有 BGP 对等方数组。

  1. 发送 GET 请求以获取路由器的当前 BGP 对等方数组。如需了解详情,请参阅查看 BGP 会话配置

  2. 发送带有新 BGP 对等方数组的 PATCH 请求。针对要在 BGP 会话中停用 IPv6 的每个 BGP 对等方,将 bgpPeers[].enableIpv6 设置为 FALSE

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgpPeers": [
        BGP_PEERS
      ]
    }
    

    替换以下内容:

    • PROJECT_ID:Cloud Router 路由器所属的项目
    • REGION:Cloud Router 路由器所在的区域
    • ROUTER_NAME:Cloud Router 路由器的名称
    • BGP_PEERS:新 BGP 对等方数组的内容

    以下示例在第一个 BGP 对等方的会话中禁用 IPv6:

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "169.254.10.1",
          "peerIpAddress": "169.254.10.2",
          "peerAsn": 64512,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv6": false
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "169.254.20.1",
          "peerIpAddress": "169.254.20.2",
          "peerAsn": 64513,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv6": false
        }

配置 IPv6 BGP 会话

本部分介绍如何修改 IPv6 BGP 会话的配置。

您无法在 IPv6 BGP 会话中停用 IPv6 路由交换。

启用通过 IPv6 BGP 会话进行的 IPv4 路由交换

此过程假设您要修改已经为高可用性 VPN 隧道或 VLAN 连接创建的 IPv6 BGP 会话。

此外,还假设您已经按照以下过程所述配置了 IPv4 和 IPv6(双栈)高可用性 VPN 网关或 VLAN 连接:

如需在现有 IPv6 BGP 会话中启用 IPv4 路由交换,请执行以下步骤。

控制台

对于高可用性 VPN

  1. 如需为高可用性 VPN 配置 BGP 会话,请在 Google Cloud 控制台中转到 Cloud VPN 隧道页面。

    进入“Cloud VPN 隧道”

  2. 选择待更新 BGP 会话所属的 Cloud VPN 隧道。

  3. VPN 隧道详情页面上,点击修改 BGP 会话

  4. 多协议 BGP 部分中,点击启用 IPv4 流量切换开关,以切换到开启位置。

  5. 可选:您可以手动或自动为高可用性 VPN 隧道分配 IPv6 BGP 地址。

    • 如需自动分配地址,请选择自动
    • 如需手动分配地址,请执行以下操作:
      1. 选择手动
      2. Cloud Router BGP IPv6 地址字段中输入 IPv6 地址。此地址是 Cloud Router 路由器用于此 Cloud VPN 隧道的 IPv6 地址。此 IPv6 地址会作为 Cloud Router 路由器向其 BGP 对等方通告的 IPv6 路由的下一个跃点进行通告。该地址必须在 2600:2d00:0:2::/63 范围内。
      3. BGP 对等 IPv6 地址字段,输入 IPv6 地址。此地址是本地路由器或对等 VPN 设备的 IPv6 地址。此 IPv6 地址是从 Cloud Router 路由器的 BGP 对等方获知的 IPv6 路由的下一个跃点。该地址必须在 2600:2d00:0:2::/63 范围内。
  6. 可选:您可以手动或自动为高可用性 VPN 隧道分配 Cloud Router BGP IPv4 下一个跃点地址。

    • 如需自动分配地址,请选择自动
    • 如需手动分配地址,请执行以下操作:
      1. 选择手动
      2. Cloud Router BGP IPv4 下一个跃点字段中输入 IPv4 地址。此地址是 Cloud Router 路由器用于此 Cloud VPN 隧道的 IPv4 地址。此 IPv4 地址会作为 Cloud Router 路由器向其 BGP 对等方通告的 IPv4 路由的下一个跃点进行通告。该地址必须是 BGP 对等 IPv4 地址所在的 /30 子网内的链路本地地址。
      3. 对等 BGP IPv4 下一个跃点字段中输入 IPv4 地址。此地址是本地路由器或对等 VPN 设备的 IPv4 地址。此 IPv4 地址是从 Cloud Router 路由器的 BGP 对等方获知的 IPv6 路由的下一个跃点。该地址必须是 Cloud Router BGP IPv4 地址所在的 /30 子网内的链路本地地址。
  7. 点击保存并继续

对于专用互连

  1. 如需为专用互连配置 BGP 会话,请转到 VLAN 连接页面。

    转到 VLAN 连接

  2. 选择包含要更新的 BGP 会话的 VLAN 连接。

  3. VLAN 连接详情页面上,点击修改 BGP 会话

  4. 多协议 BGP 部分中,点击启用 IPv4 流量切换开关,以切换到开启位置。

  5. 点击保存并继续

gcloud

运行 update-bgp-peer 命令。使用 --enable-ipv4 标志允许 BGP 会话交换 IPv4 路由,如以下示例所示:

gcloud compute routers update-bgp-peer ROUTER_NAME \
    --peer-name=PEER_NAME \
    --enable-ipv4

(可选)为高可用性 VPN 隧道中使用的 IPv6 BGP 会话启用 IPv4 流量时,您可以指定 IPv4 下一个跃点地址:

gcloud compute routers update-bgp-peer ROUTER_NAME \
    --peer-name=PEER_NAME \
    --enable-ipv4 \
    --ipv4-nexthop-address=IPV4_NEXTHOP_ADDRESS \
    --peer-ipv4-nexthop-address=PEER_IPV4_NEXTHOP_ADDRESS

替换以下内容:

  • IPV4_NEXTHOP_ADDRESS:Cloud Router 用于此高可用性 VPN 隧道的 IPv4 地址。此 IPv4 地址作为 Cloud Router 向其 BGP 对等方通告的 IPv4 路由的下一个跃点通告。该地址必须在 IPv4 链路本地范围 169.254.0.0/16 内。
  • PEER_IPV4_NEXTHOP_ADDRESS:本地路由器的 IPv4 地址。此 IPv4 地址是从 Cloud Router 的 BGP 对等方获知的 IPv4 路由的下一个跃点。该地址必须在 IPv4 链路本地范围 169.254.0.0/16 内。

    如果您未指定下一个跃点地址,则 Google Cloud 会自动为您分配 IPv4 链路本地 169.254.0.0/16 范围内的未使用地址。

API

使用 routers.patch 方法更新 bgpPeers[] 字段。

bgpPeers[] 字段接受 BGP 对等方数组。PATCH 此字段时,您将使用请求中包含的新数组覆盖现有 BGP 对等方数组。

  1. 发送 GET 请求以获取路由器的当前 BGP 对等方数组。如需了解详情,请参阅查看 BGP 会话配置

  2. 发送带有新 BGP 对等方数组的 PATCH 请求。对于要在 BGP 会话中启用 IPv4 的每个 BGP 对等方,请将 bgpPeers[].enableIpv4 设置为 TRUE

    PATCH https://compute.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgpPeers": [
        BGP_PEERS
      ]
    }
    

    替换以下内容:

    • PROJECT_ID:Cloud Router 路由器所属的项目
    • REGION:Cloud Router 路由器所在的区域
    • ROUTER_NAME:Cloud Router 路由器的名称
    • BGP_PEERS:新 BGP 对等方数组的内容

    以下示例在第一个 BGP 对等方的会话中启用 IPv4:

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "fdff:1::1",
          "peerIpAddress": "fdff:1::2",
          "peerAsn": 64512,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv4": true
    
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "fdff:1::3",
          "peerIpAddress": "fdff:1::4",
          "peerAsn": 64513,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv4": false
        }
     

    此外,如果您要为高可用性 VPN 隧道中使用的 BGP 会话启用 IPv4 流量,则可以指定 IPv4 下一个跃点地址:

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "fdff:1::1",
          "peerIpAddress": "fdff:1::2",
          "peerAsn": 64512,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv4": true,
          "ipv4NexthopAddress": "169.254.0.1",
          "peerIpv4NexthopAddress": "169.254.0.2"
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "fdff:1::3",
          "peerIpAddress": "fdff:1::4",
          "peerAsn": 64513,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv4": false
        }

停用通过 IPv6 BGP 会话进行的 IPv4 路由交换

此过程假定您要修改先前已交换 IPv4 路由的现有 IPv6 BGP 会话。

控制台

对于高可用性 VPN

  1. 在 Google Cloud 控制台中,进入 Cloud VPN 隧道页面。

    进入“Cloud VPN 隧道”

  2. 选择待更新 BGP 会话所属的 Cloud VPN 隧道。

  3. VPN 隧道详情页面上,点击修改 BGP 会话

  4. 多协议 BGP 部分中,点击启用 IPv4 流量切换开关,以切换到关闭位置。

  5. 点击保存并继续

对于专用互连

  1. 在 Google Cloud 控制台中,转到 VLAN 连接页面。

    转到 VLAN 连接

  2. 选择包含要更新的 BGP 会话的 VLAN 连接。

  3. VLAN 连接详情页面上,点击修改 BGP 会话

  4. 多协议 BGP 部分中,点击启用 IPv4 流量切换开关,以切换到关闭位置。

  5. 点击保存并继续

gcloud

运行 update-bgp-peer 命令。使用 --no-enable-ipv4 标志阻止 IPv6 BGP 会话交换 IPv4 路由,如以下示例所示:

gcloud compute routers update-bgp-peer ROUTER_NAME \
    --peer-name=PEER_NAME \
    --no-enable-ipv4

API

使用 routers.patch 方法更新 bgpPeers[] 字段。

bgpPeers[] 字段接受 BGP 对等方数组。PATCH 此字段时,您将使用请求中包含的新数组覆盖现有 BGP 对等方数组。

  1. 发送 GET 请求以获取路由器的当前 BGP 对等方数组。如需了解详情,请参阅查看 BGP 会话配置

  2. 发送带有新 BGP 对等方数组的 PATCH 请求。针对要在 BGP 会话中停用 IPv4 的每个 BGP 对等方,将 bgpPeers[].enableIpv4 设置为 FALSE

    PATCH https://compute.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgpPeers": [
        BGP_PEERS
      ]
    }
    

    替换以下内容:

    • PROJECT_ID:Cloud Router 路由器所属的项目
    • REGION:Cloud Router 路由器所在的区域
    • ROUTER_NAME:Cloud Router 路由器的名称
    • BGP_PEERS:新 BGP 对等方数组的内容

    以下示例在第一个 BGP 对等方的会话中禁用 IPv4:

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "fdff:1::1",
          "peerIpAddress": "fdff:1::2",
          "peerAsn": 64512,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv4": false
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "fdff:1::3",
          "peerIpAddress": "fdff:1::4",
          "peerAsn": 64513,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv4": false
        }

将现有 IPv4 MP-BGP 会话分离以使用 IPv4 和 IPv6 BGP 会话

现有的 Cloud Router IPv4 MP-BGP 会话使用 IPv4 控制数据包,即使在交换有关 IPv6 BGP 前缀的路由信息时也是如此。在双栈网络中,基于 IPv6 的 BGP 会话可以与基于 IPv4 的 BGP 会话结合使用。本部分介绍了如何修改现有 IPv4 MP-BGP 会话以使用单独的 IPv4 和 IPv6 BGP 会话。

控制台

对于高可用性 VPN

  1. 如需为高可用性 VPN 配置 BGP 会话,请在 Google Cloud 控制台中转到 Cloud VPN 隧道页面。

    进入“Cloud VPN 隧道”

  2. 找到包含要更新的 BGP 会话的 Cloud VPN 隧道。

  3. VPN 隧道详情页面上,点击修改 BGP 会话

  4. 选择 BGP 会话类型。如需为 IPv4 和 IPv6 启用路由交换,请选择全部

  5. 可选:您可以手动或自动为高可用性 VPN 隧道分配 BGP IPv4 地址。

    • 如需自动分配地址,请选择自动
    • 如需手动分配地址,请执行以下操作:
      1. 选择手动
      2. Cloud Router BGP IPv4 地址字段中输入 IPv4 地址。此地址是 Cloud Router 路由器用于此 Cloud VPN 隧道的 IPv4 地址。此 IPv4 地址会作为 Cloud Router 路由器向其 BGP 对等方通告的 IPv4 路由的下一个跃点进行通告。该地址必须是 BGP 对等 IPv4 地址所在的 /30 子网内的链路本地地址。
      3. BGP 对等 IPv4 地址字段中输入 IPv4 地址。此地址是本地路由器或对等 VPN 设备的 IPv4 地址。此 IPv4 地址是从 Cloud Router 路由器的 BGP 对等方获知的 IPv6 路由的下一个跃点。该地址必须是 Cloud Router BGP IPv4 地址所在的 /30 子网内的链路本地地址。
  6. 可选:您可以手动或自动为高可用性 VPN 隧道分配 BGP IPv6 地址。

    • 如需自动分配地址,请选择自动
    • 如需手动分配地址,请执行以下操作:
      1. 选择手动
      2. Cloud Router BGP IPv6 地址字段中输入 IPv6 地址。此地址是 Cloud Router 用于此 Cloud VPN 隧道的 IPv6 地址。此 IPv6 地址会通告为 Cloud Router 向其 BGP 对等方通告的 IPv6 路由的下一个跃点。该地址必须在 fdff:1::/64 范围内。
      3. BGP 对等 IPv6 地址字段中输入 IPv6 地址。此地址是本地路由器或对等 VPN 设备的 IPv6 地址。此 IPv6 地址是从 Cloud Router 的 BGP 对等方获知的 IPv6 路由的下一个跃点。 该地址必须在 fdff:1::/64 范围内。
  7. 点击保存并继续

对于专用互连

  1. 如需为专用互连配置 BGP 会话,请转到 VLAN 连接页面。

    转到 VLAN 连接

  2. 选择包含要更新的 BGP 会话的 VLAN 连接。

  3. VLAN 连接详情页面上,点击修改 BGP 会话

  4. 选择 BGP 会话类型。如需为 IPv4 和 IPv6 启用路由交换,请选择全部

  5. IPv4 BGP 会话部分的对等 ASN 中输入 BGP 会话的本地端的 ASN 值。

  6. IPv6 BGP 会话部分的对等 ASN 中输入 BGP 会话的本地端的 ASN 值。

  7. 点击保存并继续

gcloud

  1. 为避免与新的 IPv6 BGP 发生冲突,请在现有 IPv4 BGP 会话中停用 IPv6 路由交换。

    运行以下命令:

    gcloud compute routers update-bgp-peer ROUTER_NAME
        --peer-name=PEER_NAME \
        --no-enable-ipv6
    

    请替换以下内容:

    • ROUTER_NAME:Cloud Router 路由器的名称
    • PEER_NAME:BGP 对等端的名称
  2. 添加新的 IPv6 接口:

    gcloud compute routers add-interface ROUTER_NAME \
        --interface-name=INTERFACE_NAME \
        --interconnect-attachment=ATTACHMENT_NAME \
        --ip-version=IPV6
    

    请替换以下内容:

    • INTERFACE_NAME:接口的名称
    • ATTACHMENT_NAME:VLAN 连接的名称
  3. 添加新的 IPv6 BGP 对等方:

    gcloud compute routers add-bgp-peer ROUTER_NAME \
        --peer-name=PEER_NAME \
        --interface=INTERFACE_NAME \
        --peer-asn=PEER_ASN
    

    请替换以下内容:

    • PEER_ASN:BGP 对等体的 ASN
  4. 如需配置本地 BGP 会话,请获取 VLAN 连接的 IPv6 地址:

    gcloud compute interconnects attachments describe ATTACHMENT_NAME
    

    输出类似于以下内容:

    adminEnabled: true
    edgeAvailabilityDomain: AVAILABILITY_DOMAIN_1
    bandwidth: BPS_1G
    cloudRouterIpAddress: 169.254.67.201/29
    cloudRouterIpv6Address: 2600:2d00:0:1::1/125
    creationTimestamp: '2017-12-01T08:31:11.580-08:00'
    customerRouterIpAddress: 169.254.67.202/29
    customerRouterIpv6Address: 2600:2d00:0:1::2/125
    description: Interconnect for Customer 1
    id: '7193021941765913888'
    interconnect: https://www.googleapis.com/compute/projects/partner-project/global/interconnects/lga-2
    kind: compute#interconnectAttachment
    labelFingerprint: 42WmSpB8rSM=
    name: partner-attachment
    partnerMetadata:
      interconnectName: New York (2)
      partnerName: Partner Inc
      portalUrl: https://partner-portal.com
    region: https://www.googleapis.com/compute/projects/partner-project/regions/us-central1
    selfLink: https://www.googleapis.com/compute/projects/partner-project/regions/us-central1/interconnectAttachments/customer-attachment
    stackType: IPV4_IPV6
    state: ACTIVE
    type: PARTNER
    vlanTag8021q: 1000
    

    相关 IPv6 地址列在 cloudRouterIPv6AddresscustomerRouterIpv6Address 下方。

API

使用 routers.patch 方法更新 bgpPeers[] 字段。

bgpPeers[] 字段接受 BGP 对等方数组。PATCH 此字段时,您将使用请求中包含的新数组覆盖现有 BGP 对等方数组。

  1. 发送 GET 请求以获取路由器的当前 BGP 对等方数组。如需了解详情,请参阅查看 BGP 会话配置

  2. 发送带有新 BGP 对等方数组的 PATCH 请求。对于要在 BGP 会话中为其启用 IPv6 的每个 BGP 对等方,请将 bgpPeers[].enableIpv6 设置为 TRUE,并将 bgpPeers[].enableIpv4 设置为 FALSE

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgpPeers": [
        BGP_PEERS
      ]
    }
    

    请替换以下内容:

    • PROJECT_ID:Cloud Router 路由器所属的项目
    • REGION:Cloud Router 路由器所在的区域
    • ROUTER_NAME:Cloud Router 路由器的名称
    • BGP_PEERS:新 BGP 对等方数组的内容

    以下示例在第一个 BGP 对等方的会话中启用 IPv6:

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "169.254.10.1",
          "peerIpAddress": "169.254.10.2",
          "peerAsn": 64512,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv6": true,
          "enableIpv4": false
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "169.254.20.1",
          "peerIpAddress": "169.254.20.2",
          "peerAsn": 64513,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv6": false
        }
     

    此外,如果您要为高可用性 VPN 隧道中使用的 BGP 会话启用 IPv6 流量,则可以指定 IPv6 下一个跃点地址:

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "169.254.10.1",
          "peerIpAddress": "169.254.10.2",
          "peerAsn": 64512,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv6": true,
          "enableIpv4": false,
          "ipv6NexthopAddress": "2600:2d00:0:2:0:0:1:5",
          "peerIpv6NexthopAddress": "2600:2d00:0:2:0:0:1:6"
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "169.254.20.1",
          "peerIpAddress": "169.254.20.2",
          "peerAsn": 64513,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv6": false
        }

    使用 ipv6NexthopAddresspeerIpv6NexthopAddress 的值配置本地路由器或对等 VPN 设备。

    如需查看高可用性 VPN 和对等 VPN 设备的示例配置,请参阅为 IPv4 和 IPv6 流量设置第三方 VPN

    如需查看专用互连和本地路由器的示例配置,请参阅为 IPv4 和 IPv6 流量设置本地路由器

将单独的 IPv4 和 IPv6 BGP 会话合并到单个 IPv4 MP-BGP 会话

您可以将单独的 IPv4 和 IPv6 BGP 会话合并到单个 IPv4 MP-BGP 会话中。在这种情况下,IPv4 控制数据包用于交换 IPv4 和 IPv6 BGP 会话的路由信息。以下过程介绍了如何将单独的 IPv4 和 IPv6 BGP 会话转换为单个 IPv4 MP-BGP 会话:

控制台

对于高可用性 VPN

  1. 如需为高可用性 VPN 配置 BGP 会话,请在 Google Cloud 控制台中转到 Cloud VPN 隧道页面。

    进入“Cloud VPN 隧道”

  2. 找到包含要更新的 BGP 会话的 Cloud VPN 隧道。

  3. VPN 隧道详情页面上,点击修改 BGP 会话

  4. 选择 BGP 会话类型。如需为 IPv4 启用路由交换,请选择 IPv4 BGP 会话

  5. 如需启用 MP-BGP,请在多协议 BGP 部分中,点击启用 IPv6 流量切换开关,将其切换到开启位置。

  6. 可选:您可以手动或自动为高可用性 VPN 隧道分配 IPv4 BGP 地址。

    • 如需自动分配地址,请在分配 BGP IPv4 地址部分中选择自动
    • 如需手动分配地址,请执行以下操作:
      1. 选择手动
      2. Cloud Router BGP IPv4 地址字段中输入 IPv4 地址。此地址是 Cloud Router 路由器用于此 Cloud VPN 隧道的 IPv4 地址。此 IPv4 地址会作为 Cloud Router 路由器向其 BGP 对等方通告的 IPv4 路由的下一个跃点进行通告。该地址必须是 BGP 对等 IPv4 地址所在的 /30 子网内的链路本地地址。
      3. BGP 对等 IPv4 地址字段中输入 IPv4 地址。此地址是本地路由器或对等 VPN 设备的 IPv4 地址。此 IPv4 地址是从 Cloud Router 路由器的 BGP 对等方获知的 IPv6 路由的下一个跃点。该地址必须是 Cloud Router BGP IPv4 地址所在的 /30 子网内的链路本地地址。
  7. 可选:您可以手动或自动为高可用性 VPN 隧道分配 IPv6 BGP 下一个跃点地址。

    • 如需自动分配地址,请在分配 BGP IPv6 下一个跃点部分中选择自动
    • 如需手动分配地址,请执行以下操作:
      1. 选择手动
      2. Cloud Router BGP IPv6 下一个跃点字段中输入 IPv6 地址。此地址是 Cloud Router 路由器用于此 Cloud VPN 隧道的 IPv6 地址。此 IPv6 地址会作为 Cloud Router 路由器向其 BGP 对等方通告的 IPv6 路由的下一个跃点进行通告。该地址必须在 2600:2d00:0:2::/63 范围内。
      3. 对等 BGP IPv6 下一个跃点字段中输入 IPv6 地址。此地址是本地路由器或对等 VPN 设备的 IPv6 地址。此 IPv6 地址是从 Cloud Router 的 BGP 对等方获知的 IPv6 路由的下一个跃点。 该地址必须在 2600:2d00:0:2::/63 范围内。
  8. 点击保存并继续

对于专用互连

  1. 如需为专用互连配置 BGP 会话,请转到 VLAN 连接页面。

    转到 VLAN 连接

  2. 选择包含要更新的 BGP 会话的 VLAN 连接。

  3. VLAN 连接详情页面上,点击修改 BGP 会话

  4. 选择 BGP 会话类型。如需为 IPv4 启用路由交换,请选择 IPv4 BGP 会话

  5. 如需启用 MP-BGP,请在多协议 BGP 部分中,点击启用 IPv6 流量切换开关,将其切换到开启位置。

  6. 点击保存并继续

gcloud

  1. 移除 IPv6 BGP 对等方:

    gcloud compute routers remove-bgp-peer ROUTER_NAME \
        --peer-name=PEER_NAME
    
  2. 移除 IPv6 BGP 接口:

    gcloud compute routers remove-interface ROUTER_NAME \
        --interface-name=INTERFACE_NAME
    
  3. 启用 IPv4 MP-BGP:

    gcloud compute routers update-bgp-peer ROUTER_NAME \
        --peer-name=PEER_NAME \
        --enable-ipv6
    

API

使用 routers.patch 方法更新 bgpPeers[] 字段。

bgpPeers[] 字段接受 BGP 对等方数组。PATCH 此字段时,您将使用请求中包含的新数组覆盖现有 BGP 对等方数组。

  1. 发送 GET 请求以获取路由器的当前 BGP 对等方数组。如需了解详情,请参阅查看 BGP 会话配置

  2. 发送带有新 BGP 对等方数组的 PATCH 请求。对于要在 BGP 会话中为其启用 IPv6 的每个 BGP 对等方,请将 bgpPeers[].enableIpv6 设置为 TRUE,并将 bgpPeers[].enableIpv4 设置为 FALSE

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgpPeers": [
        BGP_PEERS
      ]
    }
    

    请替换以下内容:

    • PROJECT_ID:Cloud Router 路由器所属的项目
    • REGION:Cloud Router 路由器所在的区域
    • ROUTER_NAME:Cloud Router 路由器的名称
    • BGP_PEERS:新 BGP 对等方数组的内容

    以下示例会在第一个 BGP 对等方的会话中启用 IPv4 并停用 IPv6:

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "169.254.10.1",
          "peerIpAddress": "169.254.10.2",
          "peerAsn": 64512,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv6": false,
          "enableIpv4": true
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "169.254.20.1",
          "peerIpAddress": "169.254.20.2",
          "peerAsn": 64513,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv6": false
        }
     

    此外,如果您要为高可用性 VPN 隧道中使用的 BGP 会话启用 IPv6 流量,则可以指定 IPv6 下一个跃点地址:

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "169.254.10.1",
          "peerIpAddress": "169.254.10.2",
          "peerAsn": 64512,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv6": false,
          "enableIpv4": true,
          "ipv6NexthopAddress": "2600:2d00:0:2:0:0:1:5",
          "peerIpv6NexthopAddress": "2600:2d00:0:2:0:0:1:6"
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "169.254.20.1",
          "peerIpAddress": "169.254.20.2",
          "peerAsn": 64513,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE",
          "enableIpv6": false
        }

    使用 ipv6NexthopAddresspeerIpv6NexthopAddress 的值配置本地路由器或对等 VPN 设备。

    如需查看高可用性 VPN 和对等 VPN 设备的示例配置,请参阅为 IPv4 和 IPv6 流量设置第三方 VPN

    如需查看专用互连和本地路由器的示例配置,请参阅为 IPv4 和 IPv6 流量设置本地路由器

后续步骤