简介
本文档说明如何配置接入点(AP)身份验证策略。此功能确保只有授权的接入点(AP)能够加入Catalyst 9800无线LAN控制器。本文档不涉及网状(1500系列)AP的情况,这些AP需要MAC过滤器条目来加入控制器,但不遵循典型的AP授权流程(请参阅参考)。
背景信息
要授权接入点(AP),需要根据具有9800无线局域网控制器的本地数据库或外部远程身份验证拨入用户服务(RADIUS)服务器授权AP的以太网MAC地址。
先决条件
要求
Cisco 建议您了解以下主题:
- 9800 WLC
- 命令行界面(CLI)访问无线控制器
使用的组件
9800 WLC v16.12
AP 1810W
AP 1700
身份服务引擎(ISE)v2.2
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
配置
网络图

配置
MAC AP授权列表 — 本地
授权AP的MAC地址存储在9800 WLC的本地。
步骤1.创建本地授权凭证下载方法列表。
导航至Configuration > Security > AAA > AAA Method List > Authorization > + Add


步骤2.启用AP MAC授权。
导航至 Configuration > Security > AAA > AAA Advanced > AP Policy。 启用Authorize APs agons MAC(根据MAC授权AP),并选择在步骤1中创建的Authorization Method List(授权方法列表)。
步骤3.添加AP的以太网MAC地址。
导航至 Configuration > Security > AAA > AAA Advanced > Device Authentication > MAC Address > + Add


注意:AP的以太网MAC地址必须 在版本16.12的Web UI(xx:xx:xx:xx:xx:xx(或)xxx.xxx.xxxx(或)xx-xx-xx-xx-xx-xx)中输入这些格式之一。在版本17.3中,它们必须格式为xxxxxxxxxxxxxxx,且不带任何分隔符。CLI格式始终为xxxxxxxxxxxxxxxx(在16.12中,Web UI删除配置中的分隔符)。CSCv43870
将允许在更高版本的CLI或Web UI中使用任何格式。
CLI:
# config t
# aaa new-model
# aaa authorization credential-download <AP-auth> local
# ap auth-list authorize-mac
# ap auth-list method-list <AP-auth>
# username <aaaabbbbcccc> mac
MAC AP授权列表 — 外部RADIUS服务器
9800 WLC配置
授权AP的MAC地址存储在外部RADIUS服务器上,在本例中为ISE。
在ISE上,您可以将AP的MAC地址注册为用户名/密码或终端。在步骤中,系统将指导您选择使用哪种设置。
GUI:
步骤1.声明RADIUS服务器
导航至Configuration > Security > AAA > Servers / Groups > RADIUS > Servers > + Add,然后输入RADIUS服务器的信息。

如果您计划将来使用中央Web身份验证(或任何需要CoA的安全类型),请确保已启用对CoA的支持。

步骤2.将RADIUS服务器添加到RADIUS组
导航至Configuration > Security > AAA > Servers / Groups > RADIUS > Server Groups > + Add
要让ISE在用户名时对AP的MAC地址进行身份验证,请将MAC过滤保留为无。

要让ISE在终端将MAC过滤更改为mac时验证AP的MAC地址。

步骤3.创建授权凭证下载方法列表。
导航至Configuration > Security > AAA > AAA Method List > Authorization > + Add


步骤4.启用AP MAC授权。
导航至 Configuration > Security > AAA > AAA Advanced > AP Policy。 启用Authorize APs agons MAC(根据MAC授权AP),并选择在步骤3中创建的Authorization Method List(授权方法列表)。

