Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

示例:在 VXLAN 中使用基于组的策略进行微分段和宏分段

VXLAN-GBP

概述

例如,您可以使用基于组的策略 (GBP) 实现微分段和宏分段,以保护集中路由桥接 (CRB) 和边缘路由桥接 (ERB) VXLAN 架构中的数据和资产。GBP 利用底层 VXLAN 技术提供不受位置限制的端点访问控制。GBP 允许您跨企业网域实施一致的安全策略。您可以使用 GBP 简化网络配置,无需在所有交换机上配置大量防火墙过滤器。GBP 通过确保在整个网络中一致地应用安全组策略来阻止横向威胁,而不受端点或用户位置的影响。

VXLAN-GBP 利用 VXLAN 标头中的保留字段用作可扩展组标记 (SGT)。此 16 位 SGT 字段带有(源)GBP 标记,该标记在入口处使用 GBP 防火墙过滤器规则分配给 VXLAN 帧。

在出口处,GBP 防火墙过滤器规则分配目标 GBP 标记,单独的 GBP 防火墙过滤器使用这些标记作为匹配条件来实施策略。

使用 SGT 比直接使用接口或 MAC 地址更可靠。SGT 可以静态分配(通过按每个接口或每个 MAC 配置交换机),也可以在 RADIUS 服务器上配置,并在用户通过身份验证后通过 802.1X 推送到交换机。

VXLAN-GBP 支持的分段在园区 VXLAN 环境中特别有用,因为它为您提供了一种创建独立于底层网络拓扑的网络访问策略的实用方法。它简化了制定网络-应用和端点-设备安全策略的设计和实施阶段。

您可以在 IEEE RFC I-D.draft-smith-vxlan-group-policy 中找到有关 VXLAN-GBP 标准的更多详细信息。

图 1 显示了 VXLAN 标头中的可扩展组标记(组策略 ID)。

图 1:VXLAN 表头字段 VXLAN Header Fields

表 1 显示了不同交换机和 Junos OS 版本对 VXLAN-GBP 的支持。

表 1:VXLAN-GBP 支持的交换机
Junos 版本 VXLAN-GBP 支持的交换机

从 Junos OS 21.1R1 版开始

EX4400-24P、EX4400-24T、EX4400-48F、EX4400-48P 和 EX4400-48T

从 Junos OS 21.2R1 版开始

EX4400-24MP 和 EX4400-48MP

从 Junos OS 21.4R1 版开始

  • QFX5120-32C 和 QFX5120-48Y

  • EX4650

从 Junos OS 22.4R1 版开始
  • EX4100 系列

从 Junos OS 23.2R1 版开始
  • EX4400-24X

  • EX9204/9208/9214(带 EX9200-15C)

从 Junos OS 24.2R1 版开始
  • MX240/480/960(带 MPC-10E)

  • MX304

  • MX10004

  • MX10008

从 Junos OS 24.4R1 版开始
  • EX4100-H 系列

  • EX4400-48XP 和 EX4400-48MXP

  • QFX5120-48T 和 QFX5120-48YM

表 2表 4 总结了 Junos OS 版本之间在 VXLAN-GBP 上的实现差异。

表 2:Junos OS 版本之间的差异 - GBP 标记
Junos OS 21.1R1 到 22.3Rn 版中的 GBP Junos OS 22.4R1 及更高版本中的 GBP
set firewall family ethernet-switching filter filter_name term term_name from match_conditions
set firewall family ethernet-switching filter filter_name term term_name then gbp-src-tag/gbp-dst-tag tag
set firewall family any filter filter_name micro-segmentation
set firewall family any filter filter_name term term_name from match_conditions
set firewall family any filter filter_name term term_name then gbp-tag tag
注意:
  • any” 系列名称取代了 “ethernet-switching”系列名称。

  • 新增了术语 “微分段” ,用于表示 GBP 标记过滤器。

  • 术语“gbp-tag”取代了“gbp-src-tag”“gbp-dst-tag”术语。

表 3:Junos OS 版本之间的差异 - GBP 匹配条件
Junos OS 21.1R1 到 22.3Rn 版中的 GBP Junos OS 22.4R1 及更高版本中的 GBP

interface <interface_name>

source-mac-address <mac_address>

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

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

  • mac-address <mac address>

  • vlan-id <vlan id> interface <interface_name>

  • vlan-id <vlan id>

  • interface <interface_name>

