Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
本页内容
 

示例:使用策略过滤器过滤 EVPN 路由

在 Junos 中,路由策略可用于控制边界网关协议 (BGP) 路由播发,并过滤使用不同地址族的路由。但是,尽管以太网 VPN (EVPN) 使用 BGP 在不同的 PE 路由器之间交换 MAC-IP 地址,但 EVPN 路由前缀格式和 BGP 更新消息中编码的扩展社区信息等差异意味着需要特殊的匹配条件才能过滤 EVPN 路由。

本主题中的示例显示了 Junos 中可用于过滤 EVPN 路由的各种路由器配置。

要求

运行 Junos 19.4R1 或更高版本的 MX、VMX、EX、ACX 和 QFX 设备支持 EVPN 路由过滤。 routing-instance 它在层次结构级别(使用 vrf 导出vrf 导入 策略进行配置)和 protocols bgp 级别(在这种情况下,您还需要配置 vpn-apply-export 策略才能生效)可用。

概述

您可以使用策略过滤器过滤 EVPN 路由,例如指定特定的扩展社区属性。根据您在策略的 from 限定符中指定的匹配条件对路由进行过滤。EVPN 路由支持的匹配标准包括 EVPN NLRI 类型、BGP 路径属性、路由识别符、EVPN 以太网标记、以太网分段标识符 (ESI) 以及 EVPN 2 类路由中的 MAC 地址。

此外,还支持以下路由过滤器:local-preference、as-path、community、next-hop、metric 和 origin。

根据您在策略中指定的 then 限定符中指定的条件执行操作。

请参阅 EVPN 路由策略 ,了解支持的匹配条件和操作的完整列表和说明。

拓扑学

以下网络场景显示了用于设置各种 EVPN 匹配条件的配置。

基本配置

CLI 快速配置

对于 EVPN 路由,可以在层次结构级别或级别protocols bgp应用routing-instance策略。两者的配置如下所示。在级别routing-instance上,策略作为或vrf-import策略应用vrf-export。在 BGP 组级别应用导出策略时,必须配置vpn-apply-export该策略才能正常工作。

案例 1 显示了在层次结构的 BGP 级别应用策略时强制使用语句 vpn-apply-export

要使用此示例,您需要导航到配置层次结构中的各个级别。有关 CLI 导航的信息,请参阅 在配置模式下使用 CLI 编辑器

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

案例 1:在层次结构的协议 BGP 级别应用策略。

案例 2 显示了语句 vrf-export 的强制使用,以及 vrf-import 在层次结构的路由实例级别应用匹配条件的情况。

EVPN 使用 8 种不同的路由类型来扩展第 2 层连接。EVPN NLRI 路由类型在 BGP 更新消息的路由前缀字段的第一个八位字节中定义。

注意:

在 Junos 中,以下 EVPN 路由类型(每个 ESI 的 1 类 AD4 类 ES、7 类 IGMP 加入8 类 IGMP 离开)的路由不特定于给定的路由实例。相反,它们在导出时会自动添加到默认路由实例表中。因此,没有路由实例 vrf 导出vrf 导入策略应用于这些路由类型。如果要对这些路由应用导出策略,则需要在层次结构的 BGP 导出级别执行此操作。为每个 ESI 导入 Type 1、Type 4、Type 7 和 Type 8 路由也是如此(它们会自动导入到默认路由实例表中)。因此,要将导入策略应用于这些路由类型,您需要在层次结构的 BGP 导入级别(而非路由实例级别)执行此操作。

案例 2:在层次结构的路由实例级别应用策略。

过滤基于 EVPN NLRI 类型的 BGP EVPN 路由

CLI 快速配置

首先提供示例中使用的 set 命令的完整列表,然后以分步格式提供相同的命令,以及用于确认配置的说明。本主题末尾显示了可用于查看来自正确配置的系统的相关输出的验证命令。

过滤基于 EVPN NLRI 类型的 BGP EVPN 路由

分步过程

要设置基于 BGP 路径属性的 BGP EVPN 路由过滤:

  1. 配置要过滤的 BGP 路径属性(用括号将多个类型括起来,并用空格分隔)以及要在匹配路由上执行的操作。

  2. 配置 BGP 组协议会话。

