Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

GBP 处理

GBP 处理包括标记分配、数据包分类和策略实施。

GBP 标记分配

使用 CLI 静态分配 GBP 标记,或使用 RADIUS 身份验证动态分配 GBP 标记。

标记分配是指配置用户与其组之间的映射,并将此映射编程到 MAC 地址表和内部数据结构中。请注意,您本身不会配置组成员身份。具有相同标记分配的不同用户隐式属于同一组。

您可以通过 CLI 静态配置标记分配,也可以通过 RADIUS 身份验证动态配置标记分配。通过 RADIUS 身份验证进行标记分配是首选方法,因为它为您提供了最大的灵活性。

  • 使用 CLI 静态配置标记分配时,是在用户与 GBP 标记之间创建映射,更准确地说,是在该用户的代理(例如其 MAC 或 IP 地址)与 GBP 标记之间创建映射。为了减少此方法的麻烦(特别是在您有很多用户的情况下),我们可以让您灵活地在不同级别(从接口到单个 MAC 地址)配置标记分配。例如,如果您希望为连接到同一接口的所有用户分配相同的标记,则需要将该接口的标记配置为应用于所有直接连接的用户。另一方面,如果您希望为特定用户分配特定标记,则可以根据其 MAC 或 IP 地址配置标记分配。

    静态 CLI 配置的缺点是需要先验了解用户(用户连接的位置、其 MAC 或 IP 地址是什么等)。如果用户将来更改位置或设备,您还需要重新配置此映射。

    例如,假设您要为名为 John 的用户配置 GBP 标记 10,并且您希望使用他的 MAC 地址作为该用户的代理。在这种情况下,您需要先知道 John 的 MAC 地址,然后才能将其映射到 GBP 标记 10。配置此映射后,支持 GBP 的交换机就可以将其编程到其 MAC 地址表和内部数据结构中,以便进行数据平面处理。如果 John 将设备更改为另一个 MAC 地址,则需要手动重新配置此映射。

    我们利用熟悉的防火墙 CLI 语句来配置标记分配。具体而言,您可以创建一个防火墙过滤器,用于在满足特定条件(例如,MAC 地址匹配)时配置特定的 MAC 地址标记。为了区分常规防火墙过滤器和标签分配防火墙过滤器,我们引入了一种特定于微分段的新型过滤器。

  • 使用 RADIUS 身份验证动态配置标记分配时,无需事先了解用户的网络配置。您只需将 RADIUS 配置为在对用户进行身份验证时提供所需的 GBP 标记。

    在上面的示例中,当 John 向 RADIUS 服务器进行身份验证时,系统会向他提供 GBP 标记 10。您根本不需要确定 John 的 MAC 地址。启用 GBP 的交换机作为验证方,在身份验证交换过程中会看到 John 的 MAC 地址和提供的 GBP 标记。因此,交换机可以直接将此映射编程到其 MAC 地址表和内部数据结构中,而无需 CLI 干预。如果 John 更换设备,他将向 RADIUS 服务器重新进行身份验证,并且支持 GBP 的交换机将使用新的关联自动重新编程其 MAC 地址表和内部数据结构。

    连接到 Mist 接入点时,无线用户还支持使用 RADIUS 进行标签分配。在这种情况下,Mist 接入点充当身份验证器,并了解用户的 MAC 地址与其 GBP 标签之间的映射。有了这些信息,Mist 接入点就会使用专用消息传递将此映射通知上游支持 GBP 的交换机。收到此通知后,启用 GBP 的交换机会使用新的映射对其 MAC 地址表和内部数据结构进行编程。

注意:

使用 RADIUS 在直接连接的有线用户上动态配置标记分配时,支持 GBP 的交换机将根据您配置 RADIUS 的方式创建 MAC 或基于接口的分配。

当您使用 RADIUS 在连接到 Mist 接入点的无线用户上动态配置标签分配时,支持 GBP 的交换机将创建基于 MAC 的分配。

使用 CLI 静态配置标记分配时,您可以配置不同类型的分配以满足您的要求。在某些情况下,这可能会减少所需的配置量。

使用 CLI 分配 GBP 标记

要使用 CLI 分配 GBP 标记,请使用一种称为微分段过滤器的特殊类型的防火墙过滤器。与常规防火墙过滤器类似,您可指定匹配条件和后续操作:

对于微分段过滤器,支持的匹配条件如 表 1 所示,支持的单个操作是分配 GBP 标记。

表 1:匹配条件(Junos OS 22.4R1 及更高版本)
匹配条件 描述

ip-version ipv4 address <ip address> | prefix-list <prefix-list>

ip-version ipv6 address <ip address> | prefix-list <prefix-list>

匹配 IPv4/IPv6 地址/前缀列表。此匹配将应用于从连接的客户端到达访问链路的数据包上的源 IP 地址。
注意:

从 Junos OS 24.4R1 版开始,您可以指定是按术语顺序还是按最长前缀匹配评估 IP 地址术语。默认情况下,IP 地址术语在 Junos OS 24.4R1 及更高版本中按最长前缀匹配进行评估。在 Junos OS 24.4R1 版之前的版本中,仅按术语顺序评估 IP 地址术语。请参阅最 长前缀匹配与严格防火墙术语顺序

mac-address <mac address>

匹配 MAC 地址。此匹配将应用于从连接的客户端到达接入链路的数据包上的源 MAC 地址。

interface <interface_name>

匹配接口名称。
注意:

Junos OS 23.4R1 及更高版本支持单个防火墙过滤器期限内的多个 interface <interface_name> 匹配条件。例如:

set firewall family any filter test term t1 from interface ge-0/0/0
set firewall family any filter test term t1 from interface ge-0/0/1
set firewall family any filter test term t1 from interface ge-0/0/2
注意:

Junos OS 23.4R1 及更高版本还允许您在受支持的 EX4400、EX4650 和 QFX5120 交换机上使用服务提供商样式配置时,在单个防火墙过滤器术语中配置此匹配条件 vlan-id 和匹配条件。例如:

set firewall family any filter f1 term t1 from interface ge-0/0/0.1
set firewall family any filter f1 term t1 from vlan-id 2000

其中 VLAN 2000 是使用服务提供商样式配置创建的 VLAN。如果使用企业样式配置,则不支持此功能。

有关服务提供商样式和企业样式配置的更多信息,请参阅 灵活的以太网服务封装

vlan-id <vlan id> | [<vlan_list>] | <vlan_range>

匹配 VLAN ID。
注意:

EX4100 交换机不支持

注意:

Junos OS 23.4R1 及更高版本支持和<vlan_list><vlan_range>选项。例如:

set firewall family any filter test term t1 from vlan-id 2000-2100
set firewall family any filter test term t1 from vlan-id [3000 3010 3020]
注意:

Junos OS 23.4R1 及更高版本还允许您在受支持的 EX4400、EX4650 和 QFX5120 交换机上使用服务提供商样式配置时,在单个防火墙过滤器术语中配置此匹配条件和 interface 匹配条件。如果您使用企业样式配置,则不支持此功能。

有关服务提供商样式和企业样式配置的更多信息,请参阅 灵活的以太网服务封装

为确保一致应用策略,建议在所有位置(入口和出口)配置相同的 GBP 标记分配。

MAC 地址匹配示例

以下是使用 MAC 地址进行 GBP 标记分配的示例:

在上述示例的入口处,系统会为来自 MAC 地址 00:00:5E:00:53:10 的数据包分配标记 100,将为来自 MAC 地址 00:00:5E:00:53:20 的数据包分配标记 200,而将来自 MAC 地址 00:00:5E:00:53:30 的数据包分配为标记 300。

IP 地址匹配示例

以下是使用 IP 地址进行 GBP 标记分配的示例:

注意:纯第 2 层部署不支持 IP 地址匹配。
注意:

请注意,微分段过滤器不能将 IPv4 和 IPv6 匹配作为同一过滤器的一部分。

VLAN 和接口上的匹配示例

以下是 VLAN ID 上的匹配示例(EX4100 交换机不支持):

从 Junos OS 23.4R1 版开始:

  • 受支持平台中的 EX4400、EX4650 和 QFX5120 交换机支持:

    • GBP 过滤器中的 VLAN 列表和范围

    • GBP 过滤器中单个术语中的多个 VLAN 条目

    • GBP 过滤器中单个术语中的多个接口条目

    • 使用服务提供商样式配置时,GBP 过滤器中单个术语中的接口和 VLAN 组合。有关服务提供商样式和企业样式配置的更多信息,请参阅 灵活的以太网服务封装

  • 支持的平台中的 EX4100 交换机支持 GBP 过滤器中单个术语中的多个接口条目。

以下是 VLAN 范围内的匹配示例(EX4100 交换机不支持):

以下是有关接口匹配的示例:

使用 RADIUS 分配 GBP 标记

您可以将 RADIUS 服务器配置为在身份验证期间为用户分配 GBP 标记。RADIUS 服务器通常用于园区环境中的访问控制和其他功能,例如 VLAN 分配。

注意:

使用 RADIUS 时,仅支持基于 MAC 和接口的 GBP 标记分配:

  • 如果将 RADIUS 身份验证配置为单安全或多请求方模式,则 GBP 标记将基于 MAC。

  • 如果将 RADIUS 身份验证配置为单请求方模式,则 GBP 标记将基于接口。