表 4:Junos OS 版本之间的差异 - 策略实施和其他操作
Junos OS 21.1R1 到 22.3Rn 版中的 GBP Junos OS 22.4R1 及更高版本中的 GBP
set firewall family ethernet-switching filter filter_name term term_name from gbp-dst-tag gbp_tag 

set firewall family ethernet-switching filter filter_name term term_name from gbp-src-tag gbp_tag 

set firewall family ethernet-switching filter  filter_name term term_name then discard
注意:

仅在出口端点上支持策略实施。用于启用 GBP 的 CLI 语句:

set chassis forwarding-options vxlan-gbp-profile
set firewall family any filter filter_name term term_name from gbp-dst-tag gbp_tag 

set firewall family any filter filter_name term term_name from gbp-src-tag gbp_tag 

set firewall family any filter filter_name term term_name then discard
注意:

any” 系列名称取代了 “ethernet-switching”系列名称。

注意:

如果启用了 GBP,则始终在出口处启用策略实施,但在入口处则是可选的。

  • 用于启用 GBP 的 CLI 语句:

    set chassis forwarding-options vxlan-gbp-profile
  • 用于在入口端点上执行策略实施的 CLI 语句:

    set fowarding-options evpn-vxlan gbp ingress-enforcement 
 

Junos OS 23.2R1 及更高版本:

  • 策略实施支持其他 IPv4 和 IPv6 L4 匹配。

  • 支持和vxlan-gbp-l2-profilevxlan-gbp-l3-profile

 

Junos OS 24.2R1 及更高版本:

  • 能够为与任何条件不匹配的数据包添加显式丢弃操作。

  • 既能对路由流量实施基于 MAC 的 GBP 过滤器,又能对交换流量实施基于 IP 的 GBP 过滤器。

  • 支持在 EVPN 5 类播发中对 IP 前缀路由进行 GBP 标记传播。

 

Junos OS 24.4R1 及更高版本:

  • 支持基于过滤器的 GBP 标记流量转发。

  • 默认情况下,最长前缀匹配优先于 GBP 标记过滤器中 IP 地址术语的防火墙术语排序。

Junos OS 22.4R1 及更高版本中的 GBP

匹配条件

表 5 显示了从 Junos OS 22.4R1 版开始支持的 GBP 匹配条件:

表 5:匹配条件(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 源地址或目标地址/前缀列表。
注意:

从 Junos OS 24.4R1 版开始,您可以指定是希望按术语顺序还是按最长前缀匹配来评估 IP 地址术语。默认情况下,在 Junos OS 24.4R1 版及更高版本中,IP 地址术语按最长前缀匹配进行评估。在 Junos OS 24.4R1 版之前的版本中,IP 地址术语仅按术语顺序计算。

mac-address <mac address>

匹配源或目标 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 及更高版本还允许您在单个防火墙过滤器术语中将此匹配条件与匹配条件(如果vlan-id支持匹配条件)一起vlan-id配置。例如:

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

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 及更高版本还允许您在单个防火墙过滤器术语中配置此匹配条件和 interface 匹配条件。

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

我们建议您在所有位置(入口和出口)都使用相同的 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。

相同的标记分配用于将目标 MAC 地址映射到出口处的目标标记。在上述示例的出口处,发往 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 地址分配 GBP 标记的示例:

下面是 GBP 标记过滤器中多个 IP 地址词的示例:

注意:

在 Junos OS 24.4R1 版中,上述过滤器的默认行为已更改。在 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 标记过滤器上切换此参数。

下面是一个具有重复匹配词的示例:

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

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

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

从 Junos OS 23.4R1 版开始:

  • EX4400、EX4650 和 QFX5120 交换机支持 GBP 过滤器中的 VLAN 列表和范围。

  • EX4400、EX4650 和 QFX5120 交换机在 GBP 过滤器中的单个术语中支持多个 VLAN 条目。

  • EX4400、EX4650 和 QFX5120 交换机在 GBP 过滤器中的单个术语中支持多个接口条目。

  • EX4400、EX4650 和 QFX5120 交换机在 GBP 过滤器中以单个术语支持接口和 VLAN 组合。

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

例如:

注意:

GBP 标记的优先级如下,其中 ip-version 的优先级最高:

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

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

  • mac-address<mac address>

  • interface<interface_name> VLAN ID <vlan id>

  • vlan-id<vlan id>

  • interface<interface_name>

注意:

默认情况下,策略实施在出口处完成。如果要在入口处实施策略,请参阅 在入口处实施策略和标记传播

L4 匹配条件

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

表 6:支持其他 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 连接的数据包。
注意:

表 1 中所示的 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) 将重新启动。

