目录

简介

先决条件

要求

使用的组件

配置

网络图

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.3.x

- 思科ISE 3.0

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

配置

网络图

WLC 配置

9800 WLC上的AAA配置

GUI:

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

如果计划将来使用集中式Web身份验证（或任何需要授权更改[CoA]的安全类型），请确保启用Support for 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 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, 以及 deadtime 在WLC上，尤其是当您使用多个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条件，则在死区间隔内，服务器将再次标记为dead。

WLAN配置文件配置

GUI:

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

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

第三步：导航至 Security选项卡并选择所需的安全方法。在本例中,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:

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

确保已启用配置文件。

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

在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 标签。

注: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

为策略、站点和RF选择适用的标签，然后点击 Save 应用到设备

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 阅读《思科身份服务引擎管理员指南2.0版：网络设备组》中的“管理网络设备”章节

在 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, 创建身份验证策略并按照此映像所示进行配置。本示例中使用的策略条件为：

RADIUS:Called-Station-ID ENDS_WITH

//

is the SSID of your WLAN

此外，在Internal Users下选择 Use 选项卡。

创建授权策略

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

RADIUS:Called-Station-ID ENDS_WITH

//

is the SSID of your WLAN

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

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

有关ISE允许协议策略的详细信息，请查看“思科身份服务引擎管理员指南，版本2.0：管理身份验证策略”(Manage Authentication Policies from the Cisco Identity Services Engine Administrator Guide， Release 2.0: Manage Authentication Policies)一章

有关ISE身份源的详细信息，请查看“Manage Users and External Identity Sources from the Cisco Identity Services Engine Administrator Guide， Release 2.0: Identity Sources”一章

验证

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

# 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

故障排除

排除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>

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

如果永远在线(always-on)跟踪不能为您提供足够的信息来确定所调查问题的触发器，则可以启用条件调试并捕获无线活动(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.

第六步：在计算机上下载放射性跟踪，然后单击下载按钮并检查它。

在ISE上进行故障排除

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