配置本地路由器

本文档介绍如何为专用互连配置本地路由器。如果您要创建合作伙伴互连连接,请参阅为合作伙伴互连配置本地路由器

创建 VLAN 连接后,您需要配置本地路由器以与 Cloud Router 路由器建立边界网关协议 (BGP) 会话。如需配置本地路由器,请使用 VLAN 连接提供的 VLAN ID、接口地址和对等互连地址。

如果您创建双栈 VLAN 连接,则可以配置 IPv4 BGP 会话和/或 IPv6 BGP 会话。如果您同时配置 IPv4 BGP 会话和 IPv6 BGP 会话,则 BGP 会话通过同一 VLAN 连接并行运行。如需详细了解并行 BGP 会话,请参阅 Cloud Router 路由器文档中的建立 BGP 会话

IPv6 BGP 会话支持处于预览版阶段。

您还可以视需要将 BGP 会话配置为使用 MD5 身份验证。如果您向 Cloud Router 路由器上的 BGP 会话添加了 MD5 身份验证,则必须使用在本地路由器上配置 BGP 时使用的身份验证密钥。

如需了解本页面中使用的术语定义,请参阅 Cloud Interconnect 关键术语

如需帮助解决使用专用互连时可能会遇到的常见问题,请参阅问题排查

使用示例拓扑

本文档提供了以下示例拓扑和配置,供您在配置本地路由器时参考:

  • 仅限第 3 层拓扑(推荐):终止于本地路由器的专用互连连接。该路由器会执行与 Cloud Router 路由器的 BGP 对等互连。
  • 第 2 层/第 3 层拓扑:专用互连连接或终止于连接到本地路由器的本地交换机的连接。该路由器会执行与 Cloud Router 路由器的 BGP 对等互连。

如需了解您可能用于本地路由器的某些第三方平台的值,请参阅特定供应商的说明。如需了解确切值,请参阅您的本地路由器文档。

本文档中的示例拓扑使用以下 Google Cloud 资源:

  • 项目 Sample Interconnect Project
  • 网络 my-network
  • 区域 us-east1

其中有两个专用互连连接:my-interconnect1my-interconnect2。这些连接已经过预配,处于 ready to use 状态。

仅限第 3 层拓扑

在此拓扑中,专用互连连接终结于本地路由器,该路由器执行与 Cloud Router 路由器的 BGP 对等互连。

以下几张图片显示了仅限第 3 层的物理拓扑和逻辑拓扑。

仅限第 3 层的物理拓扑示例(点击可放大)。
仅限第 3 层的本地物理拓扑示例(点击可放大)



仅限第 3 层的逻辑拓扑示例(点击可放大)。
仅限第 3 层的本地逻辑拓扑示例(点击可放大)

第 2 层/第 3 层拓扑

在此拓扑中,专用互连连接终结于本地交换机,该交换机随后连接到本地路由器。该路由器会执行与 Cloud Router 路由器的 BGP 对等互连。

以下几张图片显示了第 2 层/第 3 层的物理拓扑和逻辑拓扑。

第 2 层/第 3 层物理拓扑示例(点击可放大)。
第 2 层/第 3 层物理拓扑示例(点击可放大)



第 2 层/第 3 层逻辑拓扑示例(点击可放大)。
第 2 层/第 3 层逻辑拓扑示例(点击可放大)

配置本地设备以进行测试

以下部分介绍了如何配置本地设备以测试专用互连。对于第 2 层/第 3 层配置,此示例介绍了如何在一个或多个面向 Google Cloud 的交换机(而不是路由器)上配置测试接口。

在 Google 开始测试新的专用互连连接之前,请在没有 VLAN 标记(有时称为访问模式)的情况下配置接口。

用于测试的示例配置

以下示例显示了如何在测试之前配置 Juniper 路由器,并显示了为端口通道 ae0 配置所需的参数。此配置采用以下设置:

  • 在端口通道 ae0 上配置 BGP IPv4 地址 169.254.0.2
  • 在端口通道 ae0 上配置了 LACP。
  • 未在端口通道 ae0 上配置 VLAN 标签。您必须配置没有 VLAN 标记的接口(访问模式)。
  • 1460 字节的最大传输单元 (MTU)。但是,如果您相应地调整路由器接口配置,并且连接的 MTU 和连接的 VPC 网络的 MTU 也设置为 1500 或 8896 字节,则可以使用 1500 或 8896 字节的 MTU。

    set interfaces xe-0/0/0 description "my-interconnect2"
    set interfaces xe-0/0/0 gigether-options 802.3ad ae0
    set interfaces ae0 description "my-interconnect2"
    set interfaces ae0 aggregated-ether-options lacp active
    set interfaces ae0 aggregated-ether-options minimum-links 1
    set interfaces ae0 unit 0 family inet mtu 1460
    set interfaces ae0 unit 0 family inet address 169.254.0.2
    

在专用互连连接正常运行后,请继续阅读下一部分,了解每个拓扑的示例生产配置。

为生产环境配置本地路由器

本部分介绍如何为生产用途配置“仅限第 3 层”拓扑以及第 2 层/第 3 层拓扑。每个示例配置都介绍了所有设备设置。

如需了解如何配置本地设备以测试专用互连连接,请参阅配置本地路由器以进行测试

两种拓扑的生产环境本地路由器设置

根据示例 Google Cloud 项目中的配置,下表总结了用于示例拓扑的本地路由器设置。

如需了解 Google Cloud 端使用的示例项目名称、VPC 网络和区域,请参阅拓扑参考

Hold 计时器和 keepalive 计时器值让 Google 在出现问题时快速将流量传输到冗余连接。请按照下表所示设置计时器值。

