本文档介绍并概述有助于排除 Catalyst 9800 故障的所有 Cisco IOS® XE 特性和功能。
本文档介绍 9800-CL、9800-L、9800-40 和 9800-80 控制器。内容主要基于 17.3 Cisco IOS® XE 版本。
在 9800 WLC 上运行的 Cisco IOS IOS® XE 实质上由 Linux 内核 (binOS) 和 Cisco IOS IOS® 以及作为后台守护程序实施的所有无线进程组成。
所有的进程后台守护程序可统称为控制平面 (CP),负责无线接入点的控制和调配 (CAPWAP)、移动性和无线电资源管理 (RRM)。 欺诈管理、网络移动服务协议 (NMSP) 涉及发往和源自 9800 WLC 的流量。
数据平面 (DP) 是指负责在 9800 WLC 上转发数据的组成部分。
在 9800 的所有迭代版本(9800-40、9800-80、9800-CL、9800-SW 和 9800-L)中,控制平面仍被广泛使用。
但是,9800-40 和 9800-80 使用类似于 ASR 1000 的硬件量化流处理器 (QFP) 复合体,而 9800-CL 和 9800-L 则使用软件实现形式的 Cisco Packet Processor (CPP),因此数据平面会有所不同。
9800-SW 仅利用 Catalyst 9000 系列交换机上的 Doppler 芯片组进行数据转发。

当数据包从物理端口进入 9800 WLC 时,如果确定数据包是控制流量,则系统会将数据包传递到相应的控制平面进程。
对于 AP 加入,这将包括由 AP 发起的所有 capwap 和 dtls 交换。对于客户端加入,这将包括从客户端发出的所有流量,直至客户端进入“运行”状态。
当各种后台守护程序处理传入流量时,从 9800 WLC 发出的返回流量(capwap 响应、dot11、dot1x、dcp 响应)会注入回数据平面,以通过物理端口发送到客户端。
在处理 AP 加入、客户端加入、移动性交换时,系统需要对数据平面进行编程,使其能够处理数据流量转发。
在图中所示的编程路径上按顺序对多个组成部分进行编程时,就会发生这种情况。
Cisco IOS® XE 提供了通用工具集,可用于跟踪数据包从进入 9800 WLC 的时刻起,直至处理后的流量离开设备的整个过程。
下一部分介绍这些工具以及用于从命令行界面 (CLI) 调用这些工具的命令。
本部分介绍相关命令和工具,可用于查看控制平面进程在数据包从 DP 传递到 9800 WLC 之后,或者在将从 9800 WLC 发出的响应数据包注入到 DP 以通过物理接口发送出去之前所进行的处理。
验证系统总体运行状况的首选方法是使用 9800 WLC 生成的日志。
超出系统资源(如 CPU、内存、缓冲区)的预定义阈值的任何违规行为都会报告到日志中。
此外,任何子系统生成的任何错误都会写入日志。要查看日志,请导航至故障排除 > 系统日志

或运行 CLI 命令:
# show logging
此输出将显示常规日志以及一些与无线相关的特定日志。但是,与旧版 Cisco IOS® 不同,通常无线调试信息不会出现在此日志输出中。
WLC9800 上的每个控制平面流程持续以通知日志记录级别将日志记录到其专用缓冲区。此功能称为无间断跟踪。
通过这项独特的功能,可获取有关已发生故障的上下文数据,而无需强制重现故障条件。
例如,如果您熟悉 AireOS,那么在排除任何客户端连接故障时,您需要启用调试并重现客户端连接问题状况,以确定根本原因。
通过无间断跟踪,可回溯已捕获的跟踪信息,并确定是否存在共同的根本原因。 可回溯几小时甚至几天前的日志,具体取决于生成的日志量。
现在,尽管跟踪信息是按单个进程记录的,但可以针对关注的特定上下文(例如客户端 MAC、AP MAC 或 AP IP 地址)全面查看相关跟踪信息。执行此操作的命令为:
# show logging profile wireless filter mac to-file bootflash:
默认情况下,此命令只能回溯 10 分钟的时间,用于生成和解码日志。可以使用以下命令选择回溯更长时间:
# show logging profile wireless start last [minutes|hours|days] filter mac to-file bootflash:
要查看每个进程的日志,请运行以下命令:
# show logging process to-file bootflash:
# show logging profile wireless ? # show logging process ?
条件调试可针对关注的条件启用特定功能的调试级别日志记录。
无线电主动跟踪更进一步,新增的功能可以针对关注的条件跨进程和线程有条件地输出调试信息。
这意味着,底层架构是完全抽象的。
以排除客户端连接故障为例,可针对客户端 MAC 运行条件调试,以获取控制平面的端到端视图。
转到故障排除页面菜单,然后选择无线电主动跟踪。

点击添加 ,然后输入要排除故障的客户端或 AP MAC 地址。 从 16.12 开始,只能通过 GUI 添加 MAC 地址。可以通过 CLI 添加 IP 地址。

