Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

示例:配置 EVPN-VXLAN 集中路由桥接交换矩阵

现代数据中心依赖于 IP 交换矩阵。IP 交换矩阵在控制平面中使用基于 BGP 的以太网 VPN (EVPN) 信令,在数据平面中使用虚拟可扩展 LAN (VXLAN) 封装。该技术为 VLAN 内的第 2 层 (L2) 桥接和 VLAN 之间的路由提供了一种基于标准的高性能解决方案。

大多数情况下,用户 VLAN 和 VXLAN 网络标识符 (VNI) 之间存在一对一关系。因此,VLAN 和 VXLAN 这两个缩写经常互换使用。默认情况下,当从接入端口接收到任何入口 VLAN 标记时,VXLAN 封装会去除任何入口 VLAN 标记。以太网帧的其余部分封装在 VXLAN 中,以便跨交换矩阵传输。在出口点,VXLAN 封装将被剥离,并重新插入 VLAN 标记(如果有),然后再将帧发送到连接的设备。

这是基于集中路由桥接 (CRB) 架构的 EVPN-VXLAN IP 交换矩阵示例。集成路由和桥接 (IRB) 接口可为属于不同 VLAN 和网络的服务器和虚拟机提供第 3 层 (L3) 连接。这些 IRB 接口用作交换矩阵内 VLAN 间流量的默认网关。它们还可用作交换矩阵远程的目标,例如数据中心互连 (DCI) 的目标。在 CRB 设计中,您仅在主干设备上定义 IRB 接口。因此,这种设计称为集中路由,因为所有路由都发生在主干上。

有关边缘路由桥接 (ERB) 设计的示例,请参阅 示例:使用任播网关配置 EVPN-VXLAN 边缘路由桥接交换矩阵

有关 EVPN-VXLAN 技术和支持架构的背景信息,请参阅 EVPN 入门

要求

原始示例使用了以下硬件和软件组件:

  • 将两台受支持的 QFX 系列交换机用作运行 Junos OS 20.4R1 或更高版本的主干设备(主干 1 和主干 2)。

  • 四台受支持的 QFX 系列交换机用作装有 Junos OS 20.4R1 或更高版本的叶设备(枝叶 1 到枝叶 4)。

请参阅 硬件摘要 ,了解支持的平台列表。

概述

在此示例中,支持三个用户组(即三个 VLAN)的物理服务器需要以下连接:

  1. 服务器 A 和 C 应该能够在 L2 上通信。这些服务器必须共享一个子网,因此也必须共享一个 VLAN。
  2. 服务器 B 和 D 必须位于单独的 VLAN 上,才能隔离广播。这些服务器必须能够在 L3 上进行通信。
  3. 服务器 A 和 C 不应能够与服务器 B 和 D 通信。

为了满足这些连接要求,我们使用以下协议和技术:

  • EVPN 建立一个 L2 虚拟网桥来连接服务器 A 和 C,并将服务器 B 和 D 放入各自的 VLAN 中。

  • 在 EVPN 拓扑中,BGP 交换路由信息。

  • VXLAN 通过底层 L3 交换矩阵,以隧道方式传输 L2 帧。使用 VXLAN 封装可以保留 L3 交换矩阵以供路由协议使用。

  • IRB 接口在 VLAN 之间路由 IP 数据包。

同样,IRB 接口仅在主干设备上配置,用于集中路由桥接 (CRB)。在此设计中,主干设备充当连接到叶式交换机上接入端口的各种服务器、虚拟机或容器化工作负载的 L3 网关。当工作负载在其自己的 VLAN 内交换数据时,分叶将桥接流量。生成的 VXLAN 封装流量作为底层 (IP) 流量在主干中传输。对于 VLAN 内流量,不使用主干的 VXLAN 虚拟隧道端点 (VTEP) 功能。VLAN 内流量在源叶和目标叶中的 VTEP 之间传输。

相反,必须路由 VLAN 间(和交换矩阵间)流量。此流量被封装到 VXLAN 中,并由叶桥接到主干。分叶知道要将此流量发送到主干,因为需要路由的源会以 VLAN 默认网关的目标 MAC 地址为目标。换句话说,发送到 IRB 的 MAC 地址的帧将在 L2 上转发到主干设备。

在主干上,L2 封装将被移除,以适应与 VLAN 和 IRB 关联的路由实例中的 L3 路由查找。对于 VLAN 间流量,主干根据其路由查找确定目标 VLAN 和对应的 VXLAN VNI。然后,主干重新封装流量,并通过底层将其发送到目标分叶。