在 Cloud Router 路由器维护期间,安全重启可以防止 BGP 会话丢失数据包及撤消路由。如果本地设备支持 BGP 安全重启,请加以启用并设置安全重启计时器和 stalepath 计时器,如下表所示。

如需详细了解 BGP 计时器设置,请参阅 Cloud Router 路由器文档中的 BGP 计时器建议值

设置 my-interconnect1 my-interconnect2
VLAN 编号 1010 1020
VLAN 接口 IPv4 地址 169.254.10.2/29 169.254.20.2/29
本地 ASN 64500 64500
Cloud Router 路由器 ASN 65200 65200
Cloud Router BGP IPv4 地址 对于 cr-us-east1 接口 0:
169.254.10.1
对于 cr-us-east1 接口 1:
169.254.20.1
BGP 计时器 Keepalive:20 秒 Keepalive:20 秒
Hold 计时器:60 秒 Hold 计时器:60 秒
安全重启:将安全重启计时器设置为适合您需求的值。如需了解详情,请参阅 BGP 计时器设置 安全重启:将安全重启计时器设置为适合您需求的值。
Stalepath 计时器:300 秒 Stalepath 计时器:300 秒
本地 LAN 子网范围 192.168.12.0/24 192.168.12.0/24

为生产环境配置“仅限第 3 层”拓扑

配置“仅限第 3 层”拓扑时,请遵循以下准则:

  • 即使只有一个端口,面向 Cloud Router 路由器的本地路由器端口(图中的 0/0)也必须是某个端口通道的一部分。
  • 端口通道必须启用 LACP,并且处于主动或被动模式。 LACP 是必需的,因为它允许您在不中断流量的情况下调整专用互连连接的容量。
  • 路由器接口(图中的 0/0)的最大传输单元应为 1440、1460、1500 或 8896 字节之一,具体取决于连接的 MTU 和连接的 VPC 网络的 MTU
  • 对于 EBGP 多跃点配置,请使用 gcloud compute interconnects attachments describe 命令检查 VLAN 连接的 Dataplane 版本。如果 Dataplane 版本为 2 或更高版本,则该命令将返回 dataplaneVersion 字段。如果命令输出不包含 dataplaneVersion 字段,则 Dataplane 版本为 1
    • 如果您的 VLAN 连接使用 Dataplane 版本 1,则必须为 EBGP 邻居配置多跃点。此设置的建议值为 4
    • 如果您的 VLAN 连接使用 Dataplane 版本 2 或更高版本,则无需为 EBGP 邻居配置多跃点。如果您计划在 VLAN 连接的 BGP 会话中使用双向转发检测 (BFD),并且 BFD 多跃点是从 BGP 多跃点配置继承的,则不要配置 EBGP 多跃点。Google Cloud 仅支持 BFD 单跃点模式。请参阅配置 BFD

设备配置

VLAN 1010 路由器 (Cisco)

以下清单显示了 VLAN 1010 上本地 Router1 (Cisco) 的“仅限第 3 层”示例配置:

        interface E0/0
          description connected_to_google_edge_device
          channel-group 2 mode active
          no shut

        interface Po2
          description my-interconnect1
          no shut

        interface Po2.1010
          description attachment_vlan1010
          encapsulation dot1Q 1010
          ip address 169.254.10.2 255.255.255.248
          ip mtu 1460

        ip prefix-list TO_GCP seq 5 permit 192.168.12.0/24

        route-map TO_GCP_OUTBOUND permit 10
          match ip address prefix-list TO_GCP

        router bgp 64500
          bgp graceful-restart
          bgp graceful-restart restart-time 60
           neighbor 169.254.10.1 description peering_to_cloud_router
           neighbor 169.254.10.1 remote-as 65200
           neighbor 169.254.10.1 ebgp-multihop 4
           neighbor 169.254.10.1 timers 20 60
           neighbor 169.254.10.1 update-source Po2.1010
           neighbor 169.254.10.1 route-map TO_GCP_OUTBOUND out
      

VLAN 1020 路由器 (Juniper)

以下清单显示了 VLAN 1020 上本地 Router2 (Juniper) 的“仅限第 3 层”示例配置:

        set interfaces xe-0/0/0 ether-options 802.3ad ae1
        set interfaces xe-0/0/0 description "connected_to_google_edge_device"

        set interfaces ae1 description my-interconnect2
        set interfaces ae1 flexible-vlan-tagging
        set interfaces ae1 aggregated-ether-options minimum-links 1
        set interfaces ae1 aggregated-ether-options lacp active
        set interfaces ae1 unit 1020 family inet mtu 1460
        set interfaces ae1 unit 1020 vlan-id 1020
        set interfaces ae1 unit 1020 family inet address 169.254.20.2/29

        set routing-options autonomous-system 64500

        set policy-options prefix-list TO_GCP 192.168.12.0/24

        set policy-options policy-statement TO_GCP_OUTBOUND term 1 from protocol direct
        set policy-options policy-statement TO_GCP_OUTBOUND term 1 from prefix-list TO_GCP
        set policy-options policy-statement TO_GCP_OUTBOUND term 1 then accept
        set policy-options policy-statement TO_GCP_OUTBOUND term 2 then reject

        set protocols bgp group config_vlan_1020 type external
        set protocols bgp group config_vlan_1020 multihop ttl 4
        set protocols bgp group config_vlan_1020 local-address 169.254.20.2
        set protocols bgp group config_vlan_1020 peer-as 65200
        set protocols bgp group config_vlan_1020 neighbor 169.254.20.1 export TO_GCP_OUTBOUND
        set protocols bgp group config_vlan_1020 neighbor 169.254.20.1 graceful-restart restart-time 60
      

