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 标记,请使用一种称为微分段过滤器的特殊类型的防火墙过滤器。与常规防火墙过滤器类似,您可指定匹配条件和后续操作:
set firewall family any filter <filter-name> micro-segmentation set firewall family any filter <filter-name> term <term-name> from <match-condition> set firewall family any filter <filter-name> term <term-name> then gbp-tag <tag>
对于微分段过滤器,支持的匹配条件如 表 1 所示,支持的单个操作是分配 GBP 标记。
| 匹配条件 | 描述 |
|---|---|
|
|
匹配 IPv4/IPv6 地址/前缀列表。此匹配将应用于从连接的客户端到达访问链路的数据包上的源 IP 地址。请参阅 IP 地址匹配示例。
注意:纯第 2 层部署不支持 IP 地址匹配。
注意:
IPv4 和 IPv6 匹配条件不能在同一过滤器中共存。
注意:
不同平台的语法和行为可能不同。见 表 2。 |
|
|
匹配 MAC 地址。此匹配将应用于从连接的客户端到达接入链路的数据包上的源 MAC 地址。请参阅 MAC 地址匹配示例。 |
|
|
匹配接口名称。此匹配适用于到达指定接口的数据包。请参阅 接口上的匹配示例。
注意:
并非所有平台都支持接口匹配。见 表 2。 |
|
|
匹配 VLAN ID。此匹配适用于到达指定 VLAN ID 的数据包。请参阅 VLAN 上的匹配示例。
注意:
。
并非所有平台都支持 VLAN ID 匹配。见 表 2。 |
为确保一致应用策略,建议在所有位置(入口和出口)配置相同的 GBP 标记分配。
表 2 显示了不同平台与主线功能的差异。
|
平台 |
差异 |
|---|---|
|
EX4100 |
|
|
QFX5130、QFX5700 |
|
IP 地址匹配示例
以下是使用 IP 地址进行 GBP 标记分配的示例:
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term t1 from ip-version ipv4 172.16.1.0/24 set firewall family any filter f1 term t1 then gbp-tag 400
请参阅最 长前缀匹配与严格防火墙术语顺序 ,了解传入 IP 地址与多个 IP 地址条件匹配时的行为。
MAC 地址匹配示例
以下是使用 MAC 地址进行 GBP 标记分配的示例:
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term t1 from mac-address 00:00:5E:00:53:10 set firewall family any filter f1 term t1 then gbp-tag 100 set firewall family any filter f1 term t2 from mac-address 00:00:5E:00:53:20 set firewall family any filter f1 term t2 then gbp-tag 200 set firewall family any filter f1 term t3 from mac-address 00:00:5E:00:53:30 set firewall family any filter f1 term t3 then gbp-tag 300
接口上的匹配示例
以下是基于接口的 GBP 标记分配示例:
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term t1 from interface ge-0/0/0 set firewall family any filter f1 term t1 then gbp-tag 100
在单个防火墙过滤器期限内,可以有多个 interface 匹配条件。例如:
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term t1 from interface ge-0/0/0 set firewall family any filter f1 term t1 from interface ge-0/0/1 set firewall family any filter f1 term t1 from interface ge-0/0/2 set firewall family any filter f1 term t1 then gbp-tag 100
您可以在单个防火墙过滤器术语中组合 interface 匹配条件和 vlan-id 匹配条件。例如:
set firewall family any filter f1 micro-segmentation 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 set firewall family any filter f1 term t1 then gbp-tag 100
VLAN 上的匹配示例
以下是使用 VLAN ID 进行 GBP 标记分配的示例:
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term t1 from vlan-id 100 set firewall family any filter f1 term t1 then gbp-tag 1
在单个防火墙过滤器术语中,您可以有多个 vlan-id 匹配条件:
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term t1 from vlan-id 100 set firewall family any filter f1 term t1 from vlan-id 200 set firewall family any filter f1 term t1 from vlan-id 300 set firewall family any filter f1 term t1 then gbp-tag 1
您可以在 VLAN 范围内进行匹配:
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term t1 from vlan-id [10-30] set firewall family any filter f1 term t1 then gbp-tag 1
您可以在 VLAN 上进行匹配:
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term t1 from vlan-id [3000 3010 3020] set firewall family any filter f1 term t1 then gbp-tag 1
使用 RADIUS 分配 GBP 标记
您可以将 RADIUS 服务器配置为在身份验证期间为用户分配 GBP 标记。RADIUS 服务器通常用于园区环境中的访问控制和其他功能,例如 VLAN 分配。
使用 RADIUS 时,仅支持基于 MAC 和接口的 GBP 标记分配:
-
如果将 RADIUS 身份验证配置为单安全或多请求方模式,则 GBP 标记将基于 MAC。
-
如果将 RADIUS 身份验证配置为单请求方模式,则 GBP 标记将基于接口。
为了适应身份验证期间 GBP 标记的分配,我们利用了 AAA 服务框架支持的供应商特定属性 (VSA)。这些 VSA 作为标准 RADIUS 请求回复消息的一部分携带,并提供内置扩展来处理特定于实施的信息,例如我们的 GBP 标记。
您可以使用以下任一 VSA 分配 GBP 标记:
-
Juniper-Switching-FilterVSA 带有 GBP 标记和其他过滤器匹配和操作条件。 -
仅
Juniper-Group-Based-Policy-Id携带 GBP 标记。
您不应 Juniper-Switching-Filter 将 VSA 和 Juniper-Group-Based-Policy-Id VSA 用于同一客户端。
如果两个 VSA 都存在并且包含不同的 GBP 标记值,则不会对客户端进行身份验证。
RADIUS 服务器上的确切语法取决于身份验证方案是基于 MAC 还是基于 EAP。
对于基于 MAC 的客户端,配置如下所示:
001094001199 Cleartext-Password := "001094001199" Juniper-Switching-Filter = "apply action gbp-tag 100"
对于基于 EAP 的客户端,GBP 标记在身份验证时从 RADIUS 服务器推送。配置如下所示:
PermEmp01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 100"
以下是使用 VSA 的 Juniper-Group-Based-Policy-Id EAP 示例:
PermEmp01 Auth-Type = EAP, Cleartext-Password := "gbp"
Juniper-Group-Based-Policy-Id = “100”
对于这两个 VSA,配置的 GBP 标记必须是 (1-65535) 范围内的非零正值。
您可以使用 dot1x CLI 语句配置 GBP 标记。这如 表 3 所示。
|
CLI |
描述 |
|---|---|
set protocols dot1x authenticator interface [interface-names] server-fail gbp-tag gbp-tag |
指定在服务器无法访问时要应用于接口的 GBP 标记。如果配置了 , 只能在配置 or |
set protocols dot1x authenticator interface [interface-names] server-reject-vlan gbp-tag gbp-tag |
指定当 RADIUS 拒绝客户端身份验证时要应用的 GBP 标记。如果配置了 , 只能在配置该选项时 |
|
|
指定将接口移动到访客 VLAN 时要应用的 GBP 标记。如果已配置, 只能在配置该选项时 有关访客 VLAN 的详细信息,请参阅 802.1X 身份验证。 |
此外,您还可以使用 或 show dot1x interface detail 命令 show ethernet-switching table 验证从 RADIUS 接收的 GBP 标记。
以下是命令 show dot1x interface detail 输出的示例:
root@access1> show dot1x interface mge-0/0/3 detail
mge-0/0/3.0
Role: Authenticator
Administrative state: Auto
Supplicant mode: Single
Number of retries: 3
Quiet period: 60 seconds
Transmit period: 30 seconds
Mac Radius: Enabled
Mac Radius Restrict: Enabled
Mac Radius Authentication Protocol: PAP
Reauthentication: Enabled
Reauthentication interval: 3600 seconds
Supplicant timeout: 30 seconds
Server timeout: 30 seconds
Maximum EAPOL requests: 2
Guest VLAN member: not configured
Number of connected supplicants: 1
Supplicant: 525400cb93dd, 52:54:00:CB:93:DD
Operational state: Authenticated
Backend Authentication state: Idle
Authentication method: Mac Radius
Authenticated VLAN: vlan1099
Dynamic Filter: apply action gbp-tag 300
Session Reauth interval: 3600 seconds
Reauthentication due in 2595 seconds
Session Accounting Interim Interval: 36000 seconds
Accounting Update due in 34995 seconds
Eapol-Block: Not In Effect
Domain: Data
以下是命令 show ethernet-switching table 输出的示例:
root@access2> show ethernet-switching table
MAC flags (S - static MAC, D - dynamic MAC, L - locally learned, P - Persistent static
SE - statistics enabled, NM - non configured MAC, R - remote PE MAC, O - ovsdb MAC,
B - Blocked MAC)
Ethernet switching table : 2 entries, 2 learned
Routing instance : default-switch
Vlan MAC MAC GBP Logical SVLBNH/ Active
name address flags tag interface VENH Index source
vlan200 00:10:94:00:00:05 D 100 xe-0/2/2.0
vlan200 00:10:94:00:00:06 DR 100 vtep.32769 21.2.0.1
表 4 显示了不同平台与主线功能的差异。
|
平台 |
差异 |
|---|---|
|
QFX5130、QFX5700 |
不支持使用 RADIUS 分配 GBP 标记。 |
GBP 标记分配优先级
本部分阐明了创建可能不明确的匹配条件时的行为。
同时使用 CLI 和 RADIUS 进行分配
您通常使用 CLI 或 RADIUS 配置标记分配,但不能同时配置两者。如果您确实同时使用两者,并且存在冲突分配(例如,CLI 将 GBP 标记 10 分配给用户,而 RADIUS 将 GBP 标记 20 分配给同一用户),则以 RADIUS 分配为准。
冲突的匹配条件
以下是冲突匹配条件的示例:
set firewall family any filter f4 micro-segmentation set firewall family any filter f4 term t1 from ip-version ipv4 address 172.16.0.0/24 set firewall family any filter f4 term t1 then gbp-tag 10 set firewall family any filter f4 term t2 from ip-version ipv4 address 172.16.0.0/24 set firewall family any filter f4 term t2 then gbp-tag 20
在上述示例中,t1 和 t2 在 IP 地址 172.16.0.0/24 上匹配,但分配了不同的 GBP 标记。在这种情况下,仅评估第一个匹配项。第二个及后续匹配项将被忽略。
并发比赛
当一个传入数据包匹配多个条件时, 表 5 中所示的匹配优先级将生效:
| 优先级 | 匹配条件 |
|---|---|
| 1(最高) |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 |
|
| 6(最低) |
|
注意:对于大多数平台,如果启用 MAC/IP 标记间,并且传入数据包在 MAC 和 IP 地址上都匹配,则结果是不确定的。在这种情况下,IP 地址匹配不一定优先于 MAC 地址匹配。有关例外情况,请参见表 6。有关 MAC/IP 相互标记的信息,请参阅 GBP MAC/IP 标记间。
|
|
表 6 显示了不同平台与主线功能的差异。
|
平台 |
差异 |
|---|---|
|
QFX5130、QFX5700 |
在所有情况下,IP 地址匹配都优先于 MAC 地址匹配,即使启用了 MAC/IP 间标记也是如此。 |
最长前缀匹配与严格防火墙术语顺序
您可以选择最长前缀匹配与严格的防火墙术语顺序。
例如,下面是一个包含重叠 IP 地址的微分段过滤器:
set firewall family any filter f3 micro-segmentation set firewall family any filter f3 term t1 from ip-version ipv4 address 10.0.0.0/22 set firewall family any filter f3 term t1 then gbp-tag 10 set firewall family any filter f3 term t2 from ip-version ipv4 address 10.0.0.0/24 set firewall family any filter f3 term t2 then gbp-tag 20
如果您选择使用严格的防火墙术语顺序,则 IP 地址为 10.0.0.231(例如)的传入数据包将被分配 GBP 标记 10,因为传入数据包与过滤器中的第一个术语 (t1) 匹配。
如果您选择使用最长前缀匹配,则同一数据包将被分配 GBP 标记 20,因为第二个术语 (t2) 提供更具体的匹配。这是默认行为。
如果要更改默认行为并使用严格的防火墙术语顺序,请按以下步骤配置过滤器:
set firewall family any filter f3 no-longest-prefix-match
在首次创建微分段过滤器时设置 no-longest-prefix-match 参数。不要在现有的微分段过滤器上切换此参数。
表 7 显示了不同平台与主线功能的差异。
|
平台 |
差异 |
|---|---|
|
QFX5130、QFX5700 |
由于不支持 IP 前缀匹配,因此最长前缀匹配选项不适用。防火墙术语严格按术语顺序进行评估。 |
GBP 标记流量的数据包分类
GBP 环境中的数据包分类是指在传入数据包的数据平面处理期间检索配置的 GBP 标记。
数据包分类在入换机和出换机上进行。在入口处,交换机对来自接入链路的传入数据包进行分类,以获取发送方(源)的 GBP 标记。在出口时,交换机对来自网络的传入数据包进行分类,以获取接收方(目标)的 GBP 标记。
检索源标记和目标标记后,即可实施策略。
GBP 策略实施
使用 GBP 标记创建微分段策略。
启用 GBP 的交换机根据您为分配的 GBP 标记创建的规则实施策略。为了支持 GBP 策略实施,我们扩展了常规防火墙过滤功能,包括 GBP 标记的匹配和操作。支持接受或拒绝等常规防火墙操作。
与 EVPN-VXLAN 一起运行时,策略实施通常会在出口处同时使用源和目标 GBP 标记。还支持入口实施(请参阅 EVPN-VXLAN 的入口和标记传播中的 GBP 策略实施),但我们建议您在大规模网络中使用出口实施。出口强制是默认行为。
在没有 EVPN-VXLAN 的情况下运行时,策略实施通常会在入口处执行,采用源 GBP 标记和目标 IP 地址,也可同时使用源和目标 GBP 标记,具体取决于您的网络。有关详细信息,请参阅 零信任内联分段 。
- 使用 GBP 标记实施
- 使用目标 IP 地址实施
- 使用 L4 字段实施
- 从实施中排除的数据包
- 显式默认丢弃
- 入口处的 GBP 策略实施和 EVPN-VXLAN 的标签传播
- 基于过滤器的 GBP 标记流量转发
- GBP MAC/IP 标记间
使用 GBP 标记实施
默认情况下,策略实施在出口处完成。如果想要在入口处实施策略,请参阅入口 处的 GBP 策略实施以及 EVPN-VXLAN 的标记传播。
以下是 GBP 策略实施的示例:
set firewall family any filter gbp-policy term t100-200 from gbp-src-tag 100 set firewall family any filter gbp-policy term t100-200 from gbp-dst-tag 200 set firewall family any filter gbp-policy term t100-200 then accept set firewall family any filter gbp-policy term t100-300 from gbp-src-tag 100 set firewall family any filter gbp-policy term t100-300 from gbp-dst-tag 300 set firewall family any filter gbp-policy term t100-300 then discard
GBP 源标记为 100 和 GBP 目标标记为 200 的数据包将在期限 t100-200 内匹配并被接受。GBP 源标记为 100 和 GBP 目标标记为 300 的数据包将在期限 t100-300 内匹配并被丢弃。
表 8 显示了不同平台与主线功能的差异。
|
平台 |
差异 |
|---|---|
|
QFX5130、QFX5700 |
|
使用目标 IP 地址实施
在纯 L2 部署中,接入交换机通常最多作为第 3 层网关连接到 WAN 路由器。WAN 路由器不感知 GBP,无法传递 GBP 标记。因此,只能根据源 GBP 标记在入口接入交换机上实施策略。在这种情况下,我们允许您扩充策略以包含目标 IP 地址。
以下是将 GBP 源标记与目标 IP 地址一起使用的示例:
set chassis forwarding-options gbp-pure-l2-profile set firewall family any filter gbp-policy term t1 from gbp-src-tag 100 set firewall family any filter gbp-policy term t1 from ip-version ipv4 ip-destination-address 10.1.45.0/24 set firewall family any filter gbp-policy term t1 then accept
有关此用例的更多信息,请参阅 使用 GBP 纯 L2 配置文件。
表 9 显示了不同平台与主线功能的差异。
|
平台 |
差异 |
|---|---|
|
QFX5130、QFX5700 |
无需使用目标 IP 地址进行强制执行,因为即使在纯第 2 层网络中,您也可以基于 IP 地址分配标记。只需根据 IP 地址创建标记分配,并像往常一样对分配的标记实施策略。 |
使用 L4 字段实施
您可以使用 表 10 中所示的 L4 字段实施策略。这为您提供了额外的粒度来控制应用流量。
| 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 payload-protocol protocol |
匹配有效负载协议。 |
ip-version ipv6 tcp-flags flags |
匹配 TCP 标志(符号或十六进制格式)仅入口。 |
ip-version ipv6 tcp-initial |
匹配 TCP 连接的初始数据包。 |
ip-version ipv6 tcp-established |
匹配已建立 TCP 连接的数据包。 |
注意:
默认情况下支持 L4 过滤器,但可以缩小支持的 GBP 规模。要禁用 L4 过滤器: 使用此 set(和相应的删除)命令时,数据包转发引擎 (PFE) 将重新启动。 |
|
表 11 显示了不同平台与主线功能的差异。
|
平台 |
差异 |
|---|---|
| EX9200 和 MX 系列 |
|
|
QFX5130、QFX5700 |
|
从实施中排除的数据包
并非所有数据包都受 GBP 策略实施。 表 12 显示了平台之间的差异。
|
平台 |
差异 |
|---|---|
|
EX4100 |
|
|
EX4400、EX4650、EX5200、EX9200、QFX5120、MX 系列 |
|
|
QFX5130、QFX5700 |
|
显式默认丢弃
当没有条件匹配时,默认操作是接受数据包。如果不想默认接受数据包,可以为不符合任何条件的数据包指定显式默认丢弃操作。
下面是显式默认丢弃的示例:
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 包含丢弃操作,但没有匹配条件。这将充当与序列中前面术语中的任何条件都不匹配的数据包的包。
此显式默认丢弃操作不适用于广播、组播、主机源自或未知的单播数据包。始终接受这些类型的流量。
如果未配置显式丢弃操作,则默认操作是接受数据包。
表 13 显示了不同平台与主线功能的差异。
|
平台 |
差异 |
|---|---|
| EX9200 和 MX 系列 |
|
|
QFX5130、QFX5700 |
|
入口处的 GBP 策略实施和 EVPN-VXLAN 的标签传播
入口策略实施会在入口处丢弃原本会在出口处丢弃的标记数据包,从而节省网络带宽。为了支持在入口处或更接近入口处实施策略,我们使用 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) 将重新启动。
set forwarding-options evpn-vxlan gbp ingress-enforcement
表 14 显示了不同平台与主线功能的差异。
|
平台 |
差异 |
|---|---|
|
QFX5130、QFX5700 |
|
使用 EVPN 5 类播发的 IP 前缀路由的标记传播
除了由 MAC-IP 学习触发的标记传播(产生 /32 IP 路由)之外,我们还支持使用 EVPN Type 5 通告对 IP 前缀路由进行 GBP 标记传播。
使用 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 路由:
set policy-options policy-statement T5_EXPORT term fm_v4_host from route-filter 0.0.0.0/0 prefix-length-range /32-/32 set policy-options policy-statement T5_EXPORT term fm_v4_host then reject
如果交换机收到有关某个 IP 前缀路由和关联 GBP 标记的 EVPN 播发,并且您配置了将不同标记分配给同一 IP 前缀路由的 GBP 过滤器,则以本地配置的 GBP 过滤器中的 GBP 标记为准。在重新播发 EVPN 路由之前,交换机会将收到的 EVPN 播发中的 GBP 标记替换为本地分配的 GBP 标记。
当您为 IP 前缀创建 GBP 过滤器并将 GBP 过滤器与路由实例相关联时,系统会自动启用 IP 前缀标记传播。例如:
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term tag300 from ip-version ipv4 172.16.1.0/24 set firewall family any filter f1 term tag300 then gbp-tag 300 set routing-instances <routing-instance> forwarding-options evpn-vxlan gbp ingress-src-tag filter f1
其中 <routing-instance> 是要应用过滤器的路由实例的名称。
将 IP 前缀路由与 GBP 标记关联后,GBP 标记将显示在该 IP 前缀路由的命令输出 show route 中。例如:
show route match-prefix 5:* extensive
bgp.evpn.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden)
Restart Complete
5:10.255.1.1 (1 entry, 1 announced)
<trimmed>
gbp-tag:0L:53 router-mac:52:54:00:00:92:f0
Import Accepted
Route Label: 9100
Overlay gateway address: 0.0.0.0
ESI 00:00:00:00:00:00:00:00:00:00
Localpref: 100
Router ID: 10.255.1.1
Secondary Tables: VRF-100.evpn.0
Thread: junos-main
Indirect next hops: 1
<trimmed>
show route table VRF-100.inet.0 match-prefix 10.1.1* extensive
VRF-100.inet.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
Restart Complete
10.1.1.3/32 (1 entry, 1 announced)
TSI:
KRT in-kernel 10.1.1.3/32 -> {indirect(1048574)}
Opaque data client: EVPN-Type5
Opaque data: tlv_type :32820
Type5 gbp_tag 53.
Address: 0xa15f928
Opaque-data reference count: 2
Page 0 idx 0, (group DC2_TORS type External) Type 1 val 0xa32fd40 (adv_entry)
Advertised metrics:
Nexthop: Self
AS path: [65201] 65200 I
Communities: gbp-tag:0L:53
Advertise: 00000001
Path 10.1.1.3
<trimmed>
要查看路由实例与 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 过滤器不起作用。
表 15 显示了不同平台与主线功能的差异。
|
平台 |
差异 |
|---|---|
|
EX4100 |
不支持 IP 前缀路由的标记传播。 |
|
QFX5130、QFX5700 |
不支持 IP 前缀路由的标记传播。 |
基于过滤器的 GBP 标记流量转发
基于过滤器的转发是指如果分配给该流量的 GBP 标记与过滤器中指定的 GBP 标记匹配,则能够将流量转发到指定的下一跃点。使用此功能可对指定的标记流量和常规流量应用不同的路由处理。
要创建转发过滤器,请指定要匹配的源标记和目标标记,以及要转发匹配流量的下一跃点。
用于基于过滤器的转发的 CLI 语句对于不同的产品不同会有所不同。见 表16 和 表17。
|
基于过滤器的转发配置示例(EX4xxx、EX5200 和 QFX5120 交换机) |
描述 |
|---|---|
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 路由的下一跃点。 |
|
限制:
|
|
|
基于过滤器的转发配置示例(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 路由的下一跃点。 |
|
限制:
|
|
对于 EX92xx 系列交换机和 MX 系列路由器,由于您没有直接在过滤器中指定路由表,因此需要将转发过滤器显式连接到路由表。有关 CLI 配置示例,请参阅 表 18 。
| 连接转发过滤器配置示例(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 转发过滤器。 |
注意:您只能将转发过滤器附加到 或 类型
vrfvirtual-router为的路由实例。您不能将转发过滤器附加到其他路由实例或其他连接点。
|
|
表 19 总结了您的平台的基于过滤器的转发平台特定行为。
|
平台 |
差异 |
|---|---|
|
EX4xxx、EX5200 |
|
|
EX92xx |
|
|
MX 系列 |
|
|
QFX 5120 |
|
| QFX5130、QFX5700 | 不支持基于过滤器的转发。 |
GBP MAC/IP 标记间
MAC/IP 标记间允许将基于 MAC 的 GBP 标记分配应用于路由流量,并将基于 IP 的 GBP 标记分配应用于交换流量。
-
启用 MAC/IP 标记间后,基于 MAC 和基于 IP 的 GBP 过滤器均适用于交换和路由流量。
-
禁用 MAC/IP 标记间后,基于 MAC 的 GBP 过滤器仅适用于交换流量,基于 IP 的 GBP 过滤器仅适用于路由流量。
启用后,交换机会自动添加相应的条目,如下所示:
-
如果创建基于 MAC 的 GBP 过滤器,则到达的第一个数据包与该 MAC 地址匹配时,交换机将自动创建相应的基于 IP 的 GBP 分配。此分配将应用与原始基于 MAC 的 GBP 过滤器相同的标记,但匹配源 IP 地址而不是 MAC 地址。
-
如果创建基于 IP 的 GBP 过滤器,则到达的第一个数据包与该 IP 地址匹配时,交换机将自动创建相应的基于 MAC 的 GBP 分配。此分配将应用与原始基于 IP 的 GBP 过滤器相同的标记,但匹配源 MAC 地址而不是 IP 地址。
创建相应的条目可确保分配所需的 GBP 标记,而不管流量随后是进行交换还是路由。
-
过滤器 1:将 GBP 标记 100 分配给 MAC 地址为 52:54:00:00:00:11 的流量
-
过滤器 2:将 GBP 标记 200 分配给 IP 地址为 172.16.0.11 的流量
然后确保
要启用 MAC/IP 标记间:
set forwarding-options evpn-vxlan gbp mac-ip-inter-tagging
如果设置或删除 mac-ip-inter-tagging 选项,数据包转发引擎 (PFE) 会自动重新启动。
如果在虚拟机箱中设置或删除 mac-ip-inter-tagging 选项,则必须重新启动虚拟机箱的所有成员: request system reboot all-members
下面可以看到,启用 MAC/IP 标记间时,相同的 GBP 标记 100 出现在 MAC 和 IP 表中。
show ethernet-switching table
MAC flags (S - static MAC, D - dynamic MAC, L - locally learned, P - Persistent static, C - Control MAC
SE - statistics enabled, NM - non configured MAC, R - remote PE MAC, O - ovsdb MAC,
B - Blocked MAC)
Ethernet switching table : 2 entries, 2 learned
Routing instance : default-switch
Vlan MAC MAC GBP Logical SVLBNH/ Active
name address flags tag interface VENH Index source
vlan100 52:54:00:22:22:22 D 100 xe-0/0/8.0
vlan200 52:54:00:44:44:44 D xe-0/0/9.0
show ethernet-switching mac-ip-table
MAC IP flags (S - Static, D - Dynamic, L - Local , R - Remote, Lp - Local Proxy,
Rp - Remote Proxy, K - Kernel, RT - Dest Route, (N)AD - (Not) Advt to remote,
RE - Re-ARP/ND, RO - Router, OV - Override, Ur - Unresolved, B - Blocked,
RTS - Dest Route Skipped, RGw - Remote Gateway, GBP - Group Based Policy,
RTF - Dest Route Forced, SC - Static Config, P - Probe, NLC - No Local Config,
LD - Local Down)
Routing instance : default-switch
Bridging domain : vlan100
IP MAC Flags GBP Logical Active
address address Tag Interface source
10.100.100.100 52:54:00:22:22:22 DL,K,RT,AD 100 xe-0/0/8.0
10.100.100.101 52:54:00:63:0e:40 S,K irb.100
2001:db8::9300:6463:e40 52:54:00:63:0e:40 S,K irb.100
表 20 显示了不同平台与主线功能的差异。
|
平台 |
差异 |
|---|---|
|
QFX5130、QFX5700 |
MAC/IP 标记间会自动启用。您无法禁用它。 |
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。
gbp-pure-l2-profile.请参阅 使用目标 IP 地址实施。
gbp-tag CLI 语句中的 protocols dot1x authenticator interface 选项。请参阅 使用 RADIUS 分配 GBP 标记。