拓扑结构

图 1 所示的简单 IP Clos 拓扑包括两台主干交换机、四台叶交换机和四台服务器。每个叶式交换机都与每个主干交换机有一个连接,以实现冗余。

服务器网络分为 3 个 VLAN,每个 VLAN 映射到一个 VXLAN 虚拟网络标识符 (VNI)。VLAN v101 支持服务器 A 和 C,VLAN v102 和 v103 分别支持服务器 B 和 D。有关配置参数,请参阅 表 1

图 1:EVPN-VXLAN 拓扑 Network topology of spine-leaf architecture with 2 spine switches and 4 leaf switches, each having unique IPs and AS numbers. Leaf switches connect to both spine switches using /30 subnets. 4 servers connect to leaf switches with specific IPs in VLANs for high availability and scalability.
图 2:EVPN-VXLAN 逻辑拓扑

逻辑拓扑显示预期的连接。在此示例中,一个路由实例用于使用 VLAN 101 连接服务器 A 和 C,一个路由实例用于使用 VLAN 102 和 103 连接服务器 B 和 D。默认情况下,服务器只能与同一路由实例中的其他服务器进行通信。

由于服务器 A 和 C 共享同一个 VLAN,因此服务器在 L2 上进行通信。因此,服务器 A 和 C 不需要 IRB 接口进行通信。我们将路由实例中的 IRB 接口定义为实现未来 L3 连接的最佳实践。相比之下,服务器 B 和 D 需要通过各自的 IRB 接口进行 L3 连接才能进行通信,因为这些服务器位于在唯一 IP 子网上运行的不同 VLAN 中。

Network diagram with two routing instances. Left: VLAN101, IP 10.1.101.0/24, connects to Server A and C. Right: VLAN102, IP 10.1.102.0/24, connects to Server B. VLAN103, IP 10.1.103.0/24, connects to Server D.

表 1 提供了为每个网络配置的关键参数,包括 IRB 接口。IRB 接口支持每个 VLAN,并通过该 VLAN 路由来自其他 VLAN 的数据包。

表 1:关键 VLAN 和 VXLAN 参数

参数

服务器 A 和 C

服务器 B 和 C

VLAN

v101

v102

 

v103

VXLAN VNI

101

102

 

103

VLAN ID

101

102

 

103

IRB 接口

IRB.101

IRB.102

 

IRB.103

此示例使用 表 1 中的参数和以下最佳实践为 EVPN-VXLAN L3 网关设备上的 VRF 配置 IRB 接口:

  • 将每个 VLAN 与一个唯一的 IP 子网相关联,从而将一个唯一的 IRB 接口相关联。

  • 为每个 VLAN 分配一个唯一的 VXLAN 网络标识符 (VNI)。

  • 将每个 IRB 接口指定为 L3 虚拟路由转发 (VRF) 实例的一部分,或者您也可以将这些接口混为一谈,在默认交换机实例中。此示例使用 VRF 实例在用户社区 (VLAN) 之间实施分离。

  • 在每个 IRB 接口的配置中包括一个默认网关地址,您可以在层次结构级别使用[interfaces irb unit logical-unit-number family inet address ip-address]配置语句指定virtual-gateway-address该地址。配置虚拟网关会为每个 IRB 接口设置一个冗余的默认网关。

您不应将多个 IP 子网范围和多个虚拟网关地址分配给同一个 IRB 逻辑单元,这可能会导致以下问题:

  • 通过中间节点的路由效率低下(称为三角路由)。

  • 子网间流量丢失。

主干 1:底层网络配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与配置匹配,将命令复制并粘贴到 [edit] 层级的 CLI 中,然后从配置模式进入。commit

主干 1:配置底层网络

分步程序

要在主干 1 上配置底层网络,请执行以下操作:

  1. 配置 L3 交换矩阵接口。

  2. 为环路接口指定 IP 地址。此 IP 地址用作 VXLAN 封装数据包外部标头中的源 IP 地址。

  3. 配置路由选项。该配置包括对负载平衡策略的引用,以便能够通过底层网络使用等价多路径 (ECMP) 路由。

  4. 为基于外部 BGP (EBGP) 的底层网络配置 BGP 组。请注意,BGP配置中包含多路径,以允许使用多个等价路径。通常,BGP 使用决胜算法来选择单个最佳路径。

  5. 配置按数据包负载均衡策略。

  6. 配置策略以将直接接口路由播发到底层网络。您至少必须将环路接口 (lo0) 路由播发到底层网络。