为生产环境配置第 2 层/第 3 层拓扑

在配置第 2 层/第 3 层拓扑时,请确保本地交换机和路由器遵循以下准则:

  • 必须在交换机上配置 VLAN。
  • 面向 Cloud Router 路由器的交换机端口(图中所示的 1/1)必须是某个端口通道的一部分。
    • 端口通道必须启用 LACP,并且处于主动或被动模式。 LACP 是必需的,因为它允许您在不中断流量的情况下调整专用互连连接的容量。
    • 您必须在 802.1Q 中继模式下配置端口通道,并且必须允许专用互连连接使用的所有 VLAN ID。
    • 端口通道必须启用 802.1Q VLAN 标记。
  • 面向本地路由器的交换机端口(图中所示的 1/2)可以是某个中继端口或访问端口。这包括某个路由器端口专用于单个 VLAN 的情况。
  • 在交换机端启用中继模式时,本地路由器必须支持具有所需封装的子接口(dot1q 标记)。
  • 此配置使用 1460 字节 MTU。但是,如果您相应地调整路由器接口配置,并且连接的 MTU 和连接的 VPC 网络的 MTU 也设置为 1500 或 8896 字节,则可以使用 1500 或 8896 字节的 MTU。
  • 对于 EBGP 多跃点配置,请使用 gcloud compute interconnects attachments describe 命令检查 VLAN 连接的 Dataplane 版本。如果 Dataplane 版本为 2 或更高版本,则该命令将返回 dataplaneVersion 字段。如果命令输出不包含 dataplaneVersion 字段,则 Dataplane 版本为 1
    • 如果您的 VLAN 连接使用 Dataplane 版本 1,则必须为 EBGP 邻居配置多跃点。此设置的建议值为 4
    • 如果您的 VLAN 连接使用 Dataplane 版本 2 或更高版本,则无需为 EBGP 邻居配置多跃点。如果您计划在 VLAN 连接的 BGP 会话中使用双向转发检测 (BFD),并且 BFD 多跃点是从 BGP 多跃点配置继承的,则不要配置 EBGP 多跃点。Google Cloud 仅支持 BFD 单跃点模式。请参阅配置 BFD

设备配置

VLAN 1010 (Cisco) 交换机

以下清单显示了 VLAN 1010 上本地 Switch1 (Cisco) 的第 2 层/第 3 层示例配置:

          vlan 1010
          name cloud_vlan1010

          interface E1/1
            description connected_to_google_edge_device
            Channel-group 1 mode active

          interface port-channel1
            description connected_to_google_edge_device
            Switchport trunk encapsulation dot1q
            Switchport mode trunk
            Switchport trunk allowed vlan 1,1010

          interface E1/2
            description connected_to_onprem_router
            channel-group 2 mode active

          interface port-channel2
            description connected_to_onprem_router
            Switchport trunk encapsulation dot1q
            Switchport mode trunk
            Switchport trunk allowed vlan 1,1010
        

VLAN 1010 (Cisco) 路由器

以下清单显示了 VLAN 1010 上本地 Router1 (Cisco) 的第 2 层/第 3 层示例配置:

        interface E0/0
          description connected_to_onprem_switch
          channel-group 2 mode active
          no shut

        interface Po2
          description my-interconnect1
          no shut

        interface Po2.1010
          description attachment_vlan1010
          encapsulation dot1Q 1010
          ip address 169.254.10.2 255.255.255.248
          ip mtu 1460

        ip prefix-list TO_GCP seq 5 permit 192.168.12.0/24

        route-map TO_GCP_OUTBOUND permit 10
          match ip address prefix-list TO_GCP

        router bgp 64500
          bgp graceful-restart restart-time 1
          neighbor 169.254.10.1 description peering_to_cloud_router
          neighbor 169.254.10.1 remote-as 65200
          neighbor 169.254.10.1 ebgp-multihop 4
          neighbor 169.254.10.1 timers 20 60
          neighbor 169.254.10.1 update-source Po2.1010
          neighbor 169.254.10.1 route-map TO_GCP_OUTBOUND out
      

VLAN 1020 (Juniper) 交换机

以下清单显示了 VLAN 1020 上本地 Switch2 (Juniper) 的第 2 层/第 3 层示例配置:

        set vlans cloud_vlan1020 vlan-id 1020

        set interfaces xe-0/1/1 description "connected_to_google_edge_device"
        set interfaces xe-0/1/1 ether-options 802.3ad ae1

        set interfaces ae1 aggregated-ether-options lacp active
        set interfaces ae1 unit 0 description "connected_to_google_edge_device"
        set interfaces ae1 unit 0 family ethernet-switching port-mode trunk
        set interfaces ae1 unit 0 family ethernet-switching vlan member cloud_vlan1020

        set interfaces xe-0/1/2 description "connected_to_onprem_router"
        set interfaces xe-0/1/2 ether-options 802.3ad ae2

        set interfaces ae2 unit 0 description "connected_to_onprem_router"
        set interfaces ae2 unit 0 family ethernet-switching port-mode trunk
        set interfaces ae2 unit 0 family ethernet-switching vlan member cloud_vlan1020
      

VLAN 1020 (Juniper) 路由器

