示例:在一个网络内使用基于组的策略进行微和VXLAN
总结VXLAN-GBP
概述
您可以实现微分段和宏观分段,例如,在采用基于组的策略 (GBP) 的 VXLAN架构中保护数据和资产安全。VXLAN-GBP 的工作原理是利用 VXLAN 标头中的保留字段用作可扩展组标记 (SGT),然后可在防火墙过滤器规则中使用此标记作为匹配条件。使用 SGT 比使用端口或 MAC 地址实现类似结果更为可靠。STS 可静态分配(通过按端口或 MAC 配置交换机),也可在 RADIUS 服务器上配置,在用户经过身份验证后通过 802.1X 推送至交换机。
VXLAN-GBP 启用的分段在园区VXLAN环境中特别有用,因为它为您提供了一种独立于底层网络拓扑创建网络访问策略的实践方法。它简化了网络应用程序和端点设备安全策略的设计和实施阶段。
您可找到有关 VXLAN-GBP 标准在 IEEE RFC、I-D.draft-smith-vxlan-group-policy 中的详细信息。出于此示例的目的,只需说VXLAN-GBP 利用 VXLAN 标头中的保留字段作为可扩展组标记,如插图所示。
VXLAN-GBP 支持的交换机
表 1 表提供了支持 VXLAN-GBP 的交换机的详细信息,这些交换机Junos提供时提供的支持版本。
Junos版本 | VXLAN-GBP 支持的交换机 |
---|---|
从版本 21.1R1 Junos OS 21.1R1 版本开始 |
EX4400-24P、EX4400-24T、EX4400-48F、EX4400-48P 和 EX4400-48T |
从版本 21.4R1 Junos OS 21.4R1 开始 |
QFX5120-32C、QFX5120-48T、QFX5120-48Y、QFX5120-48YM、EX4650 和 EX4650-48Y-VC |
使用一台RADIUS分配 STS
此示例将在一台RADIUS上配置 STS,然后使用 EX4400 上的 802.1X 接入控制来接收它们。RADIUS服务器通常用于园区环境进行访问控制,例如用于监管 VLAN 分配。
为了支持在 RADIUS 服务器上使用 STS,我们需要利用 AAA 服务框架支持的供应商特定属性 (VSA)(这些 VSA 作为标准 RADIUS 请求回复消息的一部分进行传递,并提供处理实施特定信息(如我们的 STS)的内置扩展。该服务器上的确切语法RADIUS取决于身份验证方案是基于 MAC 还是 EAP。对于基于 MAC 的客户端,配置如下所示:
001094001199 Cleartext-Password := "001094001199" Juniper-Switching-Filter = "apply action gbp-tag 100"
对于基于 EAP 的客户端,SGT 在认证RADIUS从服务器推送。配置如下所示:
PermEmp01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 100"
从 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。
set firewall family ethernet-switching filter assign_tag term tag100 from source-mac-address 00:01:02:03:04:10:10 set firewall family ethernet-switching filter assign_tag term tag100 then gbp-src-tag 100 set firewall family ethernet-switching filter assign_tag term tag200 from source-mac-address 00:01:02:03:04:20:20 set firewall family ethernet-switching filter assign_tag term tag200 then gbp-src-tag 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 。
set firewall family ethernet-switching filter gbp-policy term t10-100 from gbp-src-tag 100 set firewall family ethernet-switching filter gbp-policy term t10-100 from gbp-dst-tag 100 set firewall family ethernet-switching filter gbp-policy term t10-100 then accept set firewall family ethernet-switching filter gbp-policy term t10-200 from gbp-src-tag 100 set firewall family ethernet-switching filter gbp-policy term t10-200 from gbp-dst-tag 200 set firewall family ethernet-switching filter gbp-policy term t10-200 then discard
用于将源源路由映射至MAC 地址标记的相同标记分配也用于将目标标记MAC 地址目标标记。这一点对于基于端口的分配也是如此。
我们再看一个代码示例,这次使用 300 的 GBP 源标记,并且使用数据包入口接口 ge-0/0/30.0
。如下所述,将分配 GBP 源标记 300 并朝着出口方向分配,300 也是 GBP 目标组标记。
set firewall family ethernet-switching filter assign_tag term tag300 from interface ge-0/0/30.0 set firewall family ethernet-switching filter assign_tag term tag300 then gbp-src-tag 300
请注意,您需要在出口交换机上配置 GBP 防火墙过滤器,因为入口交换机无法知道出口交换机使用了哪些组标记。此外,您必须在入口节点上全局启用 VXLAN-GBP,以便它可以执行匹配项的查找,在 VXLAN 标头以及出口节点上添加 SGT。使用此处显示的配置命令执行以下操作:
set chassis forwarding-options vxlan-gbp-profile
创建任何规则之前,为所有端点(用户和设备)和分配的 SGT 值创建一个表,从而有助于组织方案。在这里,我们显示了一个这样的表,其值稍后将在矩阵中应用,可用于进一步简化逻辑和阐明规则。
端点 |
分配的 SGT 值 |
---|---|
永久员工 (PE) |
100 |
承包商 (CON) |
200 |
安全人员 (SS) |
300 |
安全 Cam (CAM) |
400 |
工程服务器 (ES) |
500 |
RADIUS 服务器与 STS、EX4400 和 VXLAN 数据包标头以及用于管理接入策略的中央防火墙过滤器之间的关系使矩阵成为了一种便于组织值的方式。在下表中,我们将第一列下行的用户角色和设备类型列出,以创建访问矩阵。系统为每个用户角色和设备类型分配一个 SGT,RADIUS配置已更新为信息。
此示例使用三种类型的员工、永久员工 (PE)、承包商 (CON) 和安全人员 (SS)。它还使用两种类型的资源,即 Eng Server (ES) 和安全摄像机 (CAM)。我们使用 Y 表示允许访问,而 N 表示当访问被阻止时。在策略中创建各种防火墙规则时,该表可用作有用的资源,而且使访问映射变得简单而清晰。
ES (SGT 500) | CAM (SGT 400) | PE (SGT 100) | CON (SGT 200) | SS (SGT 300) | |
---|---|---|---|---|---|
PE (SGT 100) | Y | N | Y | Y | N |
CON (SGT 200) | N | N | Y | N | N |
SS (SGT 300) | N | Y | N | N | Y |
拓扑
出于简单性考虑,此示例中所有配置均在运行版本 21.1R1 瞻博网络 EX4400 系列交换机Junos OS完成。交换机连接到另一台RADIUS,AAA。此示例中,此交换机将用作出口。提醒一下,对于 STS,您必须在出口交换机上定义防火墙,而您一般在接入层的入口VXLAN网关上定义防火墙。

要求
以下交换机上的 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(为所有端点配置 SG)进行验证。
- 通过使用防火墙过滤器,EX4400 基于 802.1X 身份验证或 MAC 地址 选择流量,然后将组标记分配至匹配帧。(对于 dot1x 身份验证的客户端,不需要静态防火墙配置)。此技术采用防火墙策略执行,如 这里所示:
set firewall family ethernet-switching filter name term name from source-mac-address MAC-Addr
set firewall family ethernet-switching filter name term name then gbp-src-tag PE-GRP
- 通过 EX4400 的标记信息流将基于 SGT 值进行评估,同样使用防火墙过滤器技术。为此,您首先需要在交换机上启用,然后使用
chassis forwarding-options vxlan-gbp-profile
gbp-dst-tag
和/或匹配条件编写防火墙规则,并包括在用于gbp-src-tag
GBP 微分类出口交换机的路由策略中。
为 VXLAN-GBP 的 EX4400 瞻博网络独立交换机
使用以下命令在沙盒VXLAN GBP 分段。一般来说,您可以在交换机上创建用作接入层的 (出口) VXLAN 网关的防火墙过滤器规则,但为了简单性,我们会对防火墙过滤器规则和 RADIUS 服务器(此处为 EAP)使用相同的独立 EX4400。此示例中使用的值来自之前的表。
以下命令包括配置文件名称和 IP 地址等变量,这些变量必须进行调整才能适合您的测试环境。
- 配置 radius 服务器:
set groups dot1xgbp access radius-server 10.204.96.102 port 1812 set groups dot1xgbp access radius-server 10.204.96.102 secret “secret key" set groups dot1xgbp access profile radius_profile_dev12 authentication-order radius set groups dot1xgbp access profile radius_profile_dev12 radius authentication-server 10.204.96.102 set groups dot1xgbp access profile radius_profile_dev12 radius accounting-server 10.204.96.102 set groups dot1xgbp access profile radius_profile_dev12 accounting order radius
- 配置物理端口以支持RADIUS认证:
set groups dot1xgbp protocols dot1x authenticator authentication-profile-name radius_profile_dev12 set groups dot1xgbp protocols dot1x authenticator interface xe-0/0/46.0 supplicant multiple set groups dot1xgbp protocols dot1x authenticator interface xe-0/0/46.0 mac-radius
- 在多服务器上设置 SGT RADIUS:
Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 100" Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 200" SecurityStaff01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 300" SecurityCam01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 400" EngServer01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 500"
- 在VXLAN上启用 VXLAN-GBP:
set chassis forwarding-options vxlan-gbp-profile
- 创建利用 STS 的防火墙过滤器规则(使用矩阵中组织的值):
set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-pe from gbp-src-tag 100 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-pe from gbp-dst-tag 100 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-pe then accept set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-pe then count PE-PE set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-es from gbp-src-tag 100 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-es then accept set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-es then count PE-ES set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-cam from gbp-src-tag 100 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-cam then discard set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-cam then count PE-CAM set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-cam from gbp-src-tag 200 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-cam then discard set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-cam then count CON-CAM set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-es from gbp-src-tag 200 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-es then discard set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-es then count CON-ES set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-cam from gbp-src-tag 300 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-cam then accept set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-cam then count SS-CAM set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-es from gbp-src-tag 300 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-es then discard set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-es then count SS-ES set apply-groups gbp-policy
- 在 Junos 运行提交检查以验证您所使用的命令和变量是否有效。满足配置要求时,提交候选配置,使其在设备上处于活动状态。这些命令显示如下。您也可通过键入 来查看配置
run show configuration
。commit check configuration check succeeds commit commit complete