可以添加多个 MAC 地址来进行跟踪。当准备好开始无线电主动跟踪时,点击开始。

启动后,调试日志会写入磁盘,记录与跟踪的 MAC 地址相关的控制平面处理。
当重现要排查的问题时,点击停止。

对于每个调试的 MAC 地址,可以点击生成来生成日志文件,以查看与该 MAC 地址相关的所有日志。

选择所查看的日志文件的回溯时间长度,然后点击应用到设备。

现在,可以点击文件名旁边的小图标来下载文件。此文件位于控制器的 bootflash 驱动器中,也可以通过 CLI 直接从设备中复制出来。

注意:Cisco建议您不要同时为RadioActive跟踪配置10个以上的MAC地址。虽然没有硬性限制,但在大型环境中跟踪超过10个MAC时,有时会出现高CPU使用率和大型日志文件。
要启用条件调试,请运行以下命令:
# debug wireless {mac | ip} {aaaa.bbbb.cccc | x.x.x.x } {monitor-time} {N seconds}
要查看当前启用的条件,请运行以下命令:
# show debugging
这些调试不会在终端会话中提供任何输出,而是将调试输出文件存储到闪存中,以便之后进行检索和分析。文件按照命名规范 ra_trace_* 保存。
例如,对于 MAC 地址 aaaa.bbbb.cccc,生成的文件名为 ra_trace_MAC_aaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log。
这种方式的一大优点是,可以使用同一命令排查 AP 加入问题(输入 AP 无线电 MAC 和以太网 MAC)、客户端连接问题(输入客户端 MAC)、移动隧道问题(输入对等体 IP)、客户端漫游问题(输入客户端 MAC )。
也就是说,您不必记住多个命令,例如 debug capwap、debug client、debug mobile 等。
要在终端会话中调试输出文件,请运行以下命令:
# more bootflash:ra_trace_MAC_*.log
要将调试输出重定向到外部服务器以进行离线分析,请运行以下命令:
# copy bootflash:ra_trace_MAC_*.log ftp://username:password@FTPSERVERIP/path/RATRACE_FILENAME.txt
对于相同的调试日志级别,提供了更详细的视图。要查看此详细视图,请运行以下命令:
# show logging profile wireless internal filter mac to-file
要在特定上下文中或者在配置的或默认的监控时间结束之前禁用调试,请运行以下命令:
# no debug wireless mac <aaaa.bbbb.cccc>
要禁用所有调试,请运行以下命令:
# clear platform condition all # undebug all
对于未实施无线电主动跟踪的使用案例和进程,可以获得调试级别跟踪信息。要设置特定进程的调试级别,请使用以下命令:
# set platform software trace <PROCESS_NAME> wireless chassis active R0 { module_name | all-modules }
要验证各个模块的跟踪级别,请运行以下命令:
# show platform software trace level <PROCESS_NAME> chassis active R0
要查看收集的跟踪信息,请运行以下命令:
# show logging process to-file
当数据包首次进入 9800 WLC 时,系统会在数据平面进行一些处理,以确定流量是控制平面流量还是数据平面流量。
数据包跟踪功能提供了详细的视图,可用于查看在数据平面完成的 Cisco IOS IOS® XE 处理,以及所做的有关是否传递、转发、丢弃或使用数据包的决策。
此功能在 WLC 9800 上的实现方式与 ASR 1000 完全相同。
Packet Tracer 在 9800 WLC 上提供的三个检测级别与 ASR 1000 完全相同。
有关此功能和子选项的详细说明,请参阅思科 IOS XE 数据路径数据包跟踪功能。
对于无线工作流程(例如 AP 加入、客户端连接等),需双向跟踪上行链路。
第 1 步: 定义关注的条件。
# debug platform condition { interface | mac | ingress | egress | both | ipv4 | ipv6 | mpls | match }
第 2 步: 要查看当前启用的条件,请运行以下命令:
# show platform conditions
第 3 步: 针对有限数量的数据包启用 Packet Tracer。此数据包编号定义为 2 的幂,范围为 16 - 8192。默认情况下,系统会同时捕获摘要和功能数据。或者,可以选择在使用 summary-only 子选项时仅获取摘要视图。还可以使用子选项来获取 FIA 跟踪信息、定义数据包大小(以字节为单位)、跟踪数据包的传递、注入或丢弃。等等。
# debug platform packet-tracer packet <packet-number> {fia-trace}
第 4 步: (可选)可以在跟踪数据包时复制和转储数据包。
# debug platform packet-trace copy packet both size 2048 { l2 | l3 | l4 }
第 5 步: 启用条件调试。
# debug platform condition start
第 6 步: 要查看数据包跟踪是否正在收集任何输出,请验证统计信息。
# show platform packet-trace statistics
第 7 步: 要查看数据包跟踪的输出,请运行以下命令:
# show platform packet-tracer summary
第 8 步: (可选)可以导出数据包转储,供 Cisco TAC 进行离线分析。
# show platform packet-trace packet all | redirect { bootflash: | tftp: | ftp: } pactrac.txt
嵌入式数据包捕获 (EPC) 是一种数据包捕获工具,可用于查看发往、源自和流经 Catalyst 9800 WLC 的数据包。可以使用 Wireshark 导出这些捕获以进行离线分析。
有关此功能的更多详细信息,请参阅 EPC 配置指南。
与 AireOS 相比,9800 WLC 不依赖上行链路交换机上的数据包捕获和流量镜像功能,但允许在设备自身进行 pcap 捕获。
在 9800 上,可以从命令行界面 (CLI) 以及图形用户界面 (GUI) 设置此捕获。
要通过 GUI 配置,请导航至故障排除 > 数据包捕获 > +添加。