以下清单显示了 VLAN 1020 上本地 Router2 (Juniper) 的第 2 层/第 3 层示例配置:


      set interfaces xe-0/0/0 ether-options 802.3ad ae1
      set interfaces xe-0/0/0 description connected_to_onprem_switch

      set interfaces ae1 description my-interconnect2
      set interfaces ae1 flexible-vlan-tagging
      set interfaces ae1 aggregated-ether-options minimum-links 1
      set interfaces ae1 aggregated-ether-options lacp active
      set interfaces ae1 unit 1020 family inet mtu 1460
      set interfaces ae1 unit 1020 vlan-id 1020
      set interfaces ae1 unit 1020 family inet address 169.254.20.2/29

      set routing-options autonomous-system 64500

      set policy-options prefix-list TO_GCP 192.168.12.0/24

      set policy-options policy-statement TO_GCP_OUTBOUND term 1 from protocol direct
      set policy-options policy-statement TO_GCP_OUTBOUND term 1 from prefix-list TO_GCP
      set policy-options policy-statement TO_GCP_OUTBOUND term 1 then accept
      set policy-options policy-statement TO_GCP_OUTBOUND term 2 then reject

      set protocols bgp group config_vlan_1020 type external
      set protocols bgp group config_vlan_1020 multihop ttl 4
      set protocols bgp group config_vlan_1020 local-address 169.254.20.2
      set protocols bgp group config_vlan_1020 peer-as 65200
      set protocols bgp group config_vlan_1020 neighbor 169.254.20.1 export TO_GCP_OUTBOUND
      set protocols bgp group config_vlan_1020 neighbor 169.254.20.1 graceful-restart restart-time 1
      

为 IPv4 和 IPv6 流量设置本地路由器

本部分提供特定于供应商的配置示例,您可以使用这些示例设置本地路由器以与 Cloud Interconnect 和 Cloud Router 交换 IPv4 和 IPv6 流量。

通过在专用互连中的双栈(IPv4 和 IPv6)VLAN 连接的 BGP 会话中使用多协议 BGP (MP-BGP),您可以在专用互连中交换 IPv4 和 IPv6 流量。合作伙伴互连或通过 Cloud Interconnect 实现的高可用性 VPN 部署不支持双栈 VLAN 连接。

Cloud Router 路由器可让您在 IPv4 或 IPv6 BGP 会话中使用 MP-BGP。但是,以下说明仅提供 IPv4 BGP 会话的配置示例。这些说明不提供 IPv6 BGP 配置示例。IPv6 BGP 会话支持处于预览版阶段。

如需在双栈 Virtual Private Cloud (VPC) 网络和本地网络中的 IPv6 寻址主机之间交换 IPv6 路由,您可以在 IPv4 BGP 会话中启用 IPv6 路由交换。如果执行此操作,IPv6 路由交换通过基于 IPv4 的 BGP 会话进行。此设置还要求您在本地路由器上配置 IPv6 下一个跃点地址。

准备工作

在为 IPv4 和 IPv6 流量配置本地路由器之前,您需要从 Cloud Router 路由器获取一些信息。

要从 Cloud Router 获取 BGP 会话详细信息,请运行 gcloud compute routers describe 命令并指定 VLAN 连接使用的 Cloud Router 路由器的名称。

gcloud compute routers describe ROUTER_NAME /
   --project PROJECT_ID /
   --region REGION
输出示例
 bgp:
    advertiseMode: DEFAULT
    asn: 65200
    keepaliveInterval: 20
  bgpPeers:
  - advertiseMode: DEFAULT
    bfd:
      minReceiveInterval: 1000
      minTransmitInterval: 1000
      multiplier: 5
      sessionInitializationMode: DISABLED
    enable: 'TRUE'
    enableIpv6: true
    interfaceName: if-bgp-1
    ipAddress: 169.254.10.1
    ipv6NexthopAddress: 2600:2d00:0:1:8000:12:0:2d0
    name: bgp-1
    peerAsn: 64500
    peerIpAddress: 169.254.10.2
    peerIpv6NexthopAddress: 2600:2d00:0:1:8000:12:0:2da
  - advertiseMode: DEFAULT
    bfd:
      minReceiveInterval: 1000
      minTransmitInterval: 1000
      multiplier: 5
      sessionInitializationMode: DISABLED
    enable: 'TRUE'
    enableIpv6: true
    interfaceName: if-bgp-2
    ipAddress: 169.254.20.1
    ipv6NexthopAddress: 2600:2d00:0:1:8000:12:0:2d1
    name: bgp-2
    peerAsn: 64500
    peerIpAddress: 169.254.20.2
    peerIpv6NexthopAddress: 2600:2d00:0:1:8000:12:0:2d2
  creationTimestamp: '2022-08-26T08:07:41.827-07:00'

在输出中,找到要为 IPv4 和 IPv6 流量配置的 BGP 会话的 bgpPeers 部分中的以下字段,并记录其值。

  • peerIpv6NexthopAddress:分配给 BGP 对等方的 IPv6 下一个跃点地址。在 BGP 会话上启用 IPv6 前缀交换时,Google Cloud 会自动分配这些地址。
  • peerIpAddress:分配给第三方路由器接口的 BGP IPv4 链路本地地址。
  • ipAddress:分配给 Cloud Router 路由器接口的 BGP IPv4 链路本地地址。

设备配置

按照以下步骤通过专用互连为 IPv4 和 IPv6 双栈流量配置本地路由器。

VLAN 1010/VLAN 1020 路由器 (Arista EOS)

以下过程介绍了如何设置您的 Arista EOS 路由器,以支持 VLAN 连接上的 IPv4 和 IPv6 流量。

配置 Arista EOS 接口

在每个 BGP 对等接口上启用和配置 IPv6 地址,该接口还配置有用于 IPv4 BGP 对等互连的本地地址。如需配置两个接口,请运行以下配置命令:

interface Ethernet1.1010
encapsulation dot1q vlan 1010
ip address BGP_PEER_IPV4_ADDRESS_1/29
ipv6 enable
ipv6 address BGP_PEER_IPV6_NEXT_HOP_ADDRESS_1/125
!
!
interface Ethernet2.1020
encapsulation dot1q vlan 1020
ip address BGP_PEER_IPV4_ADDRESS_2/29
ipv6 enable
ipv6 address BGP_PEER_IPV6_NEXT_HOP_ADDRESS_2/125

请替换以下内容:

  • BGP_PEER_IPV4_ADDRESS_1:第一个 BGP 对等方的链路本地 IPv4 地址,配置为 Arista EOS 设备上的第一个接口
  • BGP_PEER_IPV4_ADDRESS_2:第二个 BGP 对等方的链路本地 IPv4 地址,配置为 Arista EOS 设备上的第二个接口
  • BGP_PEER_IPV6_NEXT_HOP_ADDRESS_1:IPv6 下一个跃点地址或 peerIpv6NexthopAddress,分配给 Cloud Router 路由器中的第一个 BGP 对等方
  • BGP_PEER_IPV6_NEXT_HOP_ADDRESS_2:IPv6 下一个跃点地址或 peerIpv6NexthopAddress,分配给 Cloud Router 路由器中的第二个 BGP 对等方

例如,您的配置可能如下所示:

interface Ethernet1.1010
encapsulation dot1q vlan 1010
ip address 169.254.10.2/29
ipv6 enable
ipv6 address 2600:2d00:0:1:8000:12:0:2d2/125
!
!
interface Ethernet2.1020
encapsulation dot1q vlan 1020
ip address 169.254.20.2/29
ipv6 enable
ipv6 address 2600:2d00:0:1:8000:12:0:2da/125

创建路由映射

接下来,创建路由映射,将 IPv6 对等方的下一个跃点更改为上一步中创建的地址。

route-map IPv6-NextHop-1 permit 10
set ipv6 next-hop BGP_PEER_IPV6_NEXT_HOP_ADDRESS_1
!
route-map IPv6-NextHop-2 permit 10
set ipv6 next-hop BGP_PEER_IPV6_NEXT_HOP_ADDRESS_2

请替换以下内容:

  • BGP_PEER_IPV6_NEXT_HOP_ADDRESS_1:IPv6 下一个跃点地址或 peerIpv6NexthopAddress,分配给 Cloud Router 路由器中的第一个 BGP 对等方
  • BGP_PEER_IPV6_NEXT_HOP_ADDRESS_2:IPv6 下一个跃点地址或 peerIpv6NexthopAddress,分配给 Cloud Router 路由器中的第二个 BGP 对等方

例如,您的配置可能如下所示:

route-map IPv6-NextHop-1 permit 10
set ipv6 next-hop 2600:2d00:0:1:8000:12:0:2d2
!
route-map IPv6-NextHop-2 permit 10
set ipv6 next-hop 2600:2d00:0:1:8000:12:0:2da

为 IPv6 地址系列创建 BGP

接下来,为 IPv6 地址系列配置 BGP,并指定要通告的 IPv6 网络。

为 IPv4 对等方配置相邻项时,您可以配置路由映射以将下一个跃点更改为上一步中指定的接口。

router bgp ASN
maximum-paths 8
neighbor BGP_IPV4_ADDRESS_1 remote-as ROUTER_ASN
neighbor BGP_IPV4_ADDRESS_2 remote-as ROUTER_ASN
!
address-family ipv4
neighbor BGP_IPV4_ADDRESS_1 activate
neighbor BGP_IPV4_ADDRESS_2 activate
!
address-family ipv6
neighbor BGP_IPV4_ADDRESS_1 activate
neighbor BGP_IPV4_ADDRESS_1 route-map IPv6-NextHop-1 out
neighbor BGP_IPV4_ADDRESS_2 activate
neighbor BGP_IPV4_ADDRESS_2 route-map IPv6-NextHop-2 out
network YOUR_IPV6_NETWORK

请替换以下内容:

  • ASN:BGP 会话的 Arista 端的 ASN
  • CLOUD_ROUTER_ASN BGP 会话的 Cloud Router 路由器的 ASN
  • BGP_IPV4_ADDRESS_1:第一个 BGP 对等方的 Cloud Router 路由器接口的 IPv4 链路本地地址或 ipAddress
  • BGP_IPV4_ADDRESS_2:第二个 BGP 对等方的 Cloud Router 路由器接口的 IPv4 链路本地地址或 ipAddress
  • YOUR_IPV6_NETWORK:您要通告的本地 IPv6 网络

例如,您的配置可能如下所示:

router bgp 65201
maximum-paths 8
neighbor 169.254.10.1 remote-as 65200
neighbor 169.254.20.1 remote-as 65200
!
address-family ipv4
neighbor 169.254.10.1 activate
neighbor 169.254.20.1 activate
!
address-family ipv6
neighbor 169.254.10.1 activate
neighbor 169.254.10.1 route-map IPv6-NextHop-1 out
neighbor 169.254.20.1 activate
neighbor 169.254.20.1 route-map IPv6-NextHop-2 out
network 2001:db8::/32

启用 IP 路由和 IPv6 路由

确保已启用 IP 路由和 IPv6 路由:

ip routing
!
ipv6 unicast-routing

验证状态

配置 IP 和 IPv6 路由后,您可以使用以下命令在 Arista EOS 设备上验证 BGP 状态:

show ipv6 route

VLAN 1010/VLAN 1020 路由器 (Cisco)