CLI:
# config t
# aaa new-model
# radius server <radius-server-name>
# address ipv4 <radius-server-ip> auth-port 1812 acct-port 1813
# timeout 300
# retransmit 3
# key <shared-key>
# exit
# aaa group server radius <radius-grp-name>
# server name <radius-server-name>
# exit
# aaa server radius dynamic-author
# client <radius-server-ip> server-key <shared-key>
# aaa authorization credential-download <AP-auth> group <radius-grp-name>
# ap auth-list authorize-mac
# ap auth-list method-list <AP-ISE-auth>
ISE配置
步骤1.按照以下说明将9800 WLC添加到ISE
在ISE上声明9800 WLC
根据您想要如何对AP的MAC地址进行身份验证,请执行以下步骤:
配置USE以将MAC地址验证为终端
将ISE配置为将MAC地址验证为用户名/密码
将ISE配置为将MAC地址验证为终端
步骤2.(可选)为接入点创建身份组
由于9800在执行AP授权时不发送NAS端口类型属性(CSCvy74904
),ISE不将AP授权识别为MAB工作流,因此无法通过将AP的MAC地址放在终端列表中对AP进行身份验证,除非您修改MAB工作流程以不要求ISE上的NAS-PORT类型属性。
导航至Administrator > Network device profile并创建新设备配置文件。启用RADIUS,并为有线MAB添加service-type=call-check。您可以从思科原始配置文件复制其余内容,其思想是对有线MAB没有“nas-port-type”条件。

返回9800的网络设备条目,将其配置文件设置为新创建的设备配置文件。
导航至管理>身份管理>组>终端身份组> +添加。

选择名称并单击“提交”。

步骤3.将AP的以太网MAC地址添加到其终端身份组。
导航至工作中心>网络访问>身份>终端> +

输入所需信息。

步骤4.验证默认身份验证规则中使用的身份库包含内部终端。
A.导航至Policy > Authentication并记录身份库。

B.导航至管理>身份管理>身份源序列>身份名称。

C.确保内部终端属于它(如果不属于),请添加它。

将ISE配置为将MAC地址验证为用户名/密码
不建议使用此方法,因为它要求降低密码策略以允许使用与用户名相同的密码。但是,如果您无法修改网络设备配置文件,则可以采用此解决方法
步骤2.(可选)为接入点创建身份组
导航至管理>身份管理>组>用户身份组> +添加。

选择名称并单击“提交”。

步骤3.验证您当前的密码策略是否允许您将mac地址添加为用户名和密码。
导航至管理>身份管理>设置>用户身份验证设置>密码策略,并确保至少禁用以下选项:

注意:您还可以禁用Disable user account after XX days if password is not changed。由于这是MAC地址,因此密码不会更改。
步骤4.添加AP的以太网MAC地址。
导航至管理>身份管理>身份>用户> +添加

输入所需信息。

注: Name 和Login Passwordfield必须是AP的以太网MAC地址,所有小写和没有分隔符。
验证AP的授权策略
导航到Policy > Authorization,如图所示。

插入新规则,如图所示。

首先,为规则和存储接入点的身份组(AccessPoints)选择名称。如果决定将MAC地址验证为用户名密码,则选择User Identity Groups;如果选择将AP的MAC地址验证为终端,则选择Endpoint Identity Groups。

之后,选择执行授权过程的其他条件以符合此规则。在本示例中,如果授权进程使用服务类型呼叫检查且身份验证请求来自IP地址10.88.173.52,则授权进程符合此规则。

最后,选择分配给符合该规则的客户端的授权配置文件,单击Done并保存,如图所示。