结果

要查看配置结果,请在 CLI 层次结构顶层的配置模式下,输入 show policy-options policy-statement bgp-evpn-exp、和 show protocols bgp group evpn-sessions 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

基于路由识别符过滤 BGP EVPN 路由

CLI 快速配置

路由识别符 (RD) 信息以 EVPN 路由前缀进行编码。此示例说明如何基于路由识别符过滤 EVPN 路由。

首先提供示例中使用的 set 命令的完整列表,然后以分步格式提供相同的命令,以及用于确认配置的说明。本主题末尾显示了可用于查看来自正确配置的系统的相关输出的验证命令。

基于路由识别符过滤 BGP EVPN 路由

分步过程

要设置基于路由识别符的 BGP EVPN 路由过滤:

  1. 配置要过滤的路由识别符以及要对匹配路由执行的操作。

  2. 配置 BGP 组协议会话。

结果

要查看配置结果,请在 CLI 层次结构顶层的配置模式下,输入show policy-options policy-statement bgp-evpn-expshow policy-options route-distinguisher RD1、和show protocols bgp group evpn-sessions命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

基于 EVPN 以太网标签过滤 BGP EVPN 路由

CLI 快速配置

EVPN 以太网标记信息(或 VLAN ID 信息)位于 EVPN 路由的前缀中。此示例说明如何根据路由前缀中携带的以太网标记过滤 EVPN 路由。请注意,配置此筛选选项时必须包含 family evpn 限定符。

首先提供示例中使用的 set 命令的完整列表,然后以分步格式提供相同的命令,以及用于确认配置的说明。本主题末尾显示了可用于查看来自正确配置的系统的相关输出的验证命令。

基于 EVPN 以太网标签过滤 BGP EVPN 路由

分步过程

要设置基于 EVPN 以太网标签的 BGP EVPN 路由过滤:

  1. 配置要过滤的 EVPN 以太网标记以及要在匹配路由上执行的操作。

  2. 配置 BGP 组协议会话。

结果

要查看配置结果,请在 CLI 层次结构顶层的配置模式下,输入 show policy-options policy-statement bgp-evpn-expshow protocols bgp group evpn-sessions 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

过滤基于 ESI 的 BGP EVPN 路由

CLI 快速配置

您可以对 1 类、2 类、4 类、7 类和 8 类路由使用基于以太网分段标识符 (ESI) 的策略过滤器,这些路由是唯一在前缀中包含 ESI 信息的类型。

首先提供示例中使用的 set 命令的完整列表,然后以分步格式提供相同的命令,以及用于确认配置的说明。本主题末尾显示了可用于查看来自正确配置的系统的相关输出的验证命令。

过滤基于 ESI 的 BGP EVPN 路由

分步过程

要设置基于 ESI 的 BGP EVPN 路由过滤,请执行以下操作:

  1. 配置要过滤的 EVPN ESI 以及要在匹配路由上执行的操作。

  2. 配置 BGP 组协议会话。

结果

要查看配置结果,请在 CLI 层次结构顶层的配置模式下,输入 show policy-options policy-statement bgp-evpn-expshow protocols bgp group evpn-sessions 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

根据 IP 地址过滤 BGP、EVPN 2 类和 5 类路由。

CLI 快速配置

您可以使用嵌入在 EVPN 前缀字段中的 IPv4 或 IPv6 地址过滤 EVPN 2 类和 5 类路由。还支持以下prefix-listroute-filter和限定符:

  • from prefix-list

  • from prefix-list-filter [ 精确 | 更长 | 或更长 ]

  • from route-filter [ address-mask | exact | longer | orlonger | prefix-length-range | through | upto ]

  • 从 route-filter-list

首先提供示例中使用的 set 命令的完整列表,然后以分步格式提供相同的命令,以及用于确认配置的说明。本主题末尾显示了可用于查看来自正确配置的系统的相关输出的验证命令。

根据 IP 地址过滤 BGP EVPN 2 类和 5 类路由

分步过程