GBP 配置文件

Junos OS 23.2R1 及更高版本支持 vxlan-gbp-l2-profile 和 vxlan-gbp-l3-profile,如 表 7 所示。

表 7:受支持的 VXLAN-GBP UFT 配置文件(Junos OS 23.2R1 版及更高版本)
配置文件支持的 交换机
vxlan-gbp-profile
  • EX4100 系列

  • EX4400 系列

  • EX4650 系列

  • QFX5120-32C 和 QFX5120-48Y 交换机

vxlan-gbp-l2-profilevxlan-gbp-l3-profile
  • EX4400 系列

  • EX4650 系列

  • QFX5120-32C 和 QFX5120-48Y 交换机

UFT 配置文件确定要为各种 GBP 过滤器分配的表大小。选择最符合您网络需求的配置文件。

有关何时使用这些配置文件的详细信息,请参阅 了解 GBP 配置文件

有关表大小设置,请参阅 vxlan-gbp-profilevxlan-gbp-l2-profilevxlan-gbp-l3-profile

显式默认放弃

当未匹配任何条件时,默认操作是接受数据包。从 Junos OS 24.2R1 版开始,您可以为与任何条件不匹配的数据包指定显式默认丢弃操作。请参阅 表 8

表 8:显式默认放弃操作(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)。对于与序列中前面的项中的任何条件都不匹配的数据包,此功能非常有用。

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

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

注意:

表 1 中所示的 EX4100、EX4400、EX4650 和 QFX5120 系列交换机支持显式默认放弃。EX92xx 交换机不支持显式默认丢弃。

入口和标记传播处的策略实施

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

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

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

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

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

注意:

如果边界叶交换机收到带有 GBP 标签的 EVPN 2 类通告,则交换机会安装 2 类路由,并使用该 GBP 标签生成带有该 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 5 类播发将包含该 GBP 标记,从而在进行 MAC-IP 学习之前传播标记。

通常,每当创建将标记分配给 IP 前缀的 GBP 过滤器,并且该 IP 前缀路由安装在 evpn.0 路由数据库中时,都会在 EVPN 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 筛选器不起作用。

  • 表 1 中列出的 EX4400、EX4650 和 QFX-5120 系列交换机支持此功能。

CRB 和 ERB 叠加的要求

GBP 配置会有所不同,具体取决于您是在集中路由和桥接 (CRB) 叠加层还是边缘路由和桥接叠加层上运行。 表 9 显示了这些差异。

表 9:CRB 和 ERB 要求

GBP 函数

CRB的典型应用

在ERB上的典型应用

标记

入口叶

入口叶

set firewall family any filter f1 micro-segmentation
set firewall family any filter f1 term t1 from ip-version ipv4 address 172.16.10.0/24
set firewall family any filter f1 term t1 then gbp-tag 10

不带 GBP 目标标记的策略实施

入口或出口叶

入口或出口叶

set firewall family any filter f2 term t1 from gbp-src-tag 10
set firewall family any filter f2 term t1 then discard

使用 GBP 目标标记的策略实施

入口主干

入口叶

set forwarding-options evpn-vxlan gbp ingress-enforcement
set firewall family any filter f3 term t1 from gbp-src-tag 10
set firewall family any filter f3 term t1 from gbp-dst-tag 20
set firewall family any filter f3 term t1 then discard

出口叶式

出口叶式

set firewall family any filter f3 term t1 from gbp-src-tag 10
set firewall family any filter f3 term t1 from gbp-dst-tag 20
set firewall family any filter f3 term t1 then discard

此外,如果您在 CRB 叠加网络上运行,则必须配置以下内容:

表 10:CRB 叠加的附加配置

其他配置

开关

启用 crb-proxy-mac

在 CRB 叠加中,叶式交换机充当第 2 层网关。为了让这些第 2 层网关管理 ARP 或 NDP 条目的学习和老化,并通告 EVPN 2 类 MAC-IP 路由,我们启用 crb-proxy-mac 了任播 MAC 地址选项。

所有叶式交换机