为了适应身份验证期间 GBP 标记的分配,我们利用了 AAA 服务框架支持的供应商特定属性 (VSA)。这些 VSA 作为标准 RADIUS 请求回复消息的一部分携带,并提供内置扩展来处理特定于实施的信息,例如我们的 GBP 标记。RADIUS 服务器上的确切语法取决于身份验证方案是基于 MAC 还是基于 EAP。

对于基于 MAC 的客户端,配置如下所示:

对于基于 EAP 的客户端,GBP 标记在身份验证时从 RADIUS 服务器推送。配置如下所示:

从 Junos OS 23.4R1 版开始,除了现有 Juniper-Switching-Filter的 外,我们还支持 EX4100、EX4400、EX4650 和 QFX5120 交换机上名为 的新 VSA Juniper-Group-Based-Policy-Id

注意:

对于同一客户端,您不应同时使用瞻博网络基于组的策略 ID VSA 和瞻博网络交换过滤器 VSA。

如果两个 VSA 都存在并且包含不同的 GBP 标记值,则不会对客户端进行身份验证。

您可以通过以下任一 VSA 从 RADIUS 动态分配 GBP 标记:

  • Juniper-Switching-Filter 带有 GBP 过滤器和其他过滤器匹配和操作条件。

  • Juniper-Group-Based-Policy-Id 携带 GBP 标记(仅适用于 EX4100、EX4400、EX4650 和 QFX5120 交换机)。

Juniper-Group-Based-Policy-Id适用于 MAC 和基于接口的 GBP 标记过滤器的 VSA 如下所示:

配置的 GBP 标记是 RADIUS 服务器的 VSA(供应商特定属性)中指定的 GBP 标记范围 (1-65535) 范围内的非零正值。

从 Junos OS 23.4R1 及更高版本开始,EX4100、EX4400、EX4650 和 QFX5120 交换机上的以下 dot1x 配置语句也添加了 GBP 功能支持:

表 2:用于 GBP 的 dot1x 配置语句

CLI

描述

set protocols dot1x authenticator interface [interface-names] server-fail gbp-tag gbp-tag

指定在服务器无法访问时要应用于接口的 GBP 标记。如果配置了 ,gbp-taggbp-tag并且客户端在 或 server-fail permitvlan-nameserver-fail进行身份验证,则也会为客户端安装配置的gbp-tag gbp-tag过滤器。

只能在配置 or server-fail permit 选项时server-failvlan-name配置此选项。

set protocols dot1x authenticator interface [interface-names] server-reject-vlan gbp-tag gbp-tag

指定当 RADIUS 拒绝客户端身份验证时要应用的 GBP 标记。如果配置了 ,gbp-taggbp-tag并且客户端在 中server-reject vlan进行身份验证,则还会为客户端安装配置的gbp-tag过滤器。

只能在配置该选项时server-reject-vlanvlan-id进行配置。server-reject gbp-tag gbp-tag

set protocols dot1x authenticator interface [interface-names] guest-gbp-tag gbp-tag

指定将接口移动到访客 VLAN 时要应用的 GBP 标记。如果已配置, guest-gbp-tag 且客户端在访客 VLAN 中进行身份验证,则还会为客户端安装配置的 guest-gbp-tag 过滤器。

只能在配置该选项时guest-vlanvlan-id进行配置。guest-gbp-tag

有关访客 VLAN 的详细信息,请参阅 802.1X 身份验证

您可以使用 show dot1x interface detail 或命令 show ethernet-switching table 验证从 RADIUS 接收的 GBP 标记。

以下是命令 show dot1x interface detail 输出的示例:

以下是命令 show ethernet-switching table 输出的示例:

GBP 标记分配优先级

本部分阐明了创建可能不明确的匹配条件时的行为。

同时使用 CLI 和 RADIUS 进行分配

您通常使用 CLI 或 RADIUS 配置标记分配,但不能同时配置两者。如果您确实同时使用两者,并且存在冲突分配(例如,CLI 将 GBP 标记 10 分配给用户,而 RADIUS 将 GBP 标记 20 分配给同一用户),则以 RADIUS 分配为准。

冲突的匹配条件

以下是冲突匹配条件的示例:

在上述示例中,t1 和 t2 在 IP 地址 172.16.0.0/24 上匹配,但分配了不同的 GBP 标记。在这种情况下,仅评估第一个匹配项。第二个及后续匹配项将被忽略。无论是否为最长前缀匹配配置过滤器,都是如此。术语 t1 生效,所有匹配的数据包都将被分配 GBP 标记 10。

并发比赛

当传入数据包匹配多个条件时, 表 3 中所示的匹配优先级将生效:

表 3:匹配优先级
优先级 匹配条件
1(最高)

ip-version ipv4 <ip address> | <prefix-list>

2

ip-version ipv6<ip address> | <prefix-list>

3

mac-address<mac address>

4

interface<interface_name> VLAN ID <vlan id>

5

vlan-id<vlan id>

6(最低)