要设置基于 IP 地址的 BGP EVPN 2 类和 5 类路由过滤:

  1. 创建要在策略语句中使用的前缀列表。

  2. 配置要过滤的 2 类和 5 类 IP 地址,以及要在匹配路由上执行的操作。

  3. 配置 BGP 组协议会话。

结果

要查看配置结果,请在 CLI 层次结构顶层的配置模式下,输入 show policy-options policy-statement bgp-evpn-expshow protocols bgp group evpn-sessions 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

使用 MAC 地址过滤 BGP EVPN 2 类路由

CLI 快速配置

您可以使用 EVPN 前缀中的 MAC 地址过滤 EVPN 2 类路由。

首先提供示例中使用的 set 命令的完整列表,然后以分步格式提供相同的命令,以及用于确认配置的说明。本主题末尾显示了可用于查看来自正确配置的系统的相关输出的验证命令。

使用 MAC 地址过滤 BGP EVPN 2 类路由

分步过程

要设置使用 MAC 地址的 BGP EVPN 2 类路由过滤:

  1. 创建要过滤的 MAC 地址列表(此示例中为 mfl1 )。

  2. 应用要过滤的 MAC 地址列表,以及要执行的操作(在本例中为接受)。

  3. 配置 BGP 组协议会话。

结果

要查看配置结果,请在 CLI 层次结构顶层的配置模式下,输入show policy-options mac-list mfl1show policy-options policy-statement bgp-evpn-exp、和show protocols bgp group evpn-sessions命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

过滤包含(或不包含)IP 地址的 BGP EVPN 2 类路由

CLI 快速配置

EVPN 2 类路由有一个 MAC 地址,并且可以在前缀中还有一个 IP 地址(IPv4 或 IPv6)。使用 BGP EVPN Type 2 过滤器时,您可以根据类型 2 路由是只有 MAC 地址、MAC 地址和 IPv4 地址,还是 MAC 地址和 IPv6 地址(不是特定 IP 地址,而是前缀中的任何 IP 地址)过滤 2 类路由。这些选项是互斥的。

首先提供示例中使用的 set 命令的完整列表,然后以分步格式提供相同的命令,以及用于确认配置的说明。本主题末尾显示了可用于查看来自正确配置的系统的相关输出的验证命令。

过滤仅使用 MAC 地址的 BGP EVPN 2 类路由

分步过程

要设置仅使用 MAC 地址的 BGP EVPN 2 类路由过滤:

  1. 创建策略和要执行的操作。

  2. 配置 BGP 组协议会话(我们在这里使用 export bgp-evpn-exp 此处来应用策略)。

结果

要查看配置结果,请在 CLI 层次结构顶层的配置模式下,输入 show policy-options policy-statement bgp-evpn-exp、和 show protocols bgp group evpn-sessions 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

根据 EVPN 扩展社区过滤 BGP EVPN 路由

CLI 快速配置

BGP EVPN 路由可以在 BGP 更新消息路径属性中携带一组扩展社区,因此,您可以使用这些扩展社区来过滤 BGP EVPN 路由。.扩展社区中包含的 EVPN 特定信息包括封装类型、MAC 移动性信息、EVPN 水平分割标签、ESI 模式、E-Tree 叶标签等。

有关扩展社区的完整列表,请参阅 边界网关协议 (BGP) 扩展社区

扩展社区是一个八八位字节值,分为两个主要部分,通常使用 type:administrator:assigned-number 的表示法。但是,要在 BGP EVPN 的 Junos 配置中指定 EVPN 扩展社区,所有值(包括 type)均为十进制,而不是使用单词来指定类型。Type 为 2 个八位位组,高阶八位字节定义扩展社区的实际类型,低阶八位字节定义社区。子类型;val1 和 val2 可以指定为 [2 + 4] 个八位位组,也可以指定为 [4 + 2] 个八位位组。

Junos 中扩展社区的典型配置:

  • 设置策略选项 社区成员 name 类型:val1:val2

在 Junos 中为 BGP EVPN 配置指定扩展社区。请参阅 基于 BGP MPLS 的以太网 VPN ,了解有关扩展社区的数值表示的更多信息。