以下过程介绍了如何设置 Cisco IOS 和 IOS-XE 路由器,以支持 VLAN 连接上的 IPv4 和 IPv6 流量。

配置 Cisco 接口

在每个 BGP 对等接口上配置 IPv6 地址,该接口还配置有用于 IPv4 BGP 对等互连的链路本地地址。然后启用 IPv6。

如需配置两个接口,请提供以下配置命令:

interface Po2.1010
no shutdown
encapsulation dot1Q 1010
ip address BGP_PEER_IPV4_ADDRESS_1 255.255.255.248
ipv6 address BGP_PEER_IPV6_NEXT_HOP_ADDRESS_1/125
ipv6 enable
!
interface Po3.1020
no shutdown
encapsulation dot1Q 1020
ip address BGP_PEER_IPV4_ADDRESS_2 255.255.255.248
ipv6 address BGP_PEER_IPV6_NEXT_HOP_ADDRESS_2/125
ipv6 enable

请替换以下内容:

  • BGP_PEER_IPV4_ADDRESS_1:第一个 BGP 对等方的链路本地 IPv4 地址或 peerIpAddress,配置为 Cisco 设备上的第一个接口
  • BGP_PEER_IPV4_ADDRESS_2:第二个 BGP 对等方的链路本地 IPv4 地址或 peerIpAddress,配置为 Cisco 设备上的第二个接口
  • BGP_PEER_IPV6_NEXT_HOP_ADDRESS_1:IPv6 下一个跃点地址或 peerIpv6NexthopAddress,分配给 Cloud Router 路由器中的第一个 BGP 对等方
  • BGP_PEER_IPV6_NEXT_HOP_ADDRESS_2:IPv6 下一个跃点地址或 peerIpv6NexthopAddress,分配给 Cloud Router 路由器中的第二个 BGP 对等方

例如,您的配置可能如下所示:

interface Po2.1010
no shutdown
encapsulation dot1Q 1010
ip address 169.254.10.2 255.255.255.248
ipv6 address 2600:2d00:0:1:8000:12:0:2d2/125
ipv6 enable
!
interface Po3.1020
no shutdown
encapsulation dot1Q 1020
ip address 169.254.20.2 255.255.255.248
ipv6 address 2600:2d00:0:1:8000:12:0:2da/125
ipv6 enable

创建路由映射

接下来,创建路由映射,将 IPv6 对等方的下一个跃点更改为上一步中创建的地址。

route-map IPv6-NextHop-1 permit 10
set ipv6 next-hop BGP_PEER_IPV6_NEXT_HOP_ADDRESS_1
!
route-map IPv6-NextHop-2 permit 10
set ipv6 next-hop BGP_PEER_IPV6_NEXT_HOP_ADDRESS_2

请替换以下内容:

  • BGP_PEER_IPV6_NEXT_HOP_ADDRESS_1:IPv6 下一个跃点地址或 peerIpv6NexthopAddress,分配给 Cloud Router 路由器中的第一个 BGP 对等方
  • BGP_PEER_IPV6_NEXT_HOP_ADDRESS_2:IPv6 下一个跃点地址或 peerIpv6NexthopAddress,分配给 Cloud Router 路由器中的第二个 BGP 对等方

例如,您的配置可能如下所示:

route-map IPv6-NextHop-1 permit 10
set ipv6 next-hop 2600:2d00:0:1:8000:12:0:2d2
!
route-map IPv6-NextHop-2 permit 10
set ipv6 next-hop 2600:2d00:0:1:8000:12:0:2dA

为 IPv6 地址系列创建 BGP

接下来,为 IPv6 地址系列配置 BGP,并指定要通告的网络。

IPv4 对等方的相邻项配置已将路由映射配置为将下一个跃点更改为上一步中指定的接口。

router bgp ASN
bgp log-neighbor-changes
neighbor BGP_IPV4_ADDRESS_1 remote-as CLOUD_ROUTER_ASN
neighbor BGP_IPV4_ADDRESS_2 remote-as CLOUD_ROUTER_ASN
!
...
!
address-family ipv6
maximum-paths eibgp 8
network YOUR_IPV6_NETWORK
neighbor BGP_IPV4_ADDRESS_1 activate
neighbor BGP_IPV4_ADDRESS_1 route-map IPv6-NextHop-1 out
neighbor BGP_IPV4_ADDRESS_2 activate
neighbor BGP_IPV4_ADDRESS_2 route-map IPv6-NextHop-2 out
exit-address-family

请替换以下内容:

  • ASN:BGP 会话的 Cisco 端的 ASN
  • CLOUD_ROUTER_ASN BGP 会话的 Cloud Router 路由器的 ASN
  • peerIpv6NexthopAddress 检索第一个 BGP 对等方
  • BGP_IPV4_ADDRESS_1:第一个 BGP 对等方的 Cloud Router 路由器接口的 IPv4 链路本地地址或 ipAddress
  • BGP_IPV4_ADDRESS_2:第二个 BGP 对等方的 Cloud Router 路由器接口的 IPv4 链路本地地址或 ipAddress
  • YOUR_IPV6_NETWORK:您要通告的本地 IPv6 网络

例如,您的配置可能如下所示:

router bgp 64500
bgp log-neighbor-changes
neighbor 169.254.10.1 remote-as 65200
neighbor 169.254.20.1 remote-as 65200
!
...
!
address-family ipv6
maximum-paths eibgp 8
network 2001:db8::/32
neighbor 169.254.10.1 activate
neighbor 169.254.10.1 route-map IPv6-NextHop-1 out
neighbor 169.254.20.1 activate
neighbor 169.254.20.1 route-map IPv6-NextHop-2 out
exit-address-family

