簡介
本檔案介紹並概述用於疑難排解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和目的地為9800 WLC的欺詐管理、網路移動服務協定(NMSP)。
資料平面(DP)是指在9800 WLC上轉送資料的各元件。
在9800的所有迭代中(9800-40、9800-80、9800-CL、9800-SW、9800-L),控制平面仍然相當普遍。
但是,資料平面因使用與ASR1k類似的硬體量子流處理器(QFP)複合體的9800-40和9800-80而異,而9800-CL和9800-L使用思科資料包處理器(CPP)的軟體實現。
9800-SW僅利用Catalyst 9k系列交換機上的多普勒晶片集進行資料轉發。
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的封包後,或向DP注入來源於9800 WLC的回應封包以發出實體介面之前,執行的處理的指令和工具
系統日誌
9800 WLC生成的日誌是驗證系統總體運行狀況的第一種方法。
CPU、記憶體、緩衝區等系統資源的預定義閾值的任何違規都會報告到日誌中。
此外,任何子系統生成的任何錯誤都會寫入日誌。要檢視日誌,請導航至故障排除>系統日誌
或運行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連線的CMX ip連線移動問題。
注意:MAC地址與IP地址作為條件提供了不同的輸出,因為不同的進程知道同一網路實體(AP、客戶端或移動對等體)的不同識別符號。
以客戶端連線為例,進行故障排除,對客戶端mac運行條件調試,以在控制平面獲得端到端檢視。
通過Web UI進行放射性跟蹤
轉到故障排除頁面選單,然後選擇放射跟蹤
按一下Add並輸入要排除故障的客戶端或AP MAC地址。 從16.12開始,只能通過GUI新增MAC地址。您可以通過CLI新增IP地址。
您可以新增多個要跟蹤的mac地址。準備好開始放射性跟蹤時,按一下開始。
啟動後,調試日誌記錄會寫入磁碟,記錄與跟蹤的mac地址相關的任何控制平面處理。
重現要診斷的問題時,按一下Stop。
對於已調試的每個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.bbb.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 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.bbb.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配置,請導航至故障排除>資料包捕獲> +Add
步驟 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上最多需要50MB的磁碟而且其非常大可以捕獲幾分鐘資料,以便您發現問題的發生。
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]