目录

简介

先决条件

要求

使用的组件

配置

网络图

WLC 配置

9800 WLC上的AAA配置

WLAN配置文件配置

策略配置文件配置

策略标签配置

策略标签分配

ISE 配置

声明ISE上的WLC

在ISE上创建新用户

创建授权配置文件

创建策略集

创建身份验证策略

创建授权策略

验证

故障排除

排除WLC故障

在ISE上进行故障排除

简介

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

先决条件

要求

Cisco 建议您了解以下主题：

- 802.1X

使用的组件

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

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

- 思科IOS® XE 17.12.5

- 思科ISE 3.0

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

配置

网络图

WLC 配置

9800 WLC上的AAA配置

GUI:

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

确保启用了CoA支持，并配置CoA服务器密钥(如果您计划将来使用集中式Web身份验证（或任何需要授权更改[CoA]的安全类型）。

注意：Cisco 9800 WLC上的授权更改(CoA)服务器密钥是用于验证WLC和RADIUS服务器之间的CoA请求的共享密钥。此密钥必须与RADIUS服务器上的CoA配置匹配，以确保成功通信。请确保在所有设备上安全一致地配置CoA服务器密钥，以防止CoA消息被拒绝。

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

步骤3.创建身份验证方法列表。导航至 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 Dead-Server检测注意事项

配置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

...

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

#radius-server dead-criteria time 5 tries 3

#radius-server deadtime 5

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

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

WLAN配置文件配置

GUI:

第 1 步： 创建 WLAN.导航到Configuration > Tags&Profiles > WLANs > + Add并根据需要配置网络。

步骤2.输入无线局域网信息

第 3a 步：导航到Security选项卡并选择所需的安全方法。在本例中,WPA2 + 802.1x。

3b. WPA2+WPA3混合模式示例

注意：Cisco 9800 WLC上的WPA2+WPA3混合模式支持现代WPA3设备和传统WPA2设备的无缝共存，尽可能确保兼容性和增强的安全性。快速过渡(FT)在此场景中是可选的，启用AKM FT+802.1x时成为强制性的。

第4步：从选项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:

导航到Configuration > Tags & Profiles > Policy Profile，然后配置您的default-policy-profile或创建新的配置文件。

确保已启用配置文件。

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

在Access Policies选项卡中选择需要分配客户端的VLAN。

如果您计划让ISE返回属性在类似于VLAN分配的访问接受中，请在选项卡中启用AAA覆Advanced盖：

CLI：

# config

# wireless profile policy <policy-profile-name>

# aaa-override

# central switching

# description "<description>"

# vlan <vlanID-or-VLAN_name>

# no shutdown

策略标签配置

Policy Tag用于将SSID与策略配置文件链接。您可以新建策略标签，也可以使用 default-policy 标签。

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

为策略、站点和RF选择适用的标签，然后点击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钮。

步骤2.输入如图所示的值。在此我们可以返回AAA覆盖属性，例如VLAN。WLC 9800接受使用VLAN id或Name的隧道属性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

//

is the SSID of your WLAN

Use此外，选择Authentication Policy选项卡下的Internal Users。

创建授权策略

在同一页面上，转到Authorization Policy ，并创建一个新页面。此授权策略的条件为：

RADIUS:Called-Station-ID ENDS_WITH

//

is the SSID of your WLAN

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

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

有关ISE允许协议策略的详细信息，请选中一章：从《Cisco身份服务引擎管理员指南》管理身份验证策略管理身份验证策略

有关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属性按客户端运行。对于平衡来自9800的RADIUS请求，不支持依赖UDP源端口。

排除WLC故障

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

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

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

步骤1.检查WLC当前时间，以便您可以在问题发生之前的时间跟踪日志。

# show clock

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

# 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>

条件调试和无线电主动跟踪

如果永远在线(always-on)跟踪不能为您提供足够的信息来确定所调查问题的触发器，则可以启用条件调试并捕获无线活动(RA)跟踪，该跟踪为与指定条件（本例中为客户端MAC地址）交互的所有进程提供调试级别跟踪。 您可以通过GUI或CLI执行此操作。

CLI：

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

步骤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_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地址。

步骤2.单击开始。

步骤3.重现问题。

步骤4.单击Stop。

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

步骤6.在计算机上下载Radiotic Trace，单击download按钮并检查。

在ISE上进行故障排除

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