注:已加入控制器的AP不会失去其关联。但是,如果在启用授权列表后,它们失去与控制器的通信并尝试重新加入,则它们会经过身份验证过程。如果其MAC地址未在本地列出或在RADIUS服务器中列出,则无法重新加入控制器。
验证
验证9800 WLC是否已启用AP身份验证列表
# show ap auth-list
Authorize APs against MAC : Disabled
Authorize APs against Serial Num : Enabled
Authorization Method List : <auth-list-name>
验证RADIUS配置:
# show run aaa
故障排除
WLC 9800提供ALWAYS-ON跟踪功能。这可确保所有AP加入相关错误、警告和通知级别消息持续记录,并且您可以在发生事故或故障情况后查看日志。
注意:根据生成的日志数量,您可以返回数小时到数天。
要查看默认情况下收集的9800 WLC的跟踪,您可以通过SSH/Telnet连接到9800 WLC并执行以下步骤(确保将会话记录到文本文件)。
步骤1.检查控制器的当前时间,以便在发生问题时跟踪日志。
# show clock
步骤2.从控制器缓冲区或外部系统日志收集系统日志,如系统配置所述。这可快速查看系统运行状况和错误(如果有)。
# show logging
步骤3.检验是否启用了任何调试条件。
# show debugging
IOSXE Conditional Debug Configs:
Conditional Debug Global State: Stop
IOSXE Packet Tracing Configs:
Packet Infra debugs:
Ip Address Port
------------------------------------------------------|----------
注意:如果您看到列出的任何条件,这意味着跟踪记录到遇到启用条件(mac地址、ip地址等)的所有进程的调试级别。 这将增加日志的数量。因此,建议在非主动调试时清除所有条件
步骤4.假设测试中的mac地址未列为步骤3中的条件,请收集特定无线电mac地址的始终在线通知级别跟踪。
# show logging profile wireless filter { mac | ip } { <aaaa.bbbb.cccc> | <a.b.c.d> } to-file always-on-<FILENAME.txt>
您可以显示会话中的内容,也可以将文件复制到外部TFTP服务器。
# more bootflash:always-on-<FILENAME.txt>
or
# copy bootflash:always-on-<FILENAME.txt> tftp://a.b.c.d/path/always-on-<FILENAME.txt>
条件调试和无线电活动跟踪
如果始终在线跟踪没有提供足够的信息来确定所调查问题的触发因素,您可以启用条件调试并捕获活动无线电(RA)跟踪,这将为与指定条件(本例中为客户端mac地址)交互的所有进程提供调试级别跟踪。 要启用条件调试,请执行以下步骤。
步骤5.确保未启用调试条件。
# clear platform condition all
步骤6.为要监控的无线客户端mac地址启用调试条件。
此命令开始监控提供的MAC地址30分钟(1800秒)。 您可以选择将此时间增加到2085978494秒。
# debug wireless mac <aaaa.bbbb.cccc> {monitor-time <seconds>}
注意: 要一次监控多个客户端,请按mac地址运行debug wireless mac <aaaa.bbbb.cccc>命令。
注意:您看不到终端会话上客户端活动的输出,因为所有内容都在内部缓冲,以备以后查看。
步骤7.重现要监控的问题或行为。
步骤8.如果问题在默认或配置的监控时间开启之前重现,请停止调试。
# no debug wireless mac <aaaa.bbbb.cccc>
监控时间过去或调试无线停止后,9800 WLC将生成名为:
ra_trace_MAC_aaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log
步骤9.收集MAC地址活动的文件。您可以将ra trace .log复制到外部服务器或直接在屏幕上显示输出。
检查RA跟踪文件的名称
# dir bootflash: | inc ra_trace
将文件复制到外部服务器:
# copy bootflash:ra_trace_MAC_aaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log tftp://a.b.c.d/ra-FILENAME.txt
显示内容:
# more bootflash:ra_trace_MAC_aaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log
步骤10.如果根本原因仍不明显,请收集内部日志,这些日志是调试级别日志的更详细视图。您无需再次调试客户端,因为我们只是进一步详细查看已收集和内部存储的调试日志。
# show logging profile wireless internal filter { mac | ip } { <aaaa.bbbb.cccc> | <a.b.c.d> } to-file ra-internal-<FILENAME>.txt
注意:此命令输出返回所有进程的所有日志记录级别的跟踪,并且相当庞大。请联系思科TAC,帮助解析这些跟踪。
您可以将ra-internal-FILENAME.txt复制到外部服务器,或直接在屏幕上显示输出。
将文件复制到外部服务器:
# copy bootflash:ra-internal-<FILENAME>.txt tftp://a.b.c.d/ra-internal-<FILENAME>.txt
显示内容:
# more bootflash:ra-internal-<FILENAME>.txt
步骤11.删除调试条件。
# clear platform condition all
注意:确保在故障排除会话后始终删除调试条件。
参考
将网状AP加入9800 WLC