主干 1:叠加网络配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将配置粘贴到文本文件中,移除所有换行符,更改任何必要的详细信息以匹配您的配置,将命令复制粘贴到 [edit] 层级的 CLI 中,然后从配置模式进入。commit

在主干 1 上配置叠加网络

分步程序

要在主干 1 上配置叠加网络,请执行以下操作:

  1. 配置基于内部 BGP (IBGP) 的 EVPN-VXLAN 叠加网络。请注意,EVPN 地址族配置为支持 EVPN 路由播发。在本案例中,我们定义了与主干 2 的叠加对等互连,以实现主干到主干的连接。与底层一样,我们还在叠加层中启用了 BGP 多路径。

    注意:

    某些 IP 交换矩阵使用基于 EBGP 的 EVPN-VXLAN 叠加网络。有关将 EBGP 用于底层和叠加网络的 IP 交换矩阵的示例,请参阅 示例:使用任播网关配置 EVPN-VXLAN 边缘路由桥接交换矩阵。请注意,选择 EBGP 或 IBGP 作为叠加不会对交换矩阵架构产生负面影响。集中路由桥接 (CRB) 和边缘路由桥接 (ERB) 设计都支持任一叠加类型。

  2. 为 L2 VXLAN VTEP 之间交换的 L2 帧配置 VXLAN 封装。

  3. 为协议 EVPN 配置默认网关选项 no-gateway-community

    注意:

    使用 virtual-gateway-address时,两个主干都使用基于 VRRP 的 MAC “00:00:5e:00:01:01”,因此主干不需要 MAC 同步。有关详细信息,请参阅 默认网关

  4. 指定如何在交换矩阵中复制组播流量。

  5. 配置默认路由实例选项(虚拟交换机类型)。

主干 1:访问配置文件配置

CLI 快速配置

访问配置文件或访问端口配置涉及将服务器工作负载(BMS 或虚拟机)连接到接入(叶)交换机所需的设置。此步骤包括定义设备的 VLAN 以及路由实例和 IRB 配置,分别提供用户隔离和 L3 路由。

由于这是集中路由桥接 (CRB) 交换矩阵的示例,因此路由实例以及集成路由和桥接 (IRB) 接口仅在主干设备上定义。CRB 交换矩阵中的叶设备仅具有 L2 VXLAN 功能。

要快速配置此示例,请复制以下命令,将命令粘贴到文本文件中,删除所有换行符,更改详细信息以匹配您的配置,将命令复制并粘贴到 [edit] 层级的 CLI 中,然后从配置模式进入。commit

注意:

启用代理 -macip-advertisement 后,L3 网关将代表 EVPN-VXLAN 网络中的 L2 VXLAN网关播发 MAC 和 IP 路由(MAC+IP Type 2 路由)。EVPN-MPLS 不支持此行为。因此,当您更改并保存配置以启用 proxy-macip-advertisement或使用命令 show configuration 时,可能会看到以下警告消息:

配置主干 1 的访问配置文件

分步程序

要为服务器网络配置配置文件:

  1. 配置支持 VLAN 101、102 和 103 之间路由的 IRB 接口。

  2. 指定 EVPN-VXLAN 域中包含哪些虚拟网络标识符 (VNI)。

  3. 为每个 VNI 配置路由目标。

  4. 为服务器 A 和 C 配置路由实例。

  5. 为服务器 B 和 D 配置路由实例。

  6. 配置 VLAN v101、v102 和 v103,并将相应的 VNI 和 IRB 接口与每个 VLAN 进行关联。

主干 2:完整配置

CLI 快速配置

主干 2 的配置与主干 1 的配置类似,因此我们提供完整配置,而非分步配置。要快速配置此示例,请复制以下命令,将命令粘贴到文本文件中,移除所有换行符,更改任何必要的详细信息以匹配您的配置,将命令复制粘贴到层次结构级别的 [edit] CLI 中,然后从配置模式进入。commit

枝叶 1:底层网络配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将命令粘贴到文本文件中,删除所有换行符,更改详细信息以匹配您的配置,将命令复制并粘贴到 [edit] 层级的 CLI 中,然后从配置模式进入。commit

为叶 1 配置底层网络

分步程序

要为枝叶 1 配置底层网络:

  1. 配置 L3 接口。

  2. 为环路接口指定 IP 地址。此 IP 地址用作任何 VXLAN 封装数据包的外部标头中的源 IP 地址。

  3. 设置路由选项。

  4. 配置一个外部 BGP (EBGP) 组,该组将主干作为用于底层路由的对等方。

  5. 配置在交换机之间的多条路径上传播流量的策略。

  6. 配置策略以通告直接接口路由。底层网络至少必须完全可访问设备环路地址。