set protocols l2-learning crb-proxy-mac family inet <proxy-MAC-address>
其中 <proxy-MAC-address> 是要在所有叶交换机上使用的任播 MAC 地址。在所有叶式交换机上发出相同的 <proxy-MAC-address> 命令。

禁用 proxy-macip-advertisement

我们不希望主干交换机代表叶交换机通告 EVPN 2 类 MAC-IP 路由。因此,我们禁用此 proxy-macip-advertisement 选项。

主干交换机上的所有 IRB 接口

如果 proxy-macip-advertisement 在 IRB 接口上启用,请按如下方式禁用它:
delete interfaces irb unit <logical-unit-number> proxy-macip-advertisement 

主机源自数据包

当数据包通过虚拟隧道端点 (VTEP) 从集成路由和桥接 (IRB) 接口出口时,内核会在 VXLAN 标头中插入源 GBP 标记并发送数据包。源 GBP 标记值使用以下语句进行配置:

GBP MAC/IP 互标记

默认情况下,基于 MAC 的 GBP 过滤器仅适用于交换流量,而基于 IP 的 GBP 过滤器仅适用于路由的流量。

从 Junos OS 24.2R1 版开始,基于 MAC 的 GBP 过滤器也可应用于路由流量,基于 IP 的 GBP 过滤器也可应用于交换流量。

这称为 MAC/IP 间标记,表 1 中所示的特定 EX4100、EX4400、EX4650 和 QFX5120 系列交换机支持此功能。

要启用 MAC/IP 互标记:

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

基于过滤器的转发

从 Junos OS 24.3R1 版开始,我们支持对 GBP 标记的流量进行基于过滤器的转发。如果分配给该流量的 GBP 标签与过滤器中指定的 GBP 标签匹配,则可以将流量转发到指定的下一跃点。使用此功能可以对指定标记的流量与常规流量应用不同的路由处理。

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

表 11:基于过滤器的 GBP 流量转发(Junos OS 24.3R1 版及更高版本)

基于过滤器的转发示例

描述

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 路由的下一跃点。

局限性:

  • 表 1 中所示的 EX4100、EX4400、EX4650 和 QFX5120 系列交换机支持基于过滤器的转发。EX92xx 交换机不支持基于过滤器的转发。

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

  • next-ipnext-ip6 ”唯一支持的动作修饰符是 count 动作修饰符。例如: set firewall family any filter f1 term t1 then next-ip 10.10.1.1 count num_100_200_packets

为 802.1X GBP 标记分配分配 SGT

在此示例中,我们在 RADIUS 服务器上配置 SGT,然后在支持 GBP 的接入交换机上使用 802.1X 访问控制,以便在匹配端点连接到交换机时接收 SGT。RADIUS 服务器通常在园区环境中用于访问控制,例如,用于管理 VLAN 的分配。

注意:
  • 如果将 802.1X 身份验证配置为单安全或多请求方模式,则 GBP 标记是基于 MAC 的。如果使用单请求方模式配置 802.1X 身份验证,则 GBP 标记是基于接口的。

  • 802.1X 不支持 IP 地址、VLAN ID 和 VLAN ID+ 接口匹配。

为了适应在 RADIUS 服务器上使用 SGT,我们需要利用 AAA 服务框架支持的供应商特定属性 (VSA)(这些 VSA 作为标准 RADIUS 请求回复消息的一部分进行传输,并提供内置扩展来处理特定于实施的信息,例如我们的 SGT)。RADIUS 服务器上的确切语法因身份验证方案是基于 MAC 还是 EAP 而有所不同。对于基于 MAC 的客户端,配置如下所示:

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

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

注意:

对于同一个客户端,不应同时使用 Juniper-Group-Based-Policy-ID VSA 和 Juniper-Switching-Filter VSA。

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

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

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

  • Juniper-Group-Based-Policy-Id 带有 GBP 标签。

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

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

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

表 12.带有 GBP 标记的配置语句

CLI

描述

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

指定当服务器无法访问时要在接口上应用的 GBP 标记。如果配置且gbp-tag客户端在 中server-fail vlan-name server-fail permit进行身份验证,则还会为客户端安装配置gbp-tag gbp-tag的筛选器。gbp-tag

只有在配置或 server-fail permit 选项时server-failvlan-name,才能配置此选项。

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

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

您只能在配置选项时server-reject-vlanvlan-id配置server-reject gbp-taggbp-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 ethernet-switching table 示例输出:

规划您的 SGT 作业