验证状态

完成配置后,您可以使用以下命令验证 BGP 状态:

show ipv6 route
show ip route

VLAN 1010/VLAN 1020 路由器 (Juniper)

以下部分介绍如何在 Juniper JunOS 路由器上配置 IPv4 和 IPv6(双栈)流量以实现专用互连连接。

配置 Juniper JunOS 接口

在每个 BGP 对等接口上配置 IPv6 地址,该接口还配置有用于 IPv4 BGP 对等互连的链路本地地址。

set interfaces ge-0/0/0 vlan-tagging
set interfaces ge-0/0/0 unit 0 vlan-id 1010
set interfaces ge-0/0/0 unit 0 family inet address BGP_PEER_IPV4_ADDRESS_1/29
set interfaces ge-0/0/0 unit 0 family inet6 address BGP_PEER_IPV6_NEXT_HOP_ADDRESS_1/125

set interfaces ge-0/0/1 vlan-tagging
set interfaces ge-0/0/1 unit 0 vlan-id 1020
set interfaces ge-0/0/1 unit 0 family inet address BGP_PEER_IPV4_ADDRESS_2/29
set interfaces ge-0/0/1 unit 0 family inet6 address BGP_PEER_IPV6_NEXT_HOP_ADDRESS_2/125

请替换以下内容:

  • BGP_PEER_IPV4_ADDRESS_1:第一个 BGP 对等方的链路本地 IPv4 地址或 peerIpAddress,配置为 Juniper 设备上的第一个接口
  • BGP_PEER_IPV4_ADDRESS_2:第二个 BGP 对等方的链路本地 IPv4 地址或 peerIpAddress,配置为 Cisco 设备上的第二个接口
  • BGP_PEER_IPV6_NEXT_HOP_ADDRESS_1:IPv6 下一个跃点地址或 peerIpv6NexthopAddress,分配给 Cloud Router 路由器中的第一个 BGP 对等方
  • BGP_PEER_IPV6_NEXT_HOP_ADDRESS_2:IPv6 下一个跃点地址或 peerIpv6NexthopAddress,分配给 Cloud Router 路由器中的第二个 BGP 对等方

例如,您的配置可能如下所示:

set interfaces ge-0/0/0 vlan-tagging
set interfaces ge-0/0/0 unit 0 vlan-id 1010
set interfaces ge-0/0/0 unit 0 family inet address 169.254.10.2/29
set interfaces ge-0/0/0 unit 0 family inet6 address 2600:2d00:0:1:8000:12:0:2d2/125

set interfaces ge-0/0/1 vlan-tagging
set interfaces ge-0/0/1 unit 0 vlan-id 1020
set interfaces ge-0/0/1 unit 0 family inet address 169.254.20.2/29
set interfaces ge-0/0/1 unit 0 family inet6 address 2600:2d00:0:1:8000:12:0:2da/125
配置块示例:
interfaces {
    ge-0/0/0 {
            vlan-tagging;
            unit 0 {
                    vlan-id 1010;
                    family inet {
                                address 169.254.10.2/29;
                    }
                    family inet6 {
                                address 2600:2d00:0:1:8000:12:0:2d2/125;
                    }
            }
    }
    ge-0/0/1 {
            vlan-tagging;
            unit 0 {
                    vlan-id 1020;
                    family inet {
                                address 169.254.20.2/29;
                    }
                    family inet6 {
                                address 2600:2d00:0:1:8000:12:0:2da/125;
                    }
            }
    }
}

创建政策语句

接下来,创建政策语句,将 IPv6 对等方的下一个跃点更改为上面创建的地址:

set policy-options policy-statement set-v6-next-hop-1 term 1 from family inet6
set policy-options policy-statement set-v6-next-hop-1 term 1 from prefix-list ipv6
set policy-options policy-statement set-v6-next-hop-1 term 1 then next-hop BGP_PEER_IPV6_NEXT_HOP_ADDRESS_1
set policy-options policy-statement set-v6-next-hop-1 term 1 then accept
set policy-options policy-statement set-v6-next-hop-2 term 1 from family inet6
set policy-options policy-statement set-v6-next-hop-2 term 1 from prefix-list ipv6
set policy-options policy-statement set-v6-next-hop-2 term 1 then next-hop BGP_PEER_IPV6_NEXT_HOP_ADDRESS_2
set policy-options policy-statement set-v6-next-hop-2 term 1 then accept

请替换以下内容:

  • BGP_PEER_IPV6_NEXT_HOP_ADDRESS_1:IPv6 下一个跃点地址或 peerIpv6NexthopAddress,分配给 Cloud Router 路由器中的第一个 BGP 对等方
  • BGP_PEER_IPV6_NEXT_HOP_ADDRESS_2:IPv6 下一个跃点地址或 peerIpv6NexthopAddress,分配给 Cloud Router 路由器中的第二个 BGP 对等方

例如,您的配置可能如下所示:

set policy-options policy-statement set-v6-next-hop-1 term 1 from family inet6
set policy-options policy-statement set-v6-next-hop-1 term 1 from prefix-list ipv6
set policy-options policy-statement set-v6-next-hop-1 term 1 then next-hop 2600:2d00:0:1:8000:12:0:2d2
set policy-options policy-statement set-v6-next-hop-1 term 1 then accept
set policy-options policy-statement set-v6-next-hop-2 term 1 from family inet6
set policy-options policy-statement set-v6-next-hop-2 term 1 from prefix-list ipv6
set policy-options policy-statement set-v6-next-hop-2 term 1 then next-hop 2600:2d00:0:1:8000:12:0:2da
set policy-options policy-statement set-v6-next-hop-2 term 1 then accept
配置块示例:
 policy-statement set-v6-next-hop-1 {
        term 1 {
                from {
                        family inet6;
                     }
                then {
                        next-hop 2600:2d00:0:1:8000:12:0:2d2;
                        accept;
                     }
        }
}
policy-statement set-v6-next-hop-2 {
        term 1 {
                from {
                        family inet6;
                      }
                then {
                        next-hop 2600:2d00:0:1:8000:12:0:2da;
                        accept;
                     }
        }
}