第 1 步: 定义数据包捕获的名称,最多允许 8 个字符。
第 2 步: 定义过滤器(如果有)。
第 3 步: 如要查看传递到系统 CPU 并注入回数据平面的流量,请选中“监控控制流量”复选框。
第 4 步: 定义缓冲区大小,最大允许为 100 MB。
第 5 步: 根据需要,按持续时间(允许范围为 1 - 1000000 秒)或数据包数量(允许范围为 1 - 100000 个数据包)来定义限制。
第 6 步: 从左列的接口列表中选择接口,然后点选箭头将接口移至右列。
第 7 步: 保存并应用到设备。
第 8 步: 要开始捕获,请选择开始。
第 9 步: 可以运行捕获,直至达到所定义的限制。要手动停止捕获,请选择停止。
第 10 步: 停止后,系统将显示导出按钮,点击此按钮可选择是通过 HTTPS、TFTP 服务器或 FTP 服务器还是本地系统硬盘或闪存将捕获文件 (.pcap) 下载到本地桌面。

要通过 CLI 配置,请执行以下操作:
创建监控捕获:
monitor capture uplink interface <uplink_of_the_9800> both
关联过滤器。可以内联指定过滤器,也可以引用 ACL 或类映射。
在本示例中,使用了 ACL 来匹配 9800 和另一个 WLC 5520 的两个 IP 地址之间的流量。移动性故障排除的典型场景:
conf t
ip access-list extended mobilitywlcs
permit ip host <5520_ip_address> host <9800_ip_address>
permit ip host <9800_ip_address> host <5520_ip_address>
end
monitor capture uplink access-list mobilitywlcs
如果让捕获在循环缓冲区中运行,就可以有时间发现问题,然后停止并保存捕获。
例如,如果将缓冲区设置为 50MB。它在 9800 上最多需要 50MB 的磁盘空间,这对于捕获几分钟的数据来说已经相当大了,希望这有助于您发现问题所在。
monitor capture uplink buffer circular size 50
开始捕获。可以从 GUI 或 CLI 访问捕获:
monitor capture uplink start
捕获窗口现在处于活动状态。
允许其收集必要的数据。
停止捕获。可以通过 GUI 或 CLI 执行此操作:
monitor capture uplink stop
可以导航至“GUI”>“故障排除”>“数据包捕获”>“导出”,检索捕获。
或通过 CLI 上传到服务器。通过 FTP 上传的示例:
monitor capture uplink export ftp://x.x.x.x/MobilityCAP.pcap
收集必要的数据后,删除捕获:
no monitor capture uplink
所有 9800 设备(9800-L、9800-40 和 9800-80)的前面板上都有一个警报 LED。如果该 LED 变为红色,则表示平台上存在严重级别警报。
可以使用 show facility-alarm status 命令来验证导致 LED 变为红色的警报。
WLC#show facility-alarm status System Totals Critical: 2 Major: 0 Minor: 0 Source Time Severity Description [Index] ------ ------ -------- ------------------- TenGigabitEthernet0/1/0 Jul 26 2019 15:14:04 CRITICAL Physical Port Link Down [1] TenGigabitEthernet0/1/1 Jul 26 2019 15:14:04 CRITICAL Physical Port Link Down [1]
| 版本 | 发布日期 | 备注 |
|---|---|---|
7.0 |
24-Apr-2026
|
添加了有关要同时跟踪的最大MAC地址数量的注释 |
6.0 |
20-Aug-2024
|
缩小标题大小,以满足Cisco.com风格指南的要求。 |
5.0 |
29-Mar-2024
|
由于弃用,已删除“失败时跟踪”部分 |
4.0 |
12-Jul-2023
|
重新认证 |
3.0 |
22-Jun-2022
|
更改为故障时跟踪。添加了“start last x”选项以显示日志记录配置文件 |
2.0 |
20-Feb-2022
|
细微的拼写更改和标题更改 |
1.0 |
04-Oct-2021
|
初始版本 |