在创建任何规则之前,通过为所有端点(用户和设备)和分配的 SGT 值创建表来组织方案会很有帮助。下表可用于进一步简化逻辑并阐明您的规则。

表 13:端点及其 SGT 值

端点

分配的 SGT 值

正式雇员 (PE)

100

承包商 (CON)

200

保安人员 (SS)

300

安全摄像头 (CAM)

400

工程服务器 (ES)

500

RADIUS 服务器和 SGT、EX4400 和 VXLAN 数据包标头以及用于管理访问策略的中央防火墙过滤器之间的关系使得矩阵成为组织值的便捷方式。在下表中,我们在第一列下方列出用户角色,在第一行列出设备类型以创建访问矩阵。系统会为每个用户角色和设备类型分配一个 SGT,并且 RADIUS 配置已使用该信息进行更新。

此示例使用三种类型的员工:永久雇员 (PE)、承包商 (CON) 和保安人员 (SS)。它还使用两种类型的资源,Eng Server (ES) 和安全摄像头 (CAM)。我们使用 Y 表示允许访问,使用 N 表示访问被阻止时表示。在策略中创建各种防火墙规则时,该表可用作有用的资源,使访问映射简单明了。

表14:访问矩阵
  ES (新加坡 500) CAM (新加坡 400) PE (新加坡 100) CON (新加坡 200) SS (新加坡 300)
PE (新加坡 100) Y N Y Y N
CON (SGT 200) N N Y N N
不锈钢 (SGT 300) N Y N N Y

拓扑学

为简单起见,此示例中的所有配置均在运行 Junos OS 22.4.1R1 版的一台瞻博网络 EX4400 系列交换机上完成。交换机连接到 AAA 的 RADIUS 服务器。在此示例中,此交换机用作出口。回想一下,对于 SGT,您必须在出换机上定义防火墙,而通常在接入层的入口 VXLAN 网关上定义防火墙。

图 2:EX4400 交换机 VXLAN GBP on an EX4400 Switch上的 VXLAN GBP

要求

Junos OS 22.4R1 在以下交换机上支持增强型 GBP:EX4100、EX4400、EX4650、QFX5120-32C 和 QFX5120-48Y。

配置

基于 VXLAN-GBP 的分段:

  • 用户登录到网络,并由 RADIUS 服务器(在该服务器上为所有端点配置 SGT)进行身份验证。
  • EX4400 使用防火墙过滤器,根据 802.1X 身份验证或 MAC 地址选择流量,然后为匹配的帧分配组标记。(对于经过 dot1x 身份验证的客户端,不需要静态防火墙配置)。其机制是使用防火墙执行的,如下所示:
  • 同样,使用防火墙过滤器的机制,根据 SGT 值评估通过 EX4400 的标记流量。
    • 首先在设备上启用 chassis forwarding-options vxlan-gbp-profile

    • gbp-dst-tag 使用和/或gbp-src-tag 匹配条件编写防火墙规则,并将其包含在用于 GBP 微分段的出换机上的路由策略中。从 Junos OS 23.2R1 版开始,除了源和目标标记外,还支持新的 GBP 策略过滤器 IPv4 和 IPv6 L4 匹配,例如协议、源端口、目标端口、tcp 标志和其他匹配。请参阅表 6
    • 如果您希望在入口终端节点上实施策略,则需要启用该 set fowarding-options evpn gbp ingress-enforcement 选项。

为 VXLAN-GBP 配置独立的瞻博网络 EX4400 交换机

使用以下命令在沙盒环境中配置 VXLAN-GBP 分段。通常,您会在用作接入层(出口)VXLAN 网关的交换机上创建防火墙过滤规则,但为简单起见,我们将对防火墙过滤规则和 RADIUS 服务器使用相同的独立 EX4400(EAP,此处)。我们在此示例中使用的值取自前面的表。

以下命令包括配置文件名称和 IP 地址等变量,必须调整这些变量以使其适合您的测试环境。

  1. 配置 RADIUS 服务器:
  2. 将物理端口配置为支持 RADIUS 身份验证:
  3. 使用 Juniper-Switching-Filter 或 Juniper-Group-Based-Policy-ID 在 RADIUS 服务器上设置 SGT 标记:
  4. 在交换机上启用 VXLAN-GBP:
  5. 创建利用 SGT 的防火墙过滤器规则(使用矩阵中组织的值):
  6. 在 Junos 中运行提交检查,以验证您使用的命令和变量是否有效。对您的配置感到满意时,请提交候选配置,使其在设备上处于活动状态。这些命令如下所示。您还可以通过键入 run show configuration来查看您的配置。

