目录

简介

先决条件

要求

使用的组件

配置

网络图

WLC 配置

9800 WLC上的AAA配置

WLAN配置文件配置

策略配置文件配置

策略标签配置

策略标记分配

ISE 配置

声明WLConISE

在ISE上创建新用户

创建授权配置文件

创建策略集

创建身份验证策略

创建授权策略

验证

故障排除

排除WLC故障

对ISE进行故障排除

简介

本文档介绍如何在Cisco Catalyst 9800系列无线控制器上设置具有802.1X安全性的WLAN。

先决条件

要求

Cisco 建议您了解以下主题：

- 802.1X

使用的组件

本文档中的信息基于以下软件和硬件版本：

- Catalyst 9800无线控制器系列(Catalyst 9800-CL)

- 思科IOS® XE直布罗陀17.3.x

- 思科ISE 3.0

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

配置

网络图

WLC 配置

9800 WLC上的AAA配置

GUI:

步骤1:声明RADIUS服务器。导航到 Configuration > Security > AAA > Servers / Groups > RADIUS > Servers > + Add 并输入RADIUS服务器信息。

如果计划将来使用集中式Web身份验证（或任何需要授权更改[CoA]的安全类型），请确保启用支持CoA。

第二步：将RADIUS服务器添加到RADIUS组。导航至 Configuration > Security > AAA > Servers / Groups > RADIUS > Server Groups > + Add. 为您的组指定名称并移动您之前在列表中创建的服务器 Assigned Servers.

第三步：创建身份验证方法列表。导航至 Configuration > Security > AAA > AAA Method List > Authentication > + Add.

输入相关信息:

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 authentication dot1x <dot1x-list-name> group <radius-grp-name>

有关AAA失效服务器检测的注意事项

配置RADIUS服务器之后，可以检查它是否被视为“ALIVE”：

#show aaa servers | s WNCD Platform State from WNCD (1) : current UP Platform State from WNCD (2) : current UP Platform State from WNCD (3) : current UP Platform State from WNCD (4) : current UP ...

可以在WLC上配置 dead criteria, 和 deadtime ，特别是在使用多个RADIUS服务器的情况下。

#radius-server dead-criteria time 5 tries 3 #radius-server deadtime 5

注意： dead criteria 是用于将RADIUS服务器标记为停机的条件。它包括： 1.超时(秒)，表示从控制器上次从RADIUS服务器收到有效数据包到服务器标记为失效之间必须经过的时间。2.一个计数器，表示在RADIUS服务器标记为失效之前控制器上必须发生的连续超时次数。

注： deadtime指定在失效条件将其标记为失效后，服务器保持失效状态的时间（以分钟为单位）。一旦死区时间过期，控制器会将服务器标记为UP (ALIVE)，并通知注册的客户端状态更改。如果在状态标记为UP后服务器仍然无法访问，并且满足dead条件，则在死区间隔内服务器将再次标记为已死。

WLAN配置文件配置

GUI:

步骤1:创建WLAN。导航到Configuration > Wireless > WLANs > + Add，然后根据需要配置网络。

第二步：输入无线局域网信息

第三步：导航到安 全选项卡并选择所需的安全方法。在本示例中，WPA2 + 802.1x。

第四步：从 Security > AAA 选项卡中，从9800 WLC上的AAA配置部分选择第3步中创建的身份验证方法。

CLI：

# config t # wlan <profile-name> <wlan-id> <ssid-name> # security dot1x authentication-list <dot1x-list-name> # no shutdown

策略配置文件配置

在策略配置文件中，您可以决定将客户端分配到哪个VLAN，以及其他设置（如访问控制列表[ACL]、服务质量[QoS]、移动锚点、计时器等）。

您可以使用默认策略配置文件，也可以创建新配置文件。

GUI:

导航到配置>标签和配置文件> 策略配置文件，然后配置默认策略配置文件或创建新配置文件。

确保已启用配置文件。

此外，如果您的接入点(AP)处于本地模式，请确保策略配置文件已启用集中交换和集中身份验证。

在访问策略选项卡中选择需要将客户端分配到的VLAN。

