簡介
本文檔介紹並概述了用於對Catalyst 9800進行故障排除的所有Cisco IOS® XE特性和功能。
必要條件
需求
- 無線LAN控制器(WLC)的基本知識。
- 使用WLC所涉及的使用案例流的基本知識。
採用元件
本檔案涵蓋9800-CL、9800-L、9800-40和9800-80控制器。它主要基於17.3 Cisco IOS® XE版本。
背景資訊
在9800 WLC上運行的Cisco IOS® XE基本上由採用Cisco IOS®的Linux核心(binOS)和所有作為守護程式實現的無線進程組成。
所有進程守護程式都可以捆綁在通用術語控制平面(CP)下,並負責存取點的控制和調配(CAPWAP)、移動性、無線電資源管理(RRM)。目的地為和來自9800 WLC的惡意管理、網路移動服務協定(NMSP)。
資料平面(DP)是指在9800 WLC上轉送資料的元件。
在9800的所有迭代上(9800-40、9800-80、9800-CL、9800-SW、9800-L),控制平面仍然相當普遍。
但是,資料平面因9800-40和9800-80而異,它們使用類似ASR1k的硬體量子流處理器(QFP)複合體,而9800-CL和9800-L使用思科資料包處理器(CPP)的軟體實現。
9800-SW僅利用Catalyst 9k系列交換機上的Doppler晶片集進行資料轉發。
9800 WLC內的資料包流
當資料包從物理埠進入9800 WLC時,如果確定它是控制流量,則會將其轉送到相應的控制平面進程。
對於AP加入,這將是源自AP的所有capwap和dtls交換。在客戶端加入的情況下,這將是從客戶端發出的所有流量,直到客戶端進入RUN狀態。
當各種守護程式處理傳入流量時,源自9800 WLC的返回流量(capwap響應、dot11、dot1x、dcp響應)將被傳送到客戶端,並注入資料平面以從物理埠發出。
在處理AP加入、客戶端加入、移動交換時,需要程式設計資料平面,以便處理資料流量轉發。
當多個元件在影像所示的程式化路徑上循序程式化時,就會發生這種情況。
Cisco IOS® XE提供多樣化的工具集,可追蹤從封包進入9800 WLC起直至處理流量離開機箱為止的封包。
下一節介紹這些工具以及用於從命令列介面(CLI)呼叫這些工具的命令。
控制平面追蹤
本節介紹可用於檢視控制平面在從DP傳送原本用於9800 WLC的資料包之後,或者將源自9800 WLC的響應資料包注入到DP以發出物理介面之前,所執行的處理的命令和工具
系統日誌
9800 WLC生成的日誌是驗證系統一般運行狀況的第一種方法。
任何違反系統資源(例如CPU、記憶體、緩衝區)的預先定義臨界值的情況都會報告到記錄中。
此外,任何子系統產生的任何錯誤都會寫入日誌。要檢視日誌,請導航到故障排除> Syslog
或者運行CLI命令:
# show logging
此輸出顯示一般日誌以及一些無線特定日誌。但是,與傳統Cisco IOS®相反,通常沒有無線調試進入此日誌記錄輸出。
注意:如果將WLC9800配置為將這些日誌重定向到外部Syslog伺服器,則還需要檢查外部Syslog伺服器上的日誌。
永遠線上跟蹤
WLC9800上的每個控制層面進程都不斷以Notice這一日誌級別記錄到其自己的專用緩衝區。這稱為永遠線上跟蹤。
這是一項獨特的功能,可讓您取得發生失敗時的相關內容資料,而不需重新設定失敗條件。
例如,如果您熟悉AireOS,對於任何客戶端連線故障排除,您需要啟用調試並重現客戶端連線問題狀態以確定根本原因。
使用永遠線上跟蹤,您可以回溯已捕獲的跟蹤並確定它是否是常見的根本原因。 根據生成的日誌量,我們可以回看幾個小時到幾天。
現在,雖然跟蹤是按單個進程記錄的,但可以針對感興趣的特定情景(如客戶端mac或AP mac或AP IP地址)完整地檢視它們。要執行此操作,請運行命令
# show logging profile wireless filter mac to-file bootflash:
預設情況下,此命令生成和解碼日誌的時間僅為10分鐘。您可以選擇更早地使用:
# show logging profile wireless start last <number> [minutes|hours|days] filter mac to-file bootflash:
要檢視每個進程日誌,請運行命令
# show logging process to-file bootflash:
註:這些CLI上有多個過濾選項,包括模組、日誌記錄級別、開始時間戳等。若要檢視和瀏覽這些選項,請執行命令
# show logging profile wireless ?
# show logging process ?
條件式偵錯和RadioActive追蹤
「條件式除錯」可針對相關條件的特定功能,啟用除錯層級記錄。
RadioActive跟蹤功能透過增加跨相關條件的進程、執行緒有條件地列印調試資訊的功能,使跟蹤更進一步。
這意味著,底層架構完全抽象化。
注意:在16.12中,放射性跟蹤僅用於排除AP加入與AP無線電和乙太網MAC地址、客戶端加入與客戶端MAC地址以及移動性對等IP和使用CMX ip地址的CMX連線的移動性問題(作為關注條件)。
註:MAC地址vs.IP address as condition提供不同的輸出,因為不同的進程知道同一網路實體(AP、客戶端或移動對等體)的不同識別符號。
在客戶端連線方面,作為故障排除的示例,對客戶端mac運行條件調試以便在控制平面獲得端到端檢視。
透過Web UI的放射性痕跡
轉到故障排除頁選單並選擇放射跟蹤
按一下Add並輸入您要進行故障排除的客戶端或AP MAC地址。 從16.12開始,只能透過GUI增加MAC地址。您可以透過CLI增加IP地址。
您可以增加多個mac地址進行跟蹤。當準備好開始放射性跟蹤時,按一下開始。
啟動後,調試日誌記錄將寫入磁碟,以記錄與跟蹤的mac地址相關的任何控制平面處理。
當您再現要故障排除的問題時,按一下停止。
對於每個調試的mac地址,您可以透過按一下Generate生成一個日誌檔案,整理屬於該mac地址的所有日誌。
選擇您要經過分頁的日誌檔案保留多長時間,然後按一下Apply to Device(應用到裝置)。
現在您可以按一下檔案名稱旁邊的小圖示來下載檔案。此檔案存在於控制器的Bootflash磁碟機中,也可以透過CLI從包裝中複製。
透過CLI進行放射性跟蹤
要啟用條件調試,請運行命令
# 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_aaaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log
一個優點是相同的命令可用於排除AP加入問題(輸入AP無線電mac和乙太網mac)、客戶端連線問題(輸入客戶端mac)、移動隧道問題(輸入對等ip)、客戶端漫遊問題(輸入客戶端mac)的故障。
換句話說,您不必記住多個命令,例如debug capwap、debug client、debug mobility等。
注意:debug wireless還允許指向FTP伺服器,並使用關鍵字internal運行更詳細的日誌記錄。我們目前不建議使用這些功能,因為有些問題正在解決。
要調試終端會話上的輸出檔案,請運行命令
# 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® XE處理的詳細檢視,以及決定是否傳送、轉送、捨棄或使用封包。
WLC 9800上的此功能與ASR!k上的實現完全相同。
9800 WLC上的Packet Tracer提供與ASR1K相同的三個檢測級別。
- 統計-提供進入和離開網路處理器的資料包計數
- 摘要-
- 收集此資訊是為了符合特定關注條件的有限數量的資料包。
- 摘要輸出指示入口和出口介面、資料平面做出的查詢決策,以及跟蹤傳送、丟棄和插入資料包(如果有)。
- 此輸出提供資料平面處理的簡明檢視
- 路徑資料-提供DP資料包處理的最詳細檢視。它針對有限數量的資料包而收集,包括條件調試ID,可用於將DP資料包與控制平面調試、時間戳以及特定於功能的路徑跟蹤資料相關聯。此詳細檢視具有兩個可選功能
- 封包複製可讓您在封包的不同層(第2層、第3層和第4層)複製輸入和輸出封包
- 功能呼叫陣列(FIA)是資料平面在資料包上執行的功能的順序清單。這些功能源自WLC 9800上的預設和使用者啟用配置
有關功能和子選項的詳細說明,請參閱Cisco IOS XE資料路徑資料包跟蹤功能
對於AP加入、客戶端連線等無線工作流程,雙向跟蹤上行鏈路
注意:資料平面Packet Tracer僅分析外部CAPWAP報頭。因此,無線客戶端mac等條件不會產生有用的輸出。
步驟 1.定義利息條件。
# debug platform condition { interface | mac | ingress | egress | both | ipv4 | ipv6 | mpls | match }
警告:命令- debug platform condition feature和debug platform condition mac aaaa.bbbb.cccc用於控制層面資料包跟蹤,不返回任何資料層面資料包跟蹤。
步驟 2.要檢視當前啟用的條件,請運行命令
# show platform conditions
步驟 3.對有限數量的資料包啟用Packet Tracer。此封包編號的定義為16 ― 8192之間的冪2。依預設,會擷取摘要和特徵資料。或者,如果您使用「僅限彙總」子選項,則可以選擇只獲取彙總檢視。您還有子選項可用於獲取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.要檢視packet-trace是否正在收集任何輸出,請驗證統計資訊
# show platform packet-trace statistics
步驟 7.要檢視packet-trace的輸出,請運行命令
# show platform packet-tracer summary
第8步(可選)您可以導出資料包轉儲以供思科TAC進行離線分析
# show platform packet-trace packet all | redirect { bootflash: | tftp: | ftp: } pactrac.txt
內嵌式封包擷取
內嵌封包擷取(EPC)是一種封包擷取工具,可讓您檢視目的地為、來源為Catalyst 9800 WLC且經過該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.一旦停止,就可以使用Export按鈕和選項按一下以透過https、TFTP伺服器、FTP伺服器、本地系統硬碟或快閃記憶體將捕獲檔案(.pcap)下載到本地案頭。
注意:CLI提供了更精細的選項,例如Limit by。GUI足以捕獲常見使用案例的資料包。
若要透過CLI設定:
建立監視擷取:
monitor capture uplink interface <uplink_of_the_9800> both
關聯篩選器。可以內聯指定過濾器,也可以引用ACL或類對映。
在本例中,ACL用於匹配9800的兩個IP地址與另一個WLC 5520之間的流量。移動性故障排除的典型場景:
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上最多需要50 MB的磁碟,而且它非常大,可以捕獲幾分鐘的資料,從而讓您看到問題的發生。
monitor capture uplink buffer circular size 50
開始捕獲。您可以從GUI或CLI執行下列作業:
monitor capture uplink start
捕獲現在處於活動狀態。
允許它收集必要資料。
停止捕獲。您可以透過GUI或CLI執行以下操作:
monitor capture uplink stop
您可以從GUI > Troubleshooting > Packet Capture > Export檢索捕獲。
或從CLI上傳至伺服器。透過ftp的示例:
monitor capture uplink export ftp://x.x.x.x/MobilityCAP.pcap
收集完必要的資料後,請刪除捕獲:
no monitor capture uplink
報警LED和關鍵平台報警
所有9800裝置(9800-L、9800-40和9800-80)的前面板上都有一個ALM 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]