interface<interface_name>

注意:如果启用 MAC/IP 标记间,并且传入数据包的 MAC 地址和 IP 地址都匹配,则结果不确定。在这种情况下,IP 地址匹配不一定优先于 MAC 地址匹配。请参阅 GBP MAC/IP 标记间

最长前缀匹配与严格防火墙术语顺序

您可以选择最长前缀匹配与严格的防火墙术语顺序。例如,下面是一个包含重叠 IP 地址的微分段过滤器:

在 Junos OS 24.4R1 之前,IP 地址为 10.0.0.231 的传入数据包(例如)将被分配 GBP 标记 10,因为传入数据包与过滤器中的第一个术语 (t1) 匹配。

但是,从 Junos OS 24.4R1 版开始,系统会为该传入数据包分配 GBP 标记 20,因为第二个术语 (t2) 提供了更具体的匹配项。

如果您希望保留严格遵循防火墙术语顺序的传统行为,请按如下方式配置过滤器:

注意:

在首次创建微分段过滤器时设置 no-longest-prefix-match 参数。不要在现有的微分段过滤器上切换此参数。

GBP 标记流量的数据包分类

GBP 环境中的数据包分类是指在传入数据包的数据平面处理期间检索配置的 GBP 标记。

数据包分类在入换机和出换机上进行。在入口处,交换机对来自接入链路的传入数据包进行分类,以获取发送方(源)的 GBP 标记。在出口时,交换机对来自网络的传入数据包进行分类,以获取接收方(目标)的 GBP 标记。

检索源标记和目标标记后,即可实施策略。

GBP 策略实施

使用 GBP 标记创建微分段策略。

启用 GBP 的交换机根据您为分配的 GBP 标记创建的规则实施策略。为了支持 GBP 策略实施,我们扩展了常规防火墙过滤功能,包括 GBP 标记的匹配和操作。支持接受或拒绝等常规防火墙操作。

与 EVPN-VXLAN 一起运行时,策略实施通常会在出口处同时使用源和目标 GBP 标记。还支持入口实施(请参阅 EVPN-VXLAN 的入口和标记传播中的 GBP 策略实施),但我们建议您在大规模网络中使用出口实施。出口强制是默认行为。

在没有 EVPN-VXLAN 的情况下运行时,策略实施通常会在入口处执行,采用源 GBP 标记和目标 IP 地址,也可同时使用源和目标 GBP 标记,具体取决于您的网络。有关详细信息,请参阅 统一访问策略

注意:

如果使用 RADIUS 进行身份验证,请注意 GBP 策略也适用于 802.1X 数据包。如果为特定 MAC 地址创建 CLI 标记分配,并创建丢弃该标记数据包的策略,则来自该 MAC 地址的 802.1X 身份验证请求将被丢弃。从最终用户的角度来看,身份验证已超时。

由于实现差异,EX4100 系列交换机的行为方式略有不同。EX4100 系列交换机不会在 802.1X 身份验证之前实施策略。在上述方案中,将对最终用户进行身份验证,但所有后续流量都将被阻止。

使用 GBP 标记实施

注意:

默认情况下,策略实施在出口处完成。如果想要在入口处实施策略,请参阅入口 处的 GBP 策略实施以及 EVPN-VXLAN 的标记传播

以下是 GBP 策略实施的示例:

GBP 源标记为 100 和 GBP 目标标记为 200 的数据包将在期限 t100-200 内匹配并被接受。GBP 源标记为 100 和 GBP 目标标记为 300 的数据包将在期限 t100-300 内匹配并被丢弃。

使用目标 IP 地址实施

从 Junos OS 25.4R1 版开始,我们允许您在使用 gbp-pure-l2-profile.

在纯 L2 部署中,接入交换机通常最多作为第 3 层网关连接到 WAN 路由器。WAN 路由器不感知 GBP,无法传递 GBP 标记。因此,只能根据源 GBP 标记在入口接入交换机上实施策略。在这种情况下,我们允许您扩充策略以包含目标 IP 地址。例如:

有关此用例的更多信息,请参阅 使用 GBP 纯 L2 配置文件

使用 L4 字段实施