EX 交换机和 QFX 交换机的限制:

  • EX9204、EX9208 和 EX9214 交换机:

    • 不支持通过 RADIUS/802.1X 配置的 SGT。

    • 从 Junos OS 24.2R1 版开始,开始支持 /32 路由的标记传播和入口端点上的策略实施。

    • 从 Junos OS 24.2R1 版开始,开始支持使用 EVPN 5 类通告的 IP 前缀路由的标记传播。

    • 不支持 GBP UFT 配置文件。

  • EX4400 和 QFX5120 平台的唯一标记数量限制为 1K。

  • interface EX4100 交换机不支持和 VLAN GBP 匹配。

  • 不支持基于 IP 的组播 GBP 标记。

  • 基于 IP 的 GBP 不适用于第 2 层交换流,基于 MAC 的 GBP 不适用于接入接入的第 3 层路由流。

  • 配置基于接口的 GBP 时,不支持 IPACL。

  • 监管器和计数操作仅支持基于 MAC 和基于 IP 的 GBP 策略条目。

  • 服务提供商样式的逻辑接口不支持基于 VLAN 的 GBP。

  • GBP 标记分配过滤器不支持计数器选项。

  • GBP 过滤器的不同匹配标准(MAC、接口和接口 + VLAN)不能属于同一个过滤器。

GBP Junos OS 21.1R1 及更高版本

为 RADIUS 服务器分配 SGT

在此示例中,我们在 RADIUS 服务器上配置 SGT,然后在 EX4400 上使用 802.1X 访问控制来接收它们。RADIUS 服务器通常在园区环境中用于访问控制,例如,用于管理 VLAN 的分配。

为了适应在 RADIUS 服务器上使用 SGT,我们需要利用 AAA 服务框架支持的供应商特定属性 (VSA)(这些 VSA 作为标准 RADIUS 请求回复消息的一部分进行传输,并提供内置扩展来处理特定于实施的信息,例如我们的 SGT)。RADIUS 服务器上的确切语法因身份验证方案是基于 MAC 还是 EAP 而有所不同。对于基于 MAC 的客户端,配置如下所示:

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

从 Junos 21.1R1 版开始,EX4400 交换机引入了新的匹配条件以用于 VXLAN-GBP,该条件允许防火墙识别由 RADIUS 服务器传递并插入到 VXLAN 标头中的 SGT 标记。

您可以在以下代码示例中看到其工作原理。GBP 防火墙策略基于源和目标 GBP 标记进行构建。源标记是传入数据包中 VXLAN 标头中的 16 位字段,而目标标记根据配置的标记分配在出口隧道端点派生。

假设我们有一个出口端点,配置如下所示。来自源 MAC 地址 00:01:02:03:04:10:10 的数据包被分配为标记 100,来自源 MAC 地址 00:01:02:03:04:20:20 的数据包被分配为 200。

对于 GBP 标记 100 且目标 MAC 地址为 00:01:02:03:04:10:10的数据包,目标组标记 (gbp-dst-tag) 将为 100,并且将在期限 t10-100上匹配。同样,对于具有 GBP 标记 100 且目标 MAC 地址为 00:01:02:03:04:20:20的数据包,目标组标记将为 200,并且它将匹配术语 t10-200

用于将源 MAC 地址映射到源标记的相同标记分配也用于将目标 MAC 地址映射到目标标记。这对于基于接口的分配也是如此。

让我们看一下另一个代码示例,这次使用 300 的 GBP 源标记,并使用数据包入口接口 ge-0/0/30.0。如下图所示,GBP 源标记 300 已分配且在出口方向上,而 GBP 也是 GBP 目标组标记。

请注意,您需要在出换机上配置 GBP 防火墙过滤器,因为入换机无法知道出换机使用了哪些组标记。此外,您必须在入口节点上全局启用 VXLAN-GBP,以便它可以对匹配项执行查找,并在 VXLAN 标头和出口节点上添加 SGT。使用此处显示的配置命令执行此操作:

在创建任何规则之前,通过为所有端点(用户和设备)和分配的 SGT 值创建表来组织方案会很有帮助。在这里,我们展示了一个这样的表,其值稍后将在矩阵中应用,可用于进一步简化逻辑并阐明您的规则。