如果计划让ISE返回属性在Access-Accept like VLAN Assignment中，请在 Advanced 选项卡中启用AAA覆盖：

CLI：

# config # wireless profile policy <policy-profile-name>

# aaa-override # central switching # description "<description>" # vlan <vlanID-or-VLAN_name> # no shutdown

策略标签配置

策略标记用于将SSID与策略配置文件关联起来。您可以新建策略标签，也可以使用 default-policy 标签。

注意：default-policy-tag会自动将WLAN ID介于1和16之间的所有SSID映射到default-policy-profile。不能修改或删除。 如果您拥有的WLAN的ID为17或更高，则不能使用default-policy-tag。

GUI:

如果需要，请导航到Configugation > Tags & Profiles > Tags > Policy 并添加新设备。

将 WLAN 配置文件关联到所需的策略配置文件。

CLI：

# config t # wireless tag policy <policy-tag-name> # wlan <profile-name> policy <policy-profile-name>

策略标记分配

将策略标签分配给所需的 AP。

GUI:

要将标签分配给一个AP，请导航至 Configuration > Wireless > Access Points > AP Name > General Tags, 分配相关策略标签，然后点击 Update & Apply to Device.

注意：请注意，当AP上的策略标记更改时，它将断开与9800 WLC的关联，并在稍后重新加入。

要将相同的策略标签分配给多个AP，请导航至 Configuration > Wireless Setup > Advanced > Start Now > Apply.

选择要向其分配标记的AP，然后单击 + Tag APs

为策略、站点和射频选择适用的标签，然后点击Save & Apply to Device

CLI：

# config t # ap <ethernet-mac-addr> # policy-tag <policy-tag-name> # end

ISE 配置

声明ISE上的WLC

步骤1:打开ISE控制台并导航至 Administration > Network Resources > Network Devices > Add 如图所示。

步骤 2配置网络设备。

或者，它可以是指定的型号名称、软件版本、说明，并根据设备类型、位置或WLC分配网络设备组。

此处的IP地址与发送身份验证请求的WLC接口对应。默认情况下，它是管理接口，如图所示：

有关 Network Device Groups 的更多信息，请查看“思科身份服务引擎管理员指南：管理网络设备组”一章

在 ISE 上创建新用户

步骤1:导航 Administration > Identity Management > Identities > Users > Add 至如图所示：

步骤 2输入用户的信息。在本示例中，此用户属于名为ALL_ACCOUNTS的组，但可根据需要进行调整，如图所示：

创建授权配置文件

Authorization Profile 由匹配条件时返回的一组属性组成。授权配置文件确定客户端是否有权访问网络、推送访问控制列表(ACL)、VLAN覆盖或任何其他参数。本示例中显示的授权配置文件发送客户端的访问接受并将客户端分配到VLAN 1416。

步骤1:导航到 Policy > Policy Elements > Results > Authorization > Authorization Profiles 并单击 Add 按钮。

第二步：输入如图所示的值。这里我们可以返回AAA覆盖属性，例如VLAN。WLC 9800接受使用VLAN ID或名称的隧道属性64、65、81，并且也接受使用 AirSpace-Interface-Name 属性。

创建策略集

策略集定义身份验证和授权规则的集合。要创建一个，请转至 Policy > Policy Sets，单击列表中第一个策略集的齿轮，然后选择 Insert new row above 如下图所示：

为此策略集配置名称并创建条件。在本示例中，条件指定我们匹配来自WLC的流量：

Radius:NAS-IP-Address EQUALS X.X.X.X // X.X.X.X is the WLC IP address

确保 Default Network Access 在 Allowed Protocols / Server Sequence下选中。

创建身份验证策略

要配置身份验证和授权策略，您需要输入策略集配置。如果单击 Policy Set 行右侧的蓝色箭头，可以执行以下操作：

身份验证策略用于验证用户的凭证是否正确（验证用户是否真正是其所言者）。在 Authenticaton Policy, Create an Authentication Policy（创建身份验证策略）下，请按照本图所示进行配置。本示例中使用的策略条件是：

RADIUS:Called-Station-ID ENDS_WITH <SSID> // <SSID> is the SSID of your WLAN