枝叶 1:叠加网络配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将命令粘贴到文本文件中,移除所有换行符,更改任何必要的详细信息以匹配您的配置,将命令复制粘贴到层次结构级别的 [edit] CLI 中,然后从配置模式进入。commit

为枝叶 1 配置叠加网络

分步程序

要为枝叶 1 配置叠加网络:

  1. 为 EVPN-VXLAN 叠加网络配置内部 BGP (IBGP) 组。

  2. 为 EVPN 邻接方之间交换的数据包配置 VXLAN 封装。

  3. 指定如何在 EVPN-VXLAN 环境中复制组播流量。

  4. 配置默认路由实例选项(虚拟交换机类型)。

枝叶 1:访问配置文件配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将命令粘贴到文本文件中,删除所有换行符,更改详细信息以匹配您的配置,将命令复制并粘贴到 [edit] 层级的 CLI 中,然后从配置模式进入。commit

配置叶 1 的访问配置文件

分步程序

要为服务器网络配置配置文件:

  1. 配置一个 L2 以太网接口,以便与物理服务器连接。此接口与 VLAN 101 相关联。在此示例中,接入接口配置为中继以支持 VLAN 标记。还支持未标记的访问接口。

  2. 为虚拟网络标识符 (VNI) 配置路由目标。

  3. 指定 EVPN-VXLAN 域中包含哪些 VNI。

  4. 配置 VLAN v101。VLAN 将映射到您在主干设备上配置的同一 VXLAN VNI。请注意,叶设备上未指定 L3 集成路由和桥接 (IRB) 接口。这是因为在集中路由桥接 (CRB) 中,分叶仅执行 L2 桥接。

枝叶 2:完整配置

CLI 快速配置

分叶 2 的配置与分叶 1 的配置类似,因此我们提供完整配置,而非分步配置。要快速配置此示例,请复制以下命令,将命令粘贴到文本文件中,移除所有换行符,更改任何必要的详细信息以匹配您的配置,将命令复制粘贴到层次结构级别的 [edit] CLI 中,然后从配置模式进入。commit

枝叶 3:完整配置

CLI 快速配置

枝叶 3 的配置与枝叶 1 的配置类似,因此我们提供完整配置,而不是分步配置。要快速配置此示例,请复制以下命令,将命令粘贴到文本文件中,移除所有换行符,更改任何必要的详细信息以匹配您的配置,将命令复制粘贴到层次结构级别的 [edit] CLI 中,然后从配置模式进入。commit

枝叶 4:完整配置

CLI 快速配置

枝叶 4 的配置与枝叶 1 的配置类似,因此我们提供完整配置,而非逐步配置。要快速配置此示例,请复制以下命令,将命令粘贴到文本文件中,移除所有换行符,更改任何必要的详细信息以匹配您的配置,将命令复制粘贴到层次结构级别的 [edit] CLI 中,然后从配置模式进入。commit

验证

确认 IRB 接口工作正常:

验证 IRB 接口

目的

验证主干 1 和主干 2 上的 IRB 接口配置。

行动

在操作模式下,输入命令 show interfaces irb

意义

主干 1 的示例输出验证以下内容:

  • 配置 IRB 接口 IRB.101、IRB.102 和 IRB.103。

  • 配置 IRB 接口的物理接口已启动并正在运行。

  • 每个 IRB 接口都正确映射到其各自的 VLAN。

  • 每个 IRB 接口的配置都能正确反映分配给它的 IP 地址和目标(虚拟网关地址)。

验证路由实例

目的

验证服务器 A 和 B 以及服务器 C 和 D 的路由实例是否在主干 1 和主干 2 上正确配置。

行动

在操作模式下,输入 show route instance routing-instance-name extensive 命令 routing instances serversAC 和 serversBD。

意义

在主干 1 的示例输出中,服务器 A 和 C 以及服务器 B 和 D 的路由实例显示了与每个组关联的环路接口和 IRB 接口。输出还显示实际的路由识别符、虚拟路由和转发 (VRF) 导入以及 VRF 导出策略配置。

验证动态 MAC 地址学习

目的

验证对于 VLAN v101、v102 和 v103,动态 MAC 地址是否安装在所有叶的以太网交换表中。

行动

在操作模式下,输入命令 show ethernet-switching table