表 15:端点及其 SGT 值

端点

分配的 SGT 值

正式雇员 (PE)

100

承包商 (CON)

200

保安人员 (SS)

300

安全摄像头 (CAM)

400

工程服务器 (ES)

500

RADIUS 服务器和 SGT、EX4400 和 VXLAN 数据包标头以及用于管理访问策略的中央防火墙过滤器之间的关系使得矩阵成为组织值的便捷方式。在下表中,我们在第一列下方列出用户角色,在第一行列出设备类型以创建访问矩阵。系统会为每个用户角色和设备类型分配一个 SGT,并且 RADIUS 配置已使用该信息进行更新。

此示例使用三种类型的员工:永久雇员 (PE)、承包商 (CON) 和保安人员 (SS)。它还使用两种类型的资源,Eng Server (ES) 和安全摄像头 (CAM)。我们使用 Y 表示允许访问,使用 N 表示访问被阻止时表示。在策略中创建各种防火墙规则时,该表可用作有用的资源,使访问映射简单明了。

表16:访问矩阵
  ES (新加坡 500) CAM (新加坡 400) PE (新加坡 100) CON (新加坡 200) SS (新加坡 300)
PE (新加坡 100) Y N Y Y N
CON (SGT 200) N N Y N N
不锈钢 (SGT 300) N Y N N Y

拓扑学

为简单起见,此示例中的所有配置均在运行 Junos OS 21.1R1 版的一台瞻博网络 EX4400 系列交换机上完成。交换机连接到 AAA 的 RADIUS 服务器。在此示例中,此交换机用作出口。回想一下,对于 SGT,您必须在出换机上定义防火墙,而通常在接入层的入口 VXLAN 网关上定义防火墙。

图 3:EX4400 交换机 VXLAN GBP on an EX4400 Switch上的 VXLAN GBP

要求

以下交换机上的 Junos OS 21.1R1 版本支持 VXLAN-GBP:EX4400-24P、EX4400-24T、EX4400-48F、EX4400-48P 和 EX4400-48T。在本例中,我们考虑使用 EX4400 交换机。

从 Junos 21.4R1 版开始,以下交换机也支持 VXLAN-GBP:QFX5120-32C、QFX5120-48T、QFX5120-48Y、QFX5120-48YM、EX4650 和 EX4650-48Y-VC。

配置

我们可以将基于 VXLAN-GBP 的分段所依据的事件顺序总结如下:

  • 用户登录到网络,并由 RADIUS 服务器(在该服务器上为所有端点配置 SGT)进行身份验证。
  • EX4400 使用防火墙过滤器,根据 802.1X 身份验证或 MAC 地址选择流量,然后为匹配的帧分配组标记。(对于经过 dot1x 身份验证的客户端,不需要静态防火墙配置)。其机制是使用防火墙执行的,如下所示:
  • 同样,使用防火墙过滤器的机制,根据 SGT 值评估通过 EX4400 的标记流量。要实现此功能,首先需要在交换机上启用 chassis forwarding-options vxlan-gbp-profile ,然后使用 gbp-dst-tag 和/或 gbp-src-tag 匹配条件编写防火墙规则,并将其包含在用于 GBP 微分段的出换机上的路由策略中。

为 VXLAN-GBP 配置独立的瞻博网络 EX4400 交换机

使用以下命令在沙盒环境中配置 VXLAN-GBP 分段。通常,您会在用作接入层(出口)VXLAN 网关的交换机上创建防火墙过滤规则,但为简单起见,我们将对防火墙过滤规则和 RADIUS 服务器使用相同的独立 EX4400(EAP,此处)。我们在此示例中使用的值来自前面的表。

以下命令包括配置文件名称和 IP 地址等变量,必须调整这些变量以使其适合您的测试环境。

  1. 配置 RADIUS 服务器:
  2. 将物理端口配置为支持 RADIUS 身份验证:
  3. 在 RADIUS 服务器上设置 SGT 标签:
  4. 在交换机上启用 VXLAN-GBP:
  5. 创建利用 SGT 的防火墙过滤器规则(使用矩阵中组织的值):
  6. 在 Junos 中运行提交检查,以验证您使用的命令和变量是否有效。对您的配置感到满意时,请提交候选配置,使其在设备上处于活动状态。这些命令如下所示。您还可以通过键入 run show configuration来查看您的配置。