同时，选择此身份验证策略的 Use 选项卡下的Internal Users。

创建授权策略

在同一页上，转至 Authorization Policy ，然后创建一个新帐户。此授权策略的条件为：

RADIUS:Called-Station-ID ENDS_WITH <SSID> // <SSID> is the SSID of your WLAN

在此策略的 Result > Profiles 选项卡下，选择 Authorization Profile 您之前创建的。如果用户通过身份验证，这将导致ISE向WLC发送正确的属性。

此时，WLC和ISE的所有配置都已完成，您现在可以尝试连接客户端。

有关ISE允许协议策略的详细信息，请查看“思科身份服务引擎管理员指南”中的“管理身份验证策略”一章管理身份验证策略

有关ISE身份源的详细信息，请查看“思科身份服务引擎管理员指南：身份源”中的“管理用户和外部身份源”一章

验证

您可以使用以下命令验证当前配置：

# show run wlan // WLAN configuration # show run aaa // AAA configuration (server, server group, methods) # show aaa servers // Configured AAA servers # show ap config general // AP's configurations # show ap name <ap-name> config general // Detailed configuration of specific AP

# show ap tag summary // Tag information for AP'S

# show wlan { summary | id | name | all } // WLAN details

# show wireless tag policy detailed <policy-tag name> // Detailed information on given policy tag

# show wireless profile policy detailed <policy-profile name>// Detailed information on given policy profile

故障排除

注意：外部负载均衡器的使用正常。但是，使用calling-station-id RADIUS属性确保您的负载均衡器按客户端运行。依赖UDP源端口不是平衡来自9800的RADIUS请求的受支持机制。

排除WLC故障

WLC 9800提供无间断跟踪功能。这样可以确保始终记录所有客户端连接相关的错误、警告和通知级别消息，并且可以在发生事故或故障情况后查看日志。

这取决于生成的日志量，但通常情况下，您可以返回几小时到几天。

要查看9800 WLC在默认情况下收集的跟踪，可以通过SSH/Telnet连接到9800 WLC并执行以下步骤：（确保将会话记录到文本文件）。

步骤1:检查WLC当前时间，以便您可以在问题发生之前跟踪登录时间。

# show clock

第二步：根据系统配置的指示，从WLC缓冲区或外部系统日志收集系统日志。这样可以快速查看系统运行状况和错误（如有）。

# show logging

第三步：验证是否启用了任何调试条件。

# show debugging IOSXE Conditional Debug Configs: Conditional Debug Global State: Stop IOSXE Packet Tracing Configs: Packet Infra debugs: Ip Address Port ------------------------------------------------------|----------

注意：如果看到列出了任何条件，则意味着遇到已启用条件（mac地址、ip地址等）的所有进程的跟踪都会记录到调试级别。这会增加日志量。因此，建议在非主动调试时清除所有条件.

第四步：假设测试中的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地址）交互的所有进程提供调试级别跟踪。您可以通过GUI或CLI执行此操作。

CLI：

要启用条件调试，请执行以下步骤：

第五步：确保没有启用调试条件。

# clear platform condition all

第六步：启用要监控的无线客户端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_aaaabbbbcccc_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

注意：此命令输出返回所有进程的所有日志级别的跟踪，而且非常大。在解析跟踪信息时如需帮助，请联系 Cisco 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

注意：请确保在故障排除会话之后始终删除调试条件。

GUI:

步骤1:转到 Troubleshooting > Radioactive Trace > + Add  并指定要排除故障的客户端的MAC/IP地址。

第二步：单击开始。

第三步：重现问题.

第四步： 单击“停止”。

第五步：单击 Generate 按钮，选择要获取日志的时间间隔，然后单击 Apply to Device. In this example, the logs for the last 10 minutes are requested.

第六步：在计算机上下载放射性踪迹，然后单击“download（下载）”按钮并进行检查。

对ISE进行故障排除

如果遇到客户端身份验证问题，您可以验证ISE服务器上的日志。转到 Operations > RADIUS > Live Logs 后，您将看到身份验证请求列表，以及匹配的策略集、每个请求的结果等。单击每行 Details 选项卡下的放大镜，可获取更多详细信息，如图所示：