意义

枝叶 1 的示例输出表明,它已获知其虚拟网关 (IRB) 的 MAC 地址 00:00:5e:00:01:01。这是连接的服务器用于访问其默认网关的 MAC 地址。由于两个主干上配置了相同的虚拟 IP/MAC,因此虚拟 IP 被视为 ESI LAG,以支持向两个主干进行主动转发,而不会发生数据包环路的风险。输出还指示,枝叶 1 学习了主干 1 和主干 2 的 IRB MAC 地址,这些地址用作 VTEP。

验证路由实例中的路由

目的

验证路由实例中是否存在正确的路由。

行动

在操作模式下,输入命令 show route table routing-instance-name.inet.0

意义

主干 1 的示例输出表明,服务器 A 和 C 的路由实例具有与 VLAN 101 关联的 IRB 接口路由,而服务器 B 和 D 的路由实例具有与 VLAN 102 和 103 关联的 IRB 接口路由。

根据每个表中的路由,可以清楚地看出,VLAN 101 中的服务器 A 和 C 无法访问 VLAN 102 或 103 中 C 和 D 中的服务器。输出还显示,存放服务器 B 和 D 路由的公共表允许通过其 IRB 接口进行 L3 通信。

验证连接

目的

验证服务器 A 和 C 是否可以相互 ping ,服务器 B 和 D 是否可以相互 ping。

行动

从服务器运行 ping 命令。

意义

示例输出显示服务器 A 可以 ping 服务器 C,服务器 B 可以 ping 服务器 D。服务器 A 和 C 不应能够 ping 服务器 B 和 D,服务器 B 和 D 不应 ping 服务器 A 和 C。

主干 1 和 2:路由泄漏(可选)

参考 图 2,回想一下您配置了三个 VLAN 和两个路由实例,分别为 VLAN 101 中的服务器 A 和 C 以及 VLAN 102 和 103 中的服务器 B 和 D 提供连接。在本节中,您将修改配置以泄漏两个路由实例之间的路由。 图 3 显示了在集成路由和桥接 (IRB) 路由泄露后生成的逻辑连接。

图 3:具有路由泄漏的 EVPN-VXLAN 逻辑拓扑 Network topology with VLANs, routing instances, and routing leaking. VLAN101 (10.1.101.0/24) includes Server A and C. VLAN102 (10.1.102.0/24) has Server B. VLAN103 (10.1.103.0/24) contains Server D. VLAN101 is in one routing instance, and VLAN102 and VLAN103 share another. Routing leaking enables inter-VLAN communication via IRB interfaces.

修改路由信息库 (RIB) 组后,VLAN 101 中的服务器有望使用 L3 连接到达 VLAN 102 和 103 中的服务器。

CLI 快速配置

在此阶段,您已经部署了基于 CRB 的 EVPN 交换矩阵,并确认了预期的连接。也就是说,服务器 A 和 C 可以在 L2 上进行通信。服务器 B 和 D(分别位于 VLAN 102 和 103 上)通过其共享路由实例中的 IRB 路由进行通信。如果您希望所有服务器能够相互 ping 怎么办?解决此问题的一种方法是泄漏路由实例之间的路由。有关虚拟路由和转发 (VRF) 实例之间路由泄露的更多信息,请参阅自动导出。要快速配置此示例,请复制以下命令,将命令粘贴到文本文件中,移除所有换行符,更改任何必要的详细信息以匹配您的配置,将命令复制粘贴到层次结构级别的 [edit] CLI 中,然后从配置模式进入。commit

路由泄漏验证(可选)

验证路由泄漏的路由(可选)

目的

验证路由实例中是否存在正确的路由。

行动

在操作模式下,输入命令 show route table routing-instance-name.inet.0

意义

主干 1 的示例输出表明,两个路由实例现在都具有与所有三个 VLAN 关联的集成路由和桥接 (IRB) 接口路由。由于您在实例表之间复制了路由,因此最终结果与在公共路由实例中配置所有三个 VLAN 相同。因此,您可以在所有三个 VLAN 中的服务器之间实现完整的 L3 连接。

通过路由泄漏验证连接(可选)

目的

验证服务器 A 和 C 是否可以对服务器 B 和 D 执行 ping 操作。

行动

从服务器运行 ping 命令。

意义

示例输出显示服务器 A 可以 ping 服务器 B 和服务器 D。它还显示服务器 C 可以 ping 服务器 B 和服务器 D。这可以确认服务器及其 VLAN 之间是否具有预期的完全连接。