为 IPv6 路由交换配置 BGP

接下来,为 IPv6 配置 BGP 并设置“include-mp-next-hop”语句,将下一个跃点属性发送到对等方。

将导出语句配置为上面创建的政策语句,以将下一个跃点更改为指定的 IPv6 地址。

set protocols bgp group ebgp-peers type external
set protocols bgp group ebgp-peers family inet unicast
set protocols bgp group ebgp-peers family inet6 unicast

set protocols bgp group ebgp-peers neighbor BGP_IPV4_ADDRESS_1 export set-v6-next-hop-1
set protocols bgp group ebgp-peers neighbor BGP_IPV4_ADDRESS_1 peer-as CLOUD_ROUTER_ASN
set protocols bgp group ebgp-peers neighbor BGP_IPV4_ADDRESS_1 include-mp-next-hop
set protocols bgp group ebgp-peers neighbor BGP_IPV4_ADDRESS_2 export set-v6-next-hop-2
set protocols bgp group ebgp-peers neighbor BGP_IPV4_ADDRESS_2 peer-as CLOUD_ROUTER_ASN
set protocols bgp group ebgp-peers neighbor BGP_IPV4_ADDRESS_2 include-mp-next-hop

请替换以下内容:

  • CLOUD_ROUTER_ASN BGP 会话的 Cloud Router 路由器的 ASN
  • peerIpv6NexthopAddress 检索第一个 BGP 对等方
  • BGP_IPV4_ADDRESS_1:第一个 BGP 对等方的 Cloud Router 路由器接口的 IPv4 链路本地地址或 ipAddress
  • BGP_IPV4_ADDRESS_2:第二个 BGP 对等方的 Cloud Router 路由器接口的 IPv4 链路本地地址或 ipAddress

set protocols bgp group ebgp-peers type external
set protocols bgp group ebgp-peers family inet unicast
set protocols bgp group ebgp-peers family inet6 unicast

set protocols bgp group ebgp-peers neighbor 169.254.10.1 export set-v6-next-hop-1
set protocols bgp group ebgp-peers neighbor 169.254.10.1 peer-as 65200
set protocols bgp group ebgp-peers neighbor 169.254.10.1 include-mp-next-hop
set protocols bgp group ebgp-peers neighbor 169.254.20.1 export set-v6-next-hop-2
set protocols bgp group ebgp-peers neighbor 169.254.20.1 peer-as 65200
set protocols bgp group ebgp-peers neighbor 169.254.20.1  include-mp-next-hop
配置块示例:
protocols {
        bgp {
            group ebgp-peers {
                    type external;
                    family inet {
                                unicast;
                    }
                    family inet6 {
                                unicast;
                    }
                    neighbor 169.254.10.1 {
                                export set-v6-next-hop-1;
                                peer-as 65200;
                                include-mp-next-hop;
                    }
                    neighbor 169.254.20.1 {
                                export set-v6-next-hop-2;
                                peer-as 65200;
                                include-mp-next-hop;
                    }
            }
     }
}
routing-options {
        autonomous-system 64500;
}

验证 BGP 连接

要在配置 Juniper JunOS 设备后验证 BGP 连接,请运行以下命令。

show route protocol bgp

在输出中,验证您的 IPv6 网络是否通过 BGP 通告。

最佳实践

在使用 Cloud Interconnect 99.9% 和 99.99% 拓扑时,请遵循以下最佳做法以确保从本地设备有效连接到 Google Cloud。

配置“主动/主动”转发设备

  • 确保在所有 BGP 会话之间交换相同的 MED 值。
  • 在 BGP 配置中启用等价多路径 (ECMP) 路由
  • 在 BGP 会话上启用安全重启功能,以最大限度地降低 Cloud Router 路由器任务重启的影响。当您通过不同的边缘可用性网域连接两个连接时(如推荐的拓扑中所述),Cloud Router 路由器会为每个边缘可用性网域使用一个任务。为避免停机,软件任务会分别安排。
  • 如果要配置两个本地设备,请使用任何路由协议将这两个设备互相连接起来。如果要将设备配置为使用重新分配功能,请使用 IBGP 或 IGP。

配置“主动/被动”转发设备

  • 确保在 Cloud Router 路由器端和本地设备端应用较高的 MED 值,以避免出现非对称路由。
  • 在 BGP 会话上启用安全重启功能,以最大限度地降低 Cloud Router 路由器任务重启的影响。当您通过不同的边缘可用性网域连接两个连接时(如推荐的拓扑中所述),Cloud Router 路由器会为每个边缘可用性网域使用一个任务。为避免停机,软件任务会分别安排。
  • 如果要配置两个本地设备,请确保这两个设备之间具有第 3 层连接。如果要将设备配置为使用重新分配功能,请使用 IBGP 或 IGP。

验证 BGP 会话

检查您的 BGP 会话是否在本地网络与 Google Virtual Private Cloud (VPC) 网络之间正常工作。如需了解详情,请参阅 Cloud Router 路由器文档中的查看 Cloud Router 路由器状态和路由