从 Junos OS 23.2R1 版开始,我们扩展了 GBP 过滤器中的匹配条件,以包括 L4 匹配(表 4.这为您提供了额外的粒度来控制应用流量。

表 4:支持其他 L4 策略匹配(Junos OS 23.2R1 及更高版本)
MAC 和 IP GBP 标记数据包的策略实施匹配 描述
ip-version ipv4 destination-port dst_port

匹配 TCP/UDP 目标端口。

ip-version ipv4 source-port src_port

匹配 TCP/UDP 源端口。

ip-version ipv4 ip-protocol ip-protocol

匹配 IP 协议类型。

ip-version ipv4 is-fragment

如果数据包是分段,则匹配。

ip-version ipv4 fragment-flags flags

匹配片段标志(符号或十六进制格式)。

ip-version ipv4 ttl value

匹配 MPLS/IP TTL 值。

ip-version ipv4 tcp-flags flags

匹配 TCP 标志(符号或十六进制格式)-(仅限入口)。

ip-version ipv4 tcp-initial

匹配 TCP 连接的初始数据包 -(仅限入口)。

ip-version ipv4 tcp-established

匹配已建立 TCP 连接的数据包。

ip-version ipv6 destination-port dst_port

匹配 TCP/UDP 目标端口。

ip-version ipv6 source-port src_port 匹配 TCP/UDP 源端口。
ip-version ipv6 next-header protocol 匹配下一个报头协议类型。
ip-version ipv6 tcp-flags flags 匹配 TCP 标志(符号或十六进制格式)仅入口。
ip-version ipv6 tcp-initial 匹配 TCP 连接的初始数据包。
ip-version ipv6 tcp-established 匹配已建立 TCP 连接的数据包。
注意:

支持的平台中显示的 EX4100、EX4400、EX4650 和 QFX5120 系列交换机支持 L4 过滤器。EX92xx 交换机不支持这些匹配条件。

注意:

默认情况下支持 L4 过滤器,但可以缩小支持的 GBP 规模。要在 EX4650、QFX5120-32C 和 QFX5120-48Y 交换机上禁用 L4 过滤器: set forwarding-options evpn-vxlan gbp tag-only-policy

使用此 set(和相应的删除)命令时,数据包转发引擎 (PFE) 将重新启动。

显式默认丢弃

当没有条件匹配时,默认操作是接受数据包。从 Junos OS 24.2R1 版开始,您可以为与任何条件都不匹配的数据包指定显式默认丢弃操作。见 表 5.

表 5:显式默认丢弃操作(Junos OS 24.2R1 及更高版本)

显式默认丢弃

描述

set firewall family any filter f1 term t1 from gbp-src-tag 100
set firewall family any filter f1 term t1 from gbp-dst-tag 200
set firewall family any filter f1 term t1 then accept
set firewall family any filter f1 term t2 then discard

您可以创建包含丢弃操作但不包含匹配条件的过滤器术语(例如 t2)。对于与序列中前面术语中的任何条件都不匹配的数据包,这非常有用。

此显式默认丢弃操作不适用于广播、组播、主机源自或未知的单播数据包。始终接受这些类型的流量。

如果未配置显式丢弃操作,则默认操作是像以前版本中的情况一样接受数据包。

注意:

支持的平台中显示的 EX4100、EX4400、EX4650 和 QFX5120 系列交换机支持显式默认丢弃。EX92xx 交换机或 MX 系列路由器不支持显式默认丢弃

入口处的 GBP 策略实施和 EVPN-VXLAN 的标签传播

从 Junos 22.4R1 版开始,您可以在更靠近入口的位置执行策略实施。入口实施会在入口处丢弃原本会在出口处丢弃的标记数据包,从而节省网络带宽。为了支持在入口处或更接近入口处实施策略,我们使用 EVPN 2 类和 5 类路由中的扩展 BGP 社区在网络中传播基于 MAC 和 IP-MAC 的标记。有关这些类型路由的信息,请参阅 EVPN 2 类和 5 类路由与 EVPN-VXLAN 共存

EVPN 路由播发由 EVPN 路由的安装(或更改)触发,例如在从新主机接收数据包时通过 MAC-IP 学习。在这种情况下,源 IP 路由将安装在 evpn.0 数据库中,并向所有 eBGP 对等方发送 EVPN 2 类播发(如果已分配,则包括 GBP 标记)。

当这些播发通过网络传播到远程端点之后,远程端点将拥有足够的信息来对远程入口接收的数据包做出 GBP 防火墙过滤决策。当在其入口收到数据包时,远程端点可以查找目标路由并获取之前通过 EVPN Type 2 播发接收的目标 GBP 标记。有了目标 GBP 标签,远程端点随后就可以对其入口数据包做出 GBP 策略实施决策。

由于 GBP 标记是使用 EVPN 2 类路由播发传播的,因此必须根据 MAC 或 IP 地址执行标记传播。但是,这与标记分配无关,可以继续使用任何受支持的方法,如 VLAN 或接口等。

例如,如果基于接口配置标记分配,并且该接口上收到来自新主机的数据包,则为该接口分配的标记将与传入数据包的源 MAC 和 IP 地址一起在 2 类路由播发中传播。如果随后在同一接口上接收到来自不同主机的数据包,则同一标记将与此不同主机的源 MAC 和 IP 地址一起传播到另一个 2 类路由播发中。

注意:

如果边界叶交换机收到带有 GBP 标记的 EVPN 2 类播发,交换机将安装 2 类路由,并生成带有该 GBP 标记的 EVPN 5 类播发到其 eBGP 对等方,例如指向其他数据中心的边界叶交换机(用于 DC 间流量)。此 5 类路由包含一个 /32 IP 地址和一个 GBP 标记。

支持这种 2 类到 5 类 GBP 标记传播,但不支持 5 类到 2 类 GBP 标记传播。

对于多宿主拓扑,请在多宿主成员之间保持相同配置。

您必须启用以下语句才能在入口节点上执行策略实施。启用或禁用入口实施后,数据包转发引擎 (PFE) 将重新启动。

使用 EVPN 5 类播发的 IP 前缀路由的标记传播

从 Junos OS 24.2R1 版开始,我们支持使用 EVPN Type 5 播发对 IP 前缀路由进行 GBP 标记传播。在此版本之前,GBP 标记传播仅由数据平面中的 MAC-IP 学习触发,这意味着仅对 /32 IP 路由进行标记传播。

由于支持 IP 前缀路由,现在可以进行标记传播,例如,当您创建接口并启用直接 EVPN 路由的播发时 (set routing-instances <instance> protocols evpn ip-prefix-routes advertise direct-nexthop)。如果您还为该 IP 前缀分配了 GBP 标记,则后续的 EVPN Type 5 播发将包含该 GBP 标记,从而在 MAC-IP 学习之前传播该标记。

通常,每当您创建将标记分配给 IP 前缀且 IP 前缀路由安装在 EVPN.0 路由数据库中的 GBP 过滤器时,就会在 EVPN Type 5 通告中传播 GBP 标记。(您可以在安装路由之前或之后创建 GBP 过滤器。)

即使交换机生成了 5 类播发,如果交换机获知了新主机(例如,通过数据平面中的 MAC-IP 学习),交换机也会生成 2 类播发。在许多情况下,可能需要抑制这些冗余 /32 播发以减少 EVPN 流量。为此,请创建 BGP 策略以拒绝 /32 路由。

例如,下面创建一个名为 T5_EXPORT 的策略,其术语称为 fm_v4_host,该策略拒绝来自 IPv4 主机的 /32 路由:

注意:

如果交换机收到有关某个 IP 前缀路由和关联 GBP 标记的 EVPN 播发,并且您配置了将不同标记分配给同一 IP 前缀路由的 GBP 过滤器,则以本地配置的 GBP 过滤器中的 GBP 标记为准。在重新播发 EVPN 路由之前,交换机会将收到的 EVPN 播发中的 GBP 标记替换为本地分配的 GBP 标记。

当您为 IP 前缀创建 GBP 过滤器并将 GBP 过滤器与路由实例相关联时,系统会自动启用 IP 前缀标记传播。例如:

其中 <routing-instance> 是要应用过滤器的路由实例的名称。

将 IP 前缀路由与 GBP 标记关联后,GBP 标记将显示在该 IP 前缀路由的命令输出 show route 中。例如:

要查看路由实例与 GBP 过滤器之间的绑定,请使用命令 show evpn gbp-src-tag filter-bind routing-instance

要查看 IP 前缀路由到 GBP 标记的映射,请使用命令 show evpn gbp-src-tag ip-prefix inet

此功能的限制包括:

  • 您只能将一个 GBP 过滤器与一个路由实例相关联。您不能将同一个 GBP 过滤器与多个路由实例相关联。

  • 您不能将两个具有相同 IP 前缀匹配条件的不同 GBP 过滤器与同一路由实例相关联。

  • 您只能将基于 IP 的 GBP 过滤器与路由实例相关联。关联其他类型的 GBP 过滤器不起作用。

基于过滤器的 GBP 标记流量转发

基于过滤器的转发是指如果分配给该流量的 GBP 标记与过滤器中指定的 GBP 标记匹配,则能够将流量转发到指定的下一跃点。使用此功能可对指定的标记流量和常规流量应用不同的路由处理。

要创建转发过滤器,请指定要匹配的源标记和目标标记,以及要转发匹配流量的下一跃点。

用于基于过滤器的转发的 CLI 语句对于不同的产品有所不同:

  • 从 Junos OS 24.4R1 版开始,支持 在支持的平台 中的 EX4xxx 系列和 QFX 系列交换机上对 GBP 标记流量进行基于过滤器的转发。有关 CLI 配置示例,请参阅 表 6

  • 从 Junos OS 25.2R1 版开始,支持在 支持的平台 中的 EX92xx 系列交换机和 MX 系列路由器上对 GBP 标记流量进行基于过滤器的转发。请参阅 表 7 CLI 配置示例。

表 6:GBP 标记流量(EX4xxx 系列和 QFX 系列交换机)的基于过滤器的转发示例

基于过滤器的转发配置示例(EX4xxx 系列和 QFX 系列交换机)

描述

set firewall family any filter f1 term t1 from gbp-src-tag 100
set firewall family any filter f1 term t1 from gbp-dst-tag 200
set firewall family any filter f1 term t1 then next-ip 10.10.1.1

使用默认路由实例将带有 GBP 源标记 100 和目标标记 200 的流量转发到 10.10.1.1 路由的下一跃点。

set firewall family any filter f1 term t1 from gbp-src-tag 100
set firewall family any filter f1 term t1 from gbp-dst-tag 200
set firewall family any filter f1 term t1 then next-ip 10.10.1.0/24

使用默认路由实例将带有 GBP 源标记 100 和目标标记 200 的流量转发到 10.10.1.0/24 路由的下一跃点。

set firewall family any filter f1 term t1 from gbp-src-tag 100
set firewall family any filter f1 term t1 from gbp-dst-tag 200
set firewall family any filter f1 term t1 then next-ip 10.10.1.1 routing-instance VRF-100

使用 VRF-100 路由实例将带有 GBP 源标记 100 和目标标记 200 的流量转发到 10.10.1.1 路由的下一跃点。

set firewall family any filter f1 term t1 from gbp-src-tag 100
set firewall family any filter f1 term t1 from gbp-dst-tag 200
set firewall family any filter f1 term t1 then next-ip6 2001:db8:4136:e378:8000:63bf:3fff:fdd2

使用默认路由实例将带有 GBP 源标记 100 和目标标记 200 的流量转发到 2001:db8:4136:e378:8000:63bf:3fff:fdd2 路由的下一跃点。

set firewall family any filter f1 term t1 from gbp-src-tag 100
set firewall family any filter f1 term t1 from gbp-dst-tag 200
set firewall family any filter f1 term t1 then next-ip6 2001:db8:4136::/48

使用默认路由实例将带有 GBP 源标记 100 和目标标记 200 的流量转发到 2001:db8:4136::/48 路由的下一跃点。

set firewall family any filter f1 term t1 from gbp-src-tag 100
set firewall family any filter f1 term t1 from gbp-dst-tag 200
set firewall family any filter f1 term t1 then next-ip6 2001:db8:4136:e378:8000:63bf:3fff:fdd2 routing-instance VRF-100

使用 VRF-100 路由实例将带有 GBP 源标记 100 和目标标记 200 的流量转发到 2001:db8:4136:e378:8000:63bf:3fff:fdd2 路由的下一跃点。

限制:

  • 仅支持 IPv4/IPv6 地址匹配条件分配的标记,支持基于过滤器的转发。对于使用其他匹配条件(如 MAC 地址、接口、VLAN 和接口+VLAN)分配的标记,不支持此功能。

  • 不检查下一跃点的有效性或存在性。如果下一跃点不在路由表中或未以其他方式解析,或者出站接口关闭,则不会进行基于过滤器的转发,并且数据包将被丢弃。

  • 唯一可以与 next-ipnext-ip6 存的动作是 count。例如:

    set firewall family any filter f1 term t1 from gbp-src-tag 100
    set firewall family any filter f1 term t1 from gbp-dst-tag 200
    set firewall family any filter f1 term t1 then count num_100_200_packets
    set firewall family any filter f1 term t1 then next-ip 10.10.1.1
表 7:GBP 标记流量(EX92xx 系列交换机和 MX 系列路由器)的基于过滤器的转发示例

基于过滤器的转发配置示例(EX92xx 系列交换机和 MX 系列路由器)

描述

set firewall family any filter f1 term t1 from ip-version ipv4
set firewall family any filter f1 term t1 from gbp-src-tag 100
set firewall family any filter f1 term t1 from gbp-dst-tag 200
set firewall family any filter f1 term t1 then next-ip 10.10.1.1/32

将带有 GBP 源标记 100 和目标标记 200 的流量转发到 10.10.1.1/32 路由的下一跃点。

set firewall family any filter f1 term t1 from ip-version ipv6
set firewall family any filter f1 term t1 from gbp-src-tag 100
set firewall family any filter f1 term t1 from gbp-dst-tag 200
set firewall family any filter f1 term t1 then next-ip6 2001:db8:4136:e378:8000:63bf:3fff:fdd2/128

将带有 GBP 源标记 100 和目标标记 200 的流量转发到 2001:db8:4136:e378:8000:63bf:3fff:fdd2/128 路由的下一跃点。

限制:

  • 下一跃点仅支持 /32 IPv4 和 /128 IPv6 地址。

  • 不检查下一跃点的有效性或存在性。如果下一跃点不在路由表中或未以其他方式解析,或者出站接口关闭,则不会进行基于过滤器的转发,并且数据包将被丢弃。

  • 可以与 next-ip 共存的动作是 count、 和 policeracceptnext-ip6例如:

    set firewall family any filter f1 term t1 from ip-version ipv4
    set firewall family any filter f1 term t1 from gbp-src-tag 100
    set firewall family any filter f1 term t1 from gbp-dst-tag 200
    set firewall family any filter f1 term t1 then count num_100_200_packets
    set firewall family any filter f1 term t1 then policer CIR-100
    set firewall family any filter f1 term t1 then next-ip 10.10.1.1/32 
    

对于 EX92xx 系列交换机和 MX 系列路由器,由于您没有直接在过滤器中指定路由表,因此需要将转发过滤器显式连接到路由表。有关 CLI 配置示例,请参阅 表 8

表 8:附加转发过滤器 示例(EX92xx 系列交换机和 MX 系列路由器)
连接转发过滤器配置示例(EX92xx 系列交换机和 MX 系列路由器) 描述
set routing-instances VRF-100 forwarding-options family inet filter output f1
在 VRF-100 IPv4 路由表中的路由查找后应用 f1 转发过滤器。
set routing-instances VRF-100 forwarding-options family inet6 filter output f1
在 VRF-100 IPv6 路由表中进行路由查找后,应用 f1 转发过滤器。
注意:您只能将转发过滤器附加到 或 类型 vrf virtual-router为的路由实例。您不能将转发过滤器附加到其他路由实例或其他连接点。

表 9 总结了您的平台针对基于过滤器的转发平台特定行为。

表 9:特定于平台的行为

平台

差异

EX4xxx 系列

  • 过滤器中的下一跃点可以是前缀路由。

  • 直接在过滤器中指定适用的路由实例。

EX92xx 系列

  • 过滤器中的下一跃点必须是 /32 IPv4 或 /128 IPv6 路由。

  • 通过将过滤器显式连接到适用的路由实例,指定适用的路由实例。

MX 系列

  • 过滤器中的下一跃点必须是 /32 IPv4 或 /128 IPv6 路由。

  • 通过将过滤器显式连接到适用的路由实例,指定适用的路由实例。

QFX 系列

  • 过滤器中的下一跃点可以是前缀路由。

  • 直接在过滤器中指定适用的路由实例。

GBP MAC/IP 标记间

在 Junos OS 24.2R1 之前,基于 MAC 的 GBP 过滤器仅适用于交换流量,基于 IP 的 GBP 过滤器仅适用于路由流量。

从 Junos OS 24.2R1 版开始,基于 MAC 的 GBP 过滤器也可用于路由流量,而基于 IP 的 GBP 过滤器也适用于交换流量。这称为 MAC/IP 间标记,可以在 支持的平台中显示的特定 EX4100、EX4400、EX4650 和 QFX5120 系列交换机上启用。

从 Junos OS 25.4R1 版开始,默认情况下会启用 MAC/IP 标记。无需显式配置。

启用后,交换机会自动添加相应的条目,如下所示:

  • 如果创建基于 MAC 的 GBP 过滤器,则到达的第一个数据包与该 MAC 地址匹配时,交换机将自动创建相应的基于 IP 的 GBP 分配。此分配将应用与原始基于 MAC 的 GBP 过滤器相同的标记,但匹配源 IP 地址而不是 MAC 地址。

  • 如果创建基于 IP 的 GBP 过滤器,则到达的第一个数据包与该 IP 地址匹配时,交换机将自动创建相应的基于 MAC 的 GBP 分配。此分配将应用与原始基于 IP 的 GBP 过滤器相同的标记,但匹配源 MAC 地址而不是 IP 地址。

创建相应的条目可确保分配所需的 GBP 标记,而不管流量随后是进行交换还是路由。

注意:如果启用此功能,请注意不要创建冲突的 GBP 标记分配。例如,如果启用此功能并按如下方式创建两个筛选器:
  • 过滤器 1:将 GBP 标记 100 分配给 MAC 地址为 52:54:00:00:00:11 的流量

  • 过滤器 2:将 GBP 标记 200 分配给 IP 地址为 172.16.0.11 的流量

  • 然后确保
交换机从不接收具有该 MAC/IP 组合的流量。当您创建上述过滤器并启用 MAC/IP 间标记时,如果交换机收到 MAC 地址为 52:54:00:00:00:00:11 的数据包,则标记行为是不确定的。

要启用 MAC/IP 标记间:

注意:从 Junos OS 25.4R1 版开始,无需配置 MAC/IP 标记间。默认情况下处于启用状态。
注意:

如果设置或删除 mac-ip-inter-tagging 选项,数据包转发引擎 (PFE) 会自动重新启动。

注意:

如果在虚拟机箱中设置或删除 mac-ip-inter-tagging 选项,则必须重新启动虚拟机箱的所有成员: request system reboot all-members

下面可以看到,启用 MAC/IP 标记间时,相同的 GBP 标记 100 出现在 MAC 和 IP 表中。