此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文详细描述在思科统一无线网络(CUWN)解决方案出现此类无线互操作性问题时,最初需要收集哪些信息来有效调查和排除这些问题。随着无线客户端设备和接入点(AP)无线电的数量和组合的不断增长,对这种综合方法的需求变得越来越重要。
Cisco 建议您了解以下主题:
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
注意:本文档的目标受众是经验丰富的无线网络工程师和管理员,他们已经熟悉这些主题的使用、配置和故障排除。
常见的情况是,考虑到各种客户端设备既存在,也在继续开发。在建立、维护或仅仅为了充分利用其与无线网络的连接和支持基础设施方面,可能会出现各种问题。
这通常可归结为客户端设备和/或无线基础设施本身的简单配置问题。但是,在某些情况下,这可归因于与支持特定客户端设备和组件(如请求方、WLAN适配器、无线驱动程序等)和/或相关AP相关的互操作性问题。作为无线工程师,此类互操作性问题为确定、排除故障和解决潜在的复杂挑战提供了机会。
鉴于可能决定此类要求的变量数量不限,可能会请求并需要逐个收集本文概述内容的更多信息。但是,此处详细介绍的信息是解决任何潜在无线客户端互操作性问题的通用指南。
要有效地解决任何问题,以便采取果断措施,第一步是准确定义当前的问题。为此,请确保至少询问这些问题,并清楚记录其答案:
无一例外,收集客户的WLC配置以详细审查客户使用的功能、其特定设置和其他此类详细信息是绝对必要的。为此,您必须建立到相关WLC的Telnet/SSH会话,并将这些CLI命令的输出保存到文本文件:
config paging disable show run-config
完整的运行配置输出始终优先,因为它包括有关加入的AP和相关RF信息等的详细信息。尽管在某些情况下和情况下,例如最初使用具有大量已加入AP的WLC时(即8510 WLC和2500多个AP)。 最初最好只收集WLC的配置,而不收集此类AP信息,以便快速查看,因为完整的show run-config可能需要30分钟或更长时间才能完成给定的AP数。但是,可能仍需要稍后收集完整的run-config输出。
为此,您可以选择性地将以下CLI命令的输出收集到文本文件:
config paging disable show run-config no-ap show wlan apgroups
除了show run-config或show run-config no-ap输出外,还建议收集WLC配置的完整备份。如果TAC/HTTS和BU上报都需要进行实验室重建,以尝试在思科实验室环境中重现客户问题,这将会有所帮助。通过使用TFTP或FTP将配置文件保存到外部TFTP/FTP服务器,可以通过GUI或相关WLC的CLI收集WLC的备份。以下示例显示GUI和CLI使用TFTP保存WLC备份的用法:
命令>上传文件>配置>上传,如图所示。
transfer upload datatype config
transfer upload mode tftp transfer upload serverip <TFTP-Server_IP-address> transfer upload path / transfer upload filename <desired-filename> transfer upload start
此时,您还希望从WLC收集当前日志,以便根据需要进行其他审核。理想情况下,您希望在通过无线客户端进行测试后立即收集这些日志,从而重现报告的问题。如果客户将WLC日志导出到外部系统日志服务器,则您想从那里检索它们。否则,通过将此CLI会话输出保存到另一个文本文件,可以保存当前存储在WLC本地的msglog和traplog:
config paging disable show msglog show traplog
下一步是收集与正在使用的客户端设备相关的尽可能多的信息和细节,以便遇到潜在的无线互操作性问题。此类信息应包括(但不一定限于)以下信息:
注意:有关客户端设备(包括其WLAN相关配置的屏幕截图)的任何其他信息或注释,也必须根据需要包括。
为了进一步加快故障排除工作和根本原因分析(RCA)流程,始终建议提供详细而彻底的网络拓扑图。网络拓扑图不仅应包含有关网络和无线基础设施的详细信息,还应提供对在网络中运行的有关无线设备(例如打印机/扫描仪、正在使用的客户端VLAN等)及其相对位置的深入了解。
许多工具(如Microsoft Visio、draw.io等)和各种样式都可用于创建此类网络图。重要方面是确保适当信息在所有相关方和供应商提供的供审查的图表中清楚反映。一个示例网络拓扑,用于捕获与基础设施和客户端设备有关的基本但有用的信息,如图所示。
帮助确保在对最终用户遇到问题的客户端设备进行任何测试时收集适当的信息。建议先创建一个电子表格或类似的表格,以记录测试时观察到的所有客户端问题和相关详细信息,例如以下示例:
Mac 地址 | 用户名 | 报告症状的说明 | 最终用户观察到症状的时间 | Ping默认网关Y/N | WiFi信号状态(已连接/尝试连接) | 记录ipconfig /all(或等效) |
xxyy.aabb.0011 | test_user1 | 断断续续地断开与接入点的连接。 | 从AP3丢失网络连接和无线关联。 | n | 尝试连接 | ifconfig en0 en0:flags=8863<UP,广播,智能,运行,单工,组播> mtu 1500 ether xx:yy:aa:bb:00:11 inet6 fe80::848:cb8f:881a:4cbf%en0 prefixlen 64 scopeid 0x4 inet 192.168.10.237 netmask 0xffff00 broadcast 192.168.10.255 nd6 options=201<PERFORMNUD,DAD> 介质:自动选择 状态:主用 |
本练习的目的是帮助记录和确定共同感兴趣的模式,并准确了解手头的问题。一旦此电子表格准备好用于数据收集,您现在就可以开始测试了。以下是一些额外但重要的考虑因素:
注意:收集的所有调试和数据包捕获需要同步到同一NTP服务器,以便更轻松地与日志关联,并且必须同时进行任何给定测试。
注意:提供观察到问题和问题似乎恢复(如果适用)的准确时间戳。
注意:始终收集AP和WLC上按客户端MAC地址过滤的调试。
注意:请勿在同一Telnet/SSH/控制台会话中在AP上运行show和debug命令,这些命令应在不同的会话中分别执行。
注意:AP调试最好在Telnet/SSH与控制台上进行,因为控制台通常速度太慢而无法生效。
在进行测试以重现和排除潜在的无线客户端互操作性问题时,必须从使用中的无线基础设施收集调试和其他日志。这两个部分可以详细说明应分别从WLC和AP收集的特定日志和初始调试输出。
config sessions timeout 0
debug client <MAC_address> debug dhcp message enable
根据现有问题的性质,您还可以逐个添加这些WLC调试:
问题复制到问题的无线客户端后,收集并记录之前和之后部分中概述的所有信息。要执行这些CLI命令,必须禁用WLC上的调试。
debug disable-all
config paging disable show time show client detail <MAC_address> ping <client_IP-address> <repeat count [1-100]>
如前所述,确保在一个Telnet/SSH会话中运行WLC调试,并在另一个Telnet/SSH中收集到到WLC的show命令的输出。您必须执行相同操作才能收集本节中详述的AP调试和show命令输出。
在您开始对参与测试的任何轻量IOS AP进行任何调试之前,例如2600、2700、3700或之前型号的思科接入点。您必须首先在AP上执行以下CLI命令,以避免在客户端测试时与相关AP进行Telnet/SSH/控制台会话时超时:
debug capwap console cli config t line vty 0 4 exec-timeout 0 session-timeout 0
您也可以按照以下步骤使用控制台连接并将line vty 0 4语句替换为line console 0,以便相应地禁用串行/控制台连接的exec和会话超时。
在开始测试之前,必须先在AP上收集这些show命令的示例。对于涉及无线客户端的每项测试,您应至少收集两次这些show命令的输出;测试完成前和测试后。
term len 0 show clock show tech show capwap client mn show int do1 dfs show logging more event.log show trace dot11_rst display time format local show trace dot11_rst show trace dot11_bcn display time format local show trace dot11_bcn
收集上述show命令的初始输出后,您现在可以在单独的Telnet/SSH会话中启用同一接入点上的调试,如图所示。确保将整个输出保存到文本文件。
debug dot11 {d0|d1} monitor addr <client_MAC-address> debug dot11 {d0|d1} trace print clients mgmt keys rxev txev rcv xmt txfail ba
term mon
标志 | 描述 |
d0 | 2.4 GHz无线电(插槽0) |
d1 | 5 GHz无线电(插槽1) |
mg | 跟踪管理数据包 |
巴 | 跟踪块ACK信息 |
rcv | 跟踪收到的数据包 |
密钥 | 跟踪集密钥 |
rxev | 跟踪已接收事件 |
txev | 跟踪传输事件 |
txrad | 跟踪向无线电传输 |
xmt | 跟踪传输数据包 |
txfail | 跟踪传输故障 |
速率 | 跟踪速率更改 |
要在测试和数据收集过程完成后禁用AP上的调试,可以在AP上执行以下CLI命令:
u all
对于支持802.11ac wave 2的接入点及更高版本,例如1800、2800和3800型号的接入点。这些新型AP为接入点平台引入了全新的操作系统,称为AP-COS。因此,并非如上所述在基于传统轻量Cisco IOS的接入点上以前使用的所有命令仍然适用。如果排除故障时涉及与各种客户端STA设备和AP-COS型号AP的互操作性问题,则应从与等效测试相关的AP-COS接入点收集这些信息。
在测试涉及的任何AP-COS型号AP上启动任何调试之前。您必须首先在AP上执行以下CLI命令,以避免在客户端测试时与相关AP进行Telnet/SSH/控制台会话时超时:
exec-timeout 0
在开始测试之前,必须先在AP上收集这些show命令的示例。对于涉及无线客户端的每项测试,您应至少收集两次这些show命令的输出;测试完成前和测试后。
term len 0
show clock show tech
show client statistics <client_MAC-address>
show cont nss status
show cont nss stats
show log
这些调试特定于18xx系列接入点。这是由于用于1800系列AP的芯片组与2800/3800系列接入点的芯片组不同,因此,在此场景中,比较需要不同的调试集。2800/3800系列AP的相应调试将在下一节介绍。
收集上述show命令的初始输出后,您现在必须在单独的Telnet/SSH会话中启用同一1800个接入点上的调试,如图所示。确保将整个输出保存到文本文件。
debug dot11 client level events addr <client_MAC-address> debug dot11 client level errors addr <client_MAC-address> debug dot11 client level critical addr <client_MAC-address> debug dot11 client level info addr <client_MAC-address> debug dot11 client datapath eapol addr <client_MAC-address> debug dot11 client datapath dhcp addr <client_MAC-address> debug dot11 client datapath arp addr <client_MAC-address>
在某些情况下,您可能还需要在18xx AP上启用其他调试,以进一步排除客户端互操作性问题。但是,仅当思科TAC工程师针对相应的服务请求/案例请求时/按照请求时,才应执行此操作。
由于额外的调试可能不仅在其输出中更加冗长,而且可能会在AP上引入额外的负载,因此需要额外的时间进行适当的分析。在某些情况下,如果许多客户端设备尝试在测试或类似变量下连接到同一AP,则可能会中断服务。
要禁用AP-COS变体接入点(无论是在1800或2800/3800系列AP上)上的调试,在测试和数据收集过程完成后,您可以在AP上执行以下CLI命令:
config ap client-trace stop
收集上述show命令的初始输出后,您现在必须在单独的Telnet/SSH会话中启用同一2800/3800接入点上的调试,如图所示。确保将整个输出保存到文本文件。
config ap client-trace address add <client_MAC-address>
config ap client-trace filter all enable
config ap client-trace output console-log enable
config ap client-trace start
term mon
要在测试和数据收集过程完成后禁用1800/2800/3800系列AP上的调试,可以在AP上执行以下CLI命令:
config ap client-trace stop
如果使用的客户端设备是笔记本PC、MacBook或类似设备,则必须从客户端设备的无线接口收集混杂模式数据包捕获,以重现问题。Netmon 3.4(仅限Windows)或Wireshark等常见实用程序可以轻松下载,并用于收集此捕获并将其保存到*.pcap文件。它取决于设备,可能还有从有关客户端收集tcpdump或类似信息的方法,因此您可能需要咨询客户端设备制造商以获取这方面的帮助。
以下是在MacBook Pro上为无线接口配置Wireshark捕获的示例:
与任何数据包捕获一样,无论使用什么实用程序来收集数据包,请确保以pcap文件格式(即*.pcap、*.pcapng、*.pkt等)。 这是为了确保不仅任何部门的思科工程师都能够轻松查看数据包捕获文件,而且确保来自其他供应商和组织(如Intel、Apple等)的工程师也能轻松查看数据包捕获文件。 这可实现更无缝的协作和协作流程,进一步促进思科和客户端设备供应商更好地合作以调查和解决任何潜在的互操作性问题。
为了有效地排除任何潜在或现有的无线互操作性问题,收集问题的高质量OTA数据包捕获至关重要。这允许对有关的无线客户端和接入点无线电之间实际的802.11无线通信进行详细分析,同时还可以进一步了解客户端和无线基础设施日志、调试等。这是必须完成的关键步骤,对于每个可能的无线互操作性问题的测试,都必须完成。
但是,最终客户通常未正确配置或准备收集OTA数据包捕获。这是无线工程师经常遇到的一个常见障碍,他们必须与客户合作,以多种方式克服这一障碍。思科支持论坛的这篇文章可以作为帮助指导和培训客户的良好起点:
以pcap文件格式(即OTA数据包捕获)收集OTA数据包是至关重要的。*.pcap、*.pcapng、*.pkt等),包括802.11元数据(即RSSI、信道、数据速率等)。 在测试期间,OTA嗅探器应始终与相关的客户端设备保持紧密的联系,以确保准确地透视发往/从被测试的客户端设备收发的流量。
注意:如果所述测试涉及客户端设备漫游场景,则需要在聚合数据包捕获中监控多个802.11信道。因此,目前不建议使用Fluke Networks的AirMagnet WiFi分析器。
原因在于,使用此实用程序时聚合的数据包捕获当前以专有文件格式保存,而不是以pcap样式格式保存,而在Wireshark或其他类似实用程序中可以轻松查看。确保您的OTA数据包捕获采用非专有文件格式,这有助于确保所有参与方和供应商随时都可以查看任何捕获文件,并最终帮助加快解决问题的速度。
以下是收集OTA数据包捕获的一些常用方法:
对于涉及802.11n无线客户端的OTA数据包捕获,目前具有更大的灵活性和易用性。这是由于有种类繁多的可用无线USB WLAN适配器,这些适配器可随时与许多工具(如OmniPeek等)配合使用。
请注意,用于收集802.11n OTA捕获的特定无线适配器的功能与您尝试排除故障的客户端设备使用的实际WLAN芯片组的功能相比如何。例如,如果客户端设备遇到使用支持2空间流(2SS)的802.11n芯片组的潜在无线互操作性问题。然后,强烈建议确保用于收集OTA数据包捕获的无线适配器也是2SS或更好的适配器,具有802.11n或更高规格。
对于3空间流(3SS)802.11ac捕获,您可以使用运行Mac OS X 10.10.x或更高版本的2014型号MacBook Pro或更高版本的本机嗅探功能。如果对2空间流802.11ac客户端设备进行故障排除,您还可以使用MacBook Air进行802.11ac捕获。MacBooks的Air型号目前仅使用2SS WLAN芯片组,在撰写本文时。有关如何使用Mac OS X通过各种方法收集OTA数据包捕获的说明,请参阅以下思科支持论坛文章:
您还可以在嗅探器模式下使用2702/2802/3702/3802系列或类似AP来收集带3SS的正确802.11ac数据包捕获。您还可以参考以下资源,获取可用802.11ac无线适配器的当前列表。其中一些可能与OmniPeek等常用工具一起使用,其他工具可收集802.11ac数据包捕获(即来自Ralink、Atheros等的芯片组):
https://wikidevi.com/wiki/List_of_802.11ac_Hardware#Wireless_adapters
您还可以在嗅探器模式下使用2702/2802/3702/3802系列或类似AP来收集带3SS的正确802.11ac数据包捕获。为方便起见,有关如何在嗅探器模式下配置思科AP并收集OTA数据包捕获的分步说明,请参阅以下思科支持论坛文章:
对于无线客户端设备的漫游场景进行故障排除时,常见的挑战是跨多个信道有效收集OTA数据包捕获。这种同时监控多个802.11信道的方法是通过收集聚合OTA数据包捕获来实现的。为此,建议使用多个兼容802.11ac的USB WLAN适配器和兼容网络分析软件。一些支持802.11ac的常见USB WLAN适配器包括适用于OmniPeek(802.11ac)的Savvius WiFI适配器、Netgear A6210或类似适配器。
以下是需要收集的信息的简要总结,以便有效地排除CUWN可能存在的无线客户端互操作性问题。本部分旨在根据需要用作快速参考部分。
从相关WLC的CLI收集以下信息:
或者,您也可以根据需要收集以下输出:
通过TFTP、FTP等备份WLC配置(GUI:命令>上传文件>配置)
来自WLC的系统日志
注意:任何客户端参数都与有关供应商提供的默认设置不同。(即睡眠状态、漫游参数、U-APSD等)
这应包括有关网络中无线设备(如打印机/扫描仪、WLC等)的表示和/或详细信息
示例:
Mac 地址 | 用户名 | 报告症状的说明 | 最终用户观察到症状的时间 | Ping默认网关Y/N | WiFi信号状态(已连接/尝试连接) | 记录ipconfig /all(或等效) |
本练习的目的是帮助确定一种常见模式,并展示更准确的当前问题图片。
通过CLI收集以下WLC调试:
根据具体情况添加其他调试:
通过CLI收集WLC show命令的输出:
测试完成后,使用以下命令停止WLC上的所有当前调试:
本部分详细介绍1700/2700/3700系列或之前型号的接入点所需的调试。
要避免Telnet/SSH/控制台会话时AP会话超时,请使用以下命令:
在开始测试之前,在AP上收集这些show命令的示例。通过CLI使用以下AP show命令,至少收集此输出的两个示例(在测试完成之前和之后):
通过CLI收集以下AP调试:
测试完成后,使用以下命令禁用调试:
本部分详细介绍1800/2800/3800系列AP所需的调试。
要避免Telnet/SSH/控制台会话时AP会话超时,请使用以下命令:
在开始测试之前,请收集AP上以下show命令的示例。通过CLI使用以下AP show命令,至少收集此输出的两个示例(在测试完成之前和之后):
对于1800系列接入点,请通过CLI收集以下AP调试:
对于2800/3800系列接入点,请通过CLI收集以下AP调试:
测试完成后,使用以下命令禁用调试:
从客户端设备的WLAN适配器收集混合Netmon 3.4(仅Windows XP或7)或Wireshark数据包捕获。
C:\Users\engineer>netsh wlan show ? These commands are available: Commands in this context: show all - Shows complete wireless device and networks information. show allowexplicitcreds - Shows the allow shared user credentials settings. show autoconfig - Shows whether the auto configuration logic is enabled or disabled. show blockednetworks - Shows the blocked network display settings. show createalluserprofile - Shows whether everyone is allowed to create all user profiles. show drivers - Shows properties of the wireless LAN drivers on the system. show filters - Shows the allowed and blocked network list. show hostednetwork - Show hosted network properties and status. show interfaces - Shows a list of the wireless LAN interfaces on the system. show networks - Shows a list of networks visible on the system. show onlyUseGPProfilesforAllowedNetworks - Shows the only use GP profiles on GP configured networks setting. show profiles - Shows a list of profiles configured on the system. show settings - Shows the global settings of wireless LAN. show tracing - Shows whether wireless LAN tracing is enabled or disabled.
C:\Users\engineer>netsh wlan show interfaces There are 3 interfaces on the system: Name : Wireless Network Connection 8 Description : WildPackets Conceptronic Nano Wireless 150Mbps USB Adapter #5 GUID : 6beec9b0-9929-4bb4-aef8-0809ce01843e Physical address : c8:d7:19:34:d5:85 State : disconnected Name : Wireless Network Connection 4 Description : WildPackets Conceptronic Nano Wireless 150Mbps USB Adapter GUID : 23aa09d4-c828-4184-965f-4e30f27ba359 Physical address : 48:f8:b3:b7:02:6e State : disconnected Name : Wireless Network Connection Description : Intel(R) Centrino(R) Advanced-N 6200 AGN GUID : 8fa038f8-74e0-4167-98f9-de0943f0096c Physical address : 58:94:6b:3e:a1:d0 State : connected SSID : snowstorm BSSID : 00:3a:9a:e6:28:af Network type : Infrastructure Radio type : 802.11n Authentication : WPA2-Enterprise Cipher : CCMP Connection mode : Profile Channel : 157 Receive rate (Mbps) : 300 Transmit rate (Mbps) : 300 Signal : 80% Profile : snowstorm Hosted network status : Not started
C:\Users\engineer>netsh wlan show networks bssid | more Interface name : Wireless Network Connection There are 21 networks currently visible. SSID 1 : snowstorm Network type : Infrastructure Authentication : WPA2-Enterprise Encryption : CCMP BSSID 1 : 00:3a:9a:e6:28:af Signal : 99% Radio type : 802.11n Channel : 157 Basic rates (Mbps) : 24 39 156 Other rates (Mbps) : 18 19.5 36 48 54 BSSID 2 : 00:3a:9a:e6:28:a0 Signal : 91% Radio type : 802.11n Channel : 6 Basic rates (Mbps) : 1 2 Other rates (Mbps) : 5.5 6 9 11 12 18 24 36 48 54 -- More --
为了收集与Windows PC上的ipconfig /all命令相同的输出,您可以改用ifconfig的常见Linux/Unix命令来列出Apple MacBook上所有网络接口的详细信息。根据需要,您还可以指定仅接收给定MacBook的本地无线接口的输出(en0或en1,取决于型号)。 例如,以下示例:
bash-3.2$ ifconfig en0 en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether 14:10:9f:de:df:f3 inet6 fe80::1610:9fff:fede:dff3%en0 prefixlen 64 scopeid 0x4 inet 10.150.128.40 netmask 0xffffe000 broadcast 10.150.159.255 nd6 options=1<PERFORMNUD> media: autoselect status: active
为了获得有关MacBook上当前无线连接的一些快速而详细的信息。您还可以选择桌面右上角的WiFi图标,同时按住键盘上的选项按钮,如图所示。
另一个有用的选项是利用名为airport的隐藏命令行实用程序。强烈建议仅将此功能与您自己的MacBook或实验室环境中使用的MacBook配合使用。由于某些网络管理员可能不希望在最终用户的MacBook上授予对此实用程序的访问权限,因此请相应地使用适当的警告级别。要继续,请在MacBook的终端中输入以下内容:
sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport
现在,您可以轻松调用机场CLI实用程序。其示例包括:
bash-3.2$ airport -I agrCtlRSSI: -61 agrExtRSSI: 0 agrCtlNoise: -90 agrExtNoise: 0 state: running op mode: station lastTxRate: 216 maxRate: 300 lastAssocStatus: 0 802.11 auth: open link auth: wpa2 BSSID: 0:3a:9a:e6:28:af SSID: snowstorm MCS: 13 channel: 157,1
使用MacBook Pro或类似的功能进一步简化收集可靠的单个802.11通道OTA数据包捕获的过程。您可以使用无线诊断>嗅探器方法或类似方法来利用macOS中的嵌入式功能,也可以选择使用名为Airtool的第三方实用程序(OS X 10.8及更高版本)。 优点是一个简单的界面,可快速收集OTA数据包捕获,只需从屏幕顶部菜单栏右键点击应用用户界面,即可直接保存到桌面。
有关Airtool的详细信息和下载链接,请访问以下URL:
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
14-May-2016 |
初始版本 |