为 802.1X 或 MAC RADIUS 身份验证启用的接口
EX 系列交换机支持端口防火墙过滤器。端口防火墙过滤器配置在单个 EX 系列交换机上,但为了使其在整个企业中运行,必须在多台交换机上配置。为了减少在多个交换机上配置同一端口防火墙过滤器的需求,您可以使用 RADIUS 服务器属性在 RADIUS 服务器上集中应用过滤器。在设备通过 802.1X 成功进行身份验证后,将应用这些条款。有关更多信息,请阅读本主题。
示例:使用 EX 系列交换机上的 RADIUS 服务器属性,将防火墙过滤器应用于经过 802.1X 身份验证的请求方
您可以使用 RADIUS 服务器属性和端口防火墙过滤器,将条款集中应用于连接到企业中 EX 系列交换机的多个请求方(终端设备)。在设备通过 802.1X 成功进行身份验证后,将应用这些条款。如果在使用 802.1X 身份验证对终端设备进行身份验证后修改了防火墙过滤器配置,则必须终止并重新建立已建立的 802.1X 身份验证会话,防火墙过滤器更改才会生效。
EX 系列交换机支持端口防火墙过滤器。端口防火墙过滤器配置在单个 EX 系列交换机上,但为了使其在整个企业中运行,必须在多台交换机上配置。为了减少在多个交换机上配置同一端口防火墙过滤器的需求,您可以使用 RADIUS 服务器属性在 RADIUS 服务器上集中应用过滤器。
以下示例使用 FreeRADIUS 在 RADIUS 服务器上应用端口防火墙过滤器。有关配置服务器的信息,请参阅 RADIUS 服务器随附的文档。
此示例介绍如何使用术语配置端口防火墙过滤器,创建计数器来计算请求方的数据包数,将过滤器应用于 RADIUS 服务器上的用户配置文件,以及显示计数器以验证配置:
要求
此示例使用以下软件和硬件组件:
此示例也适用于 QFX5100 交换机。
适用于 EX 系列交换机的 Junos OS 9.3 或更高版本
一台充当验证器端口访问实体 (PAE) 的 EX 系列交换机。验证器 PAE 上的端口形成一个控制门,用于阻止进出请求方的所有流量,直至请求方通过身份验证。
一台 RADIUS 身份验证服务器。身份验证服务器充当后端数据库,包含有权连接到网络的主机(请求方)的证书信息。
将服务器连接到交换机之前,请确保您具备以下条件:
在交换机和 RADIUS 服务器之间建立连接。请参阅 示例:将适用于 802.1X 的 RADIUS 服务器连接到 EX 系列交换机。
在交换机上配置了 802.1X 身份验证,接口 ge-0/0/2 的请求方模式设置为 多个。请参阅 配置 802.1X 接口设置(CLI 过程) 和 示例:在 EX 系列交换机上为单请求方或多请求方配置设置 802.1X。
在 RADIUS 身份验证服务器上配置的用户(在此示例中,拓扑中请求方 1 和请求方 2 的用户配置文件已在 RADIUS 服务器上修改)。
概述和拓扑
将接口上的 802.1X 配置设置为 多 请求方模式时,您可以通过将过滤器集中添加到 RADIUS 服务器,将通过 EX 系列交换机上的 Junos OS CLI 配置的单端口防火墙过滤器应用于任意数量的终端设备(请求方)。一个接口只能应用单个过滤器;但是,过滤器可以包含用于单独终端设备的多个术语。
有关防火墙过滤器的详细信息,请参阅 EX 系列交换机的防火墙过滤器概述或防火墙过滤器概述(QFX 系列)。
使用 802.1X 成功对设备进行身份验证后,RADIUS 服务器属性将应用于终端设备连接的端口。要对终端设备进行身份验证,交换机会将终端设备的凭据转发至 RADIUS 服务器。RADIUS 服务器会将凭据与位于 RADIUS 服务器上请求方用户配置文件中的请求方的预配置信息进行匹配。如果找到匹配项,RADIUS 服务器将指示交换机打开与终端设备的接口。然后,流量将流出和流向 LAN 上的终端设备。在端口防火墙过滤器中配置并使用 RADIUS 服务器属性添加到终端设备用户配置文件中的进一步说明进一步定义了向终端设备授予的访问权限。802.1X 身份验证完成后,端口防火墙过滤器中配置的过滤术语将应用于终端设备连接的端口。
如果在使用 802.1X 成功验证终端设备后修改端口防火墙过滤器,则必须终止并重新建立 802.1X 身份验证会话,防火墙过滤器配置更改才会生效。
拓扑结构
图 1 显示了此示例中使用的拓扑。RADIUS 服务器连接到访问端口 ge-0/0/10 上的 EX4200 交换机。两个终端设备(请求方)正在访问接口 ge-0/0/2 上的 LAN。请求方 1 的 MAC 地址为 00:50:8b:6f:60:3a。请求方 2 的 MAC 地址为 00:50:8b:6f:60:3b。
此数字也适用于 QFX5100 交换机。
拓扑
表 1 介绍了此拓扑中的组件。
| 属性 | 设置 |
|---|---|
交换机硬件 |
EX4200 接入交换机,24 个千兆以太网端口:16 个非 PoE 端口和 8 个 PoE 端口。 |
一台 RADIUS 服务器 |
地址为 10.0.0.100 的后端数据库连接到端口 ge-0/0/10 的交换机。 |
连接到接口 ge-0/0/2 上的交换机的 802.1X 请求方 |
|
要应用于 RADIUS 服务器的端口防火墙过滤器 |
过滤器1 |
计数器 |
counter1 计算来自请求方 1 的数据包, counter2 计算来自请求方 2 的数据包。 |
监管器 |
监管器 P1 |
RADIUS 服务器上的用户配置文件 |
|
在此示例中,您将配置一个名为 filter1 的端口防火墙过滤器。过滤器包含将基于终端设备的 MAC 地址应用于终端设备的术语。配置过滤器时,还会配置计数器 counter1 和 counter2。来自每个终端设备的数据包都会被计算在内,以帮助您验证配置是否正常工作。监管器 p1 根据 和 discard 参数exceeding的值限制流量速率。然后,检查以查看 RADIUS 服务器属性在 RADIUS 服务器上是否可用,并将过滤器应用于 RADIUS 服务器上每个终端设备的用户配置文件。最后,通过显示两个计数器的输出来验证配置。
配置端口防火墙过滤器和计数器
过程
CLI 快速配置
要使用请求方 1 和请求方 2 的术语快速配置端口防火墙过滤器,并为每个请求方创建并行计数器,请复制以下命令并将其粘贴到交换机终端窗口中:
[edit] set firewall family ethernet-switching filter filter1 term supplicant1 from source-mac-address 00:50:8b:6f:60:3a set firewall family ethernet-switching filter filter1 term supplicant2 from source-mac-address 00:50:8b:6f:60:3b set firewall policer p1 if-exceeding bandwidth-limit 1m set firewall policer p1 if-exceeding burst-size-limit 1k set firewall policer p1 then discard set firewall family ethernet-switching filter filter1 term supplicant1 then count counter1 set firewall family ethernet-switching filter filter1 term supplicant1 then policer p1 set firewall family ethernet-switching filter filter1 term supplicant2 then count counter2
分步程序
要在交换机上配置端口防火墙过滤器和计数器,请执行以下操作:
根据每个终端设备的 MAC 地址,为每个终端设备配置一个端口防火墙过滤器(此处为 MAC 地址),其中包含术语:
[edit firewall family ethernet-switching] user@switch# set filter filter1 term supplicant1 from source-mac-address 00:50:8b:6f:60:3a user@switch# set filter filter1 term supplicant2 from source-mac-address 00:50:8b:6f:60:3b
设置监管器定义:
[edit] user@switch# set firewall policer p1 if-exceeding bandwidth-limit 1m user@switch# set firewall policer p1 if-exceeding burst-size-limit 1k user@switch# set firewall policer p1 then discard
创建两个计数器,用于计算每个终端设备的数据包数,以及一个限制流量速率的监管器:
[edit firewall family ethernet-switching] user@switch# set filter filter1 term supplicant1 then count counter1 user@switch# set filter filter1 term supplicant1 then policer p1 user@switch# set filter filter1 term supplicant2 then count counter2
结果
显示配置结果:
user@switch> show configuration
firewall {
family ethernet-switching {
filter filter1 {
term supplicant1 {
from {
source-mac-address {
00:50:8b:6f:60:3a;
}
}
then count counter1;
then policer p1;
}
term supplicant2 {
from {
source-mac-address {
00:50:8b:6f:60:3b;
}
}
then count counter2;
}
}
}
}
policer p1 {
if-exceeding {
bandwidth-limit 1m;
burst-size-limit 1k;
}
then discard;
}
将端口防火墙过滤器应用于 RADIUS 服务器上的请求用户配置文件
过程
分步程序
要验证 RADIUS 服务器属性 过滤器 ID 是否在 RADIUS 服务器上,并将过滤器应用于用户配置文件:
在 RADIUS 服务器上显示字典 dictionary.rfc2865 ,并验证属性 Filter-ID 是否在字典中:
[root@freeradius]# cd usr/share/freeradius/dictionary.rfc2865
关闭字典文件。
显示要应用过滤器的终端设备的本地用户配置文件(此处的用户配置文件称为 supplicant1 和 supplicant2):
[root@freeradius]# cat /usr/local/etc/raddb/users
输出显示:
supplicant1 Auth-Type := EAP, User-Password == "supplicant1" Tunnel-Type = VLAN, Tunnel-Medium-Type = IEEE-802, Tunnel-Private-Group-Id = "1005" supplicant2 Auth-Type := EAP, User-Password == "supplicant2" Tunnel-Type = VLAN, Tunnel-Medium-Type = IEEE-802, Tunnel-Private-Group-Id = "1005"通过向每个配置文件添加 Filter-Id = “filter1” 行,将筛选器应用于两个用户配置文件,然后关闭文件:
[root@freeradius]# cat /usr/local/etc/raddb/users
将行粘贴到文件中后,文件如下所示:
supplicant1 Auth-Type := EAP, User-Password == "supplicant1" Tunnel-Type = VLAN, Tunnel-Medium-Type = IEEE-802, Tunnel-Private-Group-Id = "1005", Filter-Id = "filter1" supplicant2 Auth-Type := EAP, User-Password == "supplicant2" Tunnel-Type = VLAN, Tunnel-Medium-Type = IEEE-802, Tunnel-Private-Group-Id = "1005", Filter-Id = "filter1"
验证
验证过滤器是否已应用于请求方
目的
在接口 ge-0/0/2 上对终端设备进行身份验证后,验证是否已在交换机上配置过滤器,并包含两个请求方的结果:
行动
user@switch> show dot1x firewall Filter: dot1x-filter-ge-0/0/2 Counters counter1_dot1x_ge-0/0/2_user1 100 counter2_dot1x_ge-0/0/2_user2 400
意义
命令输出 show dot1x firewall 显示 counter1 和 counter2。来自 User_1 的数据包使用 counter1 计数,来自用户 2 的数据包使用 counter2 计数。输出显示两个计数器的数据包递增。该过滤器已应用于两个终端设备。
示例:将防火墙过滤器应用于启用了 802.1X 或 MAC RADIUS 身份验证的接口上的多个请求方
在受支持的交换机上,应用于启用了 802.1X 或 MAC RADIUS 身份验证的接口的防火墙过滤器将与从 RADIUS 服务器发送到交换机的按用户策略动态组合。交换机使用内部逻辑将接口防火墙过滤器与 RADIUS 服务器中的用户策略动态组合在一起,并为在接口上进行身份验证的多个用户或无响应主机中的每一个创建个性化策略。
此示例说明如何为启用 802.1X 的接口上的多个请求方创建动态防火墙过滤器(此示例中显示的相同原则适用于启用了 MAC RADIUS 身份验证的接口):
要求
此示例使用以下硬件和软件组件:
交换机支持的 Junos OS 版本
支持的交换机
一台 RADIUS 身份验证服务器。身份验证服务器充当后端数据库,包含有权连接到网络的主机(请求方)的证书信息。
在将防火墙过滤器应用于用于多个请求方的接口之前,请确保您已:
在交换机和 RADIUS 服务器之间建立连接。请参阅 示例:将适用于 802.1X 的 RADIUS 服务器连接到 EX 系列交换机。
在交换机上配置了 802.1X 身份验证,接口 ge-0/0/2 的身份验证模式设置为 多个。请参阅 配置 802.1X 接口设置(CLI 过程) 和 示例:在 EX 系列交换机上为单请求方或多请求方配置设置 802.1X。
在 RADIUS 身份验证服务器上配置的用户。
概述和拓扑
拓扑结构
当接口上的 802.1X 配置设置为多请求方模式时,系统会将接口防火墙过滤器与身份验证期间从 RADIUS 服务器发送到交换机的用户策略动态组合在一起,并为每个用户创建单独的期限。由于接口上经过身份验证的每个用户都有单独的术语,因此,如本例所示,您可以使用计数器查看在同一接口上进行身份验证的各个用户的活动。
在某个接口上对新用户(或无响应主机)进行身份验证时,系统会将一个术语添加到与该接口关联的防火墙过滤器中,并且每个用户的术语(策略)将与用户的 MAC 地址相关联。每个用户的术语基于 RADIUS 服务器上设置的用户特定过滤器和接口上配置的过滤器。例如,如 图 2 所示,当 EX 系列交换机对用户 1 进行身份验证时,系统会创建防火墙过滤器 dynamic-filter-example。对用户 2 进行身份验证后,系统会将另一个术语添加到防火墙过滤器中,依此类推。
更新动态过滤器
这是内部过程的概念模型 — 您无法访问或查看动态过滤器。
如果在对用户(或无响应主机)进行身份验证后修改了接口上的防火墙过滤器,则除非对用户进行重新身份验证,否则修改不会反映在动态过滤器中。
在此示例中,您将配置一个防火墙过滤器,以对在接口 ge-0/0/2 上对文件服务器(位于 192.0.2.16/28 上)端点发出的请求进行计数,并设置监管器定义以对流量进行速率限制。 图 3 显示了此示例的网络拓扑。
配置
要在支持 802.1X 的接口上为多个请求方配置防火墙过滤器:
在具有多个请求方的接口上配置防火墙过滤器
CLI 快速配置
要在支持 802.1X 的接口上为多个请求方快速配置防火墙过滤器,请将以下命令复制粘贴到交换机终端窗口中:
[edit]
set protocols dot1x authenticator interface ge-0/0/2 supplicant multiple
set firewall family ethernet-switching filter filter1 term term1 from destination-address 192.0.2.16/28
set firewall policer p1 if-exceeding bandwidth-limit 1m
set firewall policer p1 if-exceeding burst-size-limit 1k
set firewall family ethernet-switching filter filter1 term term1 then count counter1
set firewall family ethernet-switching filter filter1 term term2 then policer p1
分步程序
要在为多个请求方启用的接口上配置防火墙过滤器:
配置接口 ge-0/0/2 以进行多请求方模式身份验证:
[edit protocols dot1x] user@switch# set authenticator interface ge-0/0/2 supplicant multiple
设置监管器定义:
user@switch# show policer p1 |display set set firewall policer p1 if-exceeding bandwidth-limit 1m set firewall policer p1 if-exceeding burst-size-limit 1k set firewall policer p1 then discard
配置防火墙过滤器来计算来自每个用户的数据包,以及配置用于限制流量速率的监管器。当每个新用户在多请求方接口上都经过身份验证时,此过滤器术语将包含在为用户动态创建的术语中:
[edit firewall family ethernet-switching] user@switch# set filter filter1 term term1 from destination-address 192.0.2.16/28 user@switch# set filter filter1 term term1 then count counter1 user@switch# set filter filter1 term term2 then policer p1
结果
检查配置结果:
user@switch> show configuration
firewall {
family ethernet-switching {
filter filter1 {
term term1 {
from {
destination-address {
192.0.2.16/28;
}
}
then count counter1;
term term2 {
from {
destination-address {
192.0.2.16/28;
}
}
then policer p1;
}
}
}
policer p1 {
if-exceeding {
bandwidth-limit 1m;
burst-size-limit 1k;
}
then discard;
}
}
protocols {
dot1x {
authenticator
interface ge-0/0/2 {
supplicant multiple;
}
}
}
验证
要确认配置工作正常,请执行以下任务:
验证具有多个请求方的接口上的防火墙过滤器
目的
验证防火墙过滤器是否在具有多个请求方的接口上正常运行。
行动
使用一个在接口上进行身份验证的用户检查结果。在这种情况下,用户在 ge-0/0/2 上进行身份验证:
user@switch> show dot1x firewall Filter: dot1x_ge-0/0/2 Counters counter1_dot1x_ge-0/0/2_user1 100
当第二个用户 User2 在同一接口 ge-0/0/2 上通过身份验证时,可以验证过滤器是否包含在接口上进行身份验证的两个用户的结果:
user@switch>
show dot1x firewallFilter: dot1x-filter-ge-0/0/0 Counters counter1_dot1x_ge-0/0/2_user1 100 counter1_dot1x_ge-0/0/2_user2 400
意义
命令输出显示 show dot1x firewall 的结果反映了使用每个新用户的身份验证创建的动态过滤器。用户 1 访问位于指定目标地址的文件服务器 100 次,而用户 2 访问同一文件服务器 400 次。
示例:在支持 ELS 的 EX 系列交换机上向启用了 802.1X 或 MAC RADIUS 身份验证的接口上的多个请求方应用防火墙过滤器
此示例将 Junos OS 用于支持增强型第 2 层软件 (ELS) 配置样式的 EX 系列交换机。如果交换机运行的软件不支持 ELS,请参阅 示例:将防火墙过滤器应用于启用了 802.1X 或 MAC RADIUS 身份验证的接口上的多个请求方。有关 ELS 的详细信息,请参阅 使用增强型第 2 层软件 CLI。
在 EX 系列 交换机上,应用于已启用 802.1X 或 MAC RADIUS 身份验证的接口的防火墙过滤器将与从 RADIUS 服务器发送到交换机的按用户策略动态组合。交换机使用内部逻辑将接口防火墙过滤器与 RADIUS 服务器中的用户策略动态组合在一起,并为在接口上进行身份验证的多个用户或无响应主机中的每一个创建个性化策略。
此示例说明如何为启用 802.1X 的接口上的多个请求方创建动态防火墙过滤器(此示例中显示的相同原则适用于启用了 MAC RADIUS 身份验证的接口):
要求
此示例使用以下软件和硬件组件:
此示例也适用于 QFX5100 交换机。
适用于 EX 系列交换机的 Junos OS 13.2 或更高版本
一台支持 ELS 的 EX 系列交换机
一台 RADIUS 身份验证服务器。身份验证服务器充当后端数据库,包含有权连接到网络的主机(请求方)的证书信息。
在将防火墙过滤器应用于用于多个请求方的接口之前,请确保您已:
在交换机和 RADIUS 服务器之间建立连接。请参阅 示例:将适用于 802.1X 的 RADIUS 服务器连接到 EX 系列交换机。
在交换机上配置了 802.1X 身份验证,接口 ge-0/0/2 的身份验证模式设置为
multiple。请参阅 配置 802.1X 接口设置(CLI 过程) 和 示例:在 EX 系列交换机上为单请求方或多请求方配置设置 802.1X。在 RADIUS 身份验证服务器上配置的用户。
概述和拓扑
拓扑结构
当接口上的 802.1X 配置设置为多请求方模式时,系统会将接口防火墙过滤器与身份验证期间从 RADIUS 服务器发送到交换机的用户策略动态组合在一起,并为每个用户创建单独的期限。由于接口上经过身份验证的每个用户都有单独的术语,因此,如本例所示,您可以使用计数器查看在同一接口上进行身份验证的各个用户的活动。
在某个接口上对新用户(或无响应主机)进行身份验证时,系统会将一个术语添加到与该接口关联的防火墙过滤器中,并且每个用户的术语(策略)将与用户的 MAC 地址相关联。每个用户的术语基于 RADIUS 服务器上设置的用户特定过滤器和接口上配置的过滤器。例如,如 图 4 所示,当 EX 系列交换机对用户 1 进行身份验证时,系统会向防火墙过滤器添加一个术语 dynamic-filter-example。对用户 2 进行身份验证后,系统会将另一个术语添加到防火墙过滤器中,依此类推。
此数字也适用于 QFX5100 交换机。
更新动态过滤器
这是内部过程的概念模型 — 您无法访问或查看动态过滤器。
如果在对用户(或无响应主机)进行身份验证后修改了接口上的防火墙过滤器,则除非对用户进行重新身份验证,否则修改不会反映在动态过滤器中。
在此示例中,您将配置一个防火墙过滤器,以对每个在接口 ge-0/0/2 上对文件服务器(位于子网 192.0.2.16/28)发出的端点请求进行计数,并设置监管器定义以对流量进行速率限制。 图 5 显示了此示例的网络拓扑。
配置
在具有多个请求方的接口上配置防火墙过滤器
CLI 快速配置
要在支持 802.1X 的接口上为多个请求方快速配置防火墙过滤器,请将以下命令复制粘贴到交换机终端窗口中:
[edit]
set firewall family ethernet-switching filter filter1 term term1 from ip-destination-address 192.0.2.16/28
set firewall family ethernet-switching filter filter1 term term2 from ip-destination-address 192.0.2.16/28
set firewall policer p1 if-exceeding bandwidth-limit 1m
set firewall policer p1 if-exceeding burst-size-limit 1500
set firewall policer p1 then discard
set firewall family ethernet-switching filter filter1 term term1 then count counter1
set firewall family ethernet-switching filter filter1 term term2 then policer p1
分步程序
要在为多个请求方启用的接口上配置防火墙过滤器:
设置监管器定义:
user@switch# show policer p1 |display set set firewall policer p1 if-exceeding bandwidth-limit 1m set firewall policer p1 if-exceeding burst-size-limit 1500 set firewall policer p1 then discard
配置防火墙过滤器来计算来自每个用户的数据包,以及配置用于限制流量速率的监管器。当每个新用户在多请求方接口上都经过身份验证时,此过滤器术语将包含在为用户动态创建的术语中:
[edit firewall family ethernet-switching] user@switch# set filter filter1 term term1 from ip-destination-address 192.0.2.16/28 user@switch# set filter filter1 term term2 from ip-destination-address 192.0.2.16/28 user@switch# set filter filter1 term term1 then count counter1 user@switch# set filter filter1 term term2 then policer p1
结果
检查配置结果:
user@switch> show configuration
firewall {
family ethernet-switching {
filter filter1 {
term term1 {
from {
ip-destination-address {
192.0.2.16/28;
}
}
then count counter1;
term term2 {
from {
ip-destination-address {
192.0.2.16/28;
}
}
then policer p1;
}
}
}
policer p1 {
if-exceeding {
bandwidth-limit 1m;
burst-size-limit 1500;
}
then discard;
}
}
protocols {
dot1x {
authenticator
interface ge-0/0/2 {
supplicant multiple;
}
}
}
验证
验证具有多个请求方的接口上的防火墙过滤器
目的
验证防火墙过滤器是否在具有多个请求方的接口上正常运行。
行动
使用一个在接口上进行身份验证的用户检查结果。在这种情况下,用户 1 在 ge-0/0/2 上进行身份验证:
user@switch> show dot1x firewall Filter: dot1x_ge-0/0/2 Counters counter1_dot1x_ge-0/0/2_user1 100
当第二个用户(用户 2)在同一接口 ge-0/0/2 上通过身份验证时,可以验证过滤器是否包含在接口上进行身份验证的两个用户的结果:
user@switch>
show dot1x firewallFilter: dot1x-filter-ge-0/0/0 Counters counter1_dot1x_ge-0/0/2_user1 100 counter1_dot1x_ge-0/0/2_user2 400
意义
命令输出显示 show dot1x firewall 的结果反映了使用每个新用户的身份验证创建的动态过滤器。用户 1 访问位于指定目标地址 100 的文件服务器时间,而用户 2 访问相同的文件服务器 400 时间。