在下面的示例中,使用十进制 780 来匹配封装扩展社区(例如 VXLAN)。对于 780,扩展类型字段的高阶八位字节值为 0x03,表示它是传递的。扩展类型字段的低阶八位位组的值为 0x0c;因此,前 2 个八位位组值为 0x030c,这就是十进制 780 的来源。其余值字段(其中 val1 为 0 和 val2 8)用于识别 VXLAN 隧道类型。

RFC 8365 第 11 节(下面的链接)中定义了与 EVPN 相关的隧道类型的完整列表,但此处列出了一些相关的隧道类型:

  • 值 8 = VXLAN 封装

  • 值 9 = NVGRE 封装

  • 值 10 = MPLS 封装

  • 值 11 = GRE 封装中的 MPLS

  • 值 12 = VXLAN GPE 封装

有关详细信息 ,请参阅 RFC 5512 第 4.5 节 “保留字段 ”和 RFC 8365 第 11 节

  • 设置策略选项社区成员 name 780:0:8

首先提供示例中使用的 set 命令的完整列表,然后以分步格式提供相同的命令,以及用于确认配置的说明。本主题末尾显示了可用于查看来自正确配置的系统的相关输出的验证命令。

根据 EVPN 扩展社区过滤 BGP EVPN 路由

分步过程

要根据 EVPN 扩展社区设置 BGP EVPN 路由过滤:

  1. 创建要筛选的社区成员列表,以及要执行的操作。

  2. 创建要筛选的社区成员列表,以及要执行的操作。

  3. 配置 BGP 组协议会话(我们在这里使用 export bgp-evpn-exp 此处来应用策略)。

结果

要查看配置结果,请在 CLI 层次结构顶层的配置模式下,输入 show policy-options policy-statement bgp-evpn-exp、和 show protocols bgp group evpn-sessions 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

将社区信息从 EVPN 2 类路由复制到 EVPN 5 类路由

您可以使用 BGP EVPN 过滤将从远程 PE 接收的 EVPN 2 类路由通告中的 MAC 地址(如果有)和 IPv4 或 IPv6 地址作为 EVPN 5 类路由包含在内。同样,您可以将 EVPN 2 类路由中的社区信息复制到 EVPN 5 类路由中,这些信息是从 vrf.inet 表中的路由(特别是 VPN-IPv4 (AFI/SAFI 1/128)、VPN-IPv6 (AFI/SAFI 2/128)、IPv4 (AFI/SAFI 1/1) 和 IPv6 (AFI/SAFI 2/1) 生成的。

要将 EVPN 2 类路由通告中包含的任何 MAC 地址和 IPv4 或 IPv6 地址纳入 EVPN 5 类,请启用以下命令:

  • 设置路由实例 EVPNA 协议 EVPN 远程 IP 主机路由 no-advertise-community

您还可以控制在 IP 和 EVPN 路由之间携带哪些路由属性。换言之,当从 EVPN 5 类路由生成 IP 路由时,您可以从导入方向选择要包含哪些路由属性,对于导出方向,您还可以选择从 IP 路由生成 EVPN 5 类路由时要包含的路由属性。这些路由属性是、 as-pathcommunitypreference。请注意,如果在导入过程中未显式包含 community 路由属性,则由于 Junos 处理 vrf.inet.0 表中的路由属性的方式,将不会包含颜色社区信息(因此此信息不可用于受影响路由的下一跃点解析)。

要包含给定的路由属性,请使用以下命令,并设置导入或导出操作,该操作可以是允许或跳过(此处的导入操作是允许):

结果

要查看配置结果,请在 CLI 层次结构顶层的配置模式下,输入 show policy-options policy-statement bgp-evpn-exp、和 show protocols bgp group evpn-sessions 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

验证

确认配置工作正常。对于上面给出的每个示例,请运行这些命令的一个版本,该版本使用要确认的配置。以下验证示例基于给出的基于 EVPN NLRI 类型过滤 BGP EVPN 路由的示例。

验证各种 BGP EVPN 过滤

目的

显示有关根据指定条件过滤的 BGP EVPN 路由的信息。

行动

在目标设备的操作模式下,输入以下命令:

在 PE1 的操作模式下,输入以下命令:

在 PE2 的操作模式下,输入以下命令: