簡介
本檔案介紹在協商Cisco IOS® XE路由器上的站點到站點VPN時,封包擷取、其他工具如何協助解決控制平面問題。
必要條件
需求
思科建議您瞭解以下主題:
- Cisco IOS® CLI配置基礎知識。
- IKEv2和IPsec的基礎知識。
採用元件
本檔案中的資訊是根據以下軟體版本:
- CSR1000V — 運行版本16.12.0的Cisco IOS XE軟體。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
資料包捕獲是一個功能強大的工具,可幫助您驗證資料包是否在VPN對等裝置之間傳送/接收。它們還確認IPsec調試中看到的行為是否與捕獲上收集的輸出一致,因為調試是邏輯解釋,而捕獲表示對等體之間的物理互動。因此,您可以確認或放棄連線問題。
有用工具
有一些有用的工具可幫助您配置捕獲、提取輸出並對其進行進一步分析。其中一些是:
- Wireshark:這是一款眾所周知且使用的開源資料包分析器。
- 監控捕獲:路由器上的Cisco IOS XE功能,可幫助您收集捕獲,並提供流量外觀、收集的協定及其時間戳的簡單輸出。
如何在IOS XE路由器上配置捕獲
捕獲使用擴展訪問清單(ACL),定義要收集的流量型別,以及VPN對等體或相關流量段的源地址和目的地址。如果路徑上啟用了NAT-T,則通道交涉會使用UDP連線埠500和連線埠4500。一旦協商完成且通道建立,如果啟用NAT-T,相關流量將使用IP協定50(ESP)或UDP 4500。
為了排查與控制平面相關的問題,必須使用VPN對等點IP位址來擷取通道交涉的方式。
config terminal
ip access-list extended <ACL name>
permit udp host <local address> host <peer address>
permit udp host <peer address> host <source address>
exit
exit
設定的ACL是用來縮小擷取流量的範圍,且它放置於用來交涉通道的介面上。
monitor capture <capture name> access-list <ACL name> buffer size <custom buffer size in MB> interface <source interface of teh router> both
設定擷取後,可以操縱擷取停止、清除或擷取使用下列命令收集的流量:
- 檢查常規捕獲資訊:show monitor capture
- 啟動/停止捕獲:監控捕獲上限啟動/停止
- 驗證捕獲正在收集資料包: show monitor capture cap buffer
- 請參閱流量的簡短輸出:show monitor capture cap buffer brief
- 清除捕獲:監控捕獲封蓋清除
- 提取捕獲輸出:
- 監控帽帽緩衝傾印
- monitor capture cap export bootflash:capture.pcap
使用封包擷取分析通道建立
如前所述,要協商IPSec隧道,如果啟用NAT-T,則資料包將通過埠500和埠4500的UDP傳送。利用捕獲,可以從這些資料包中看到更多資訊,例如正在協商的階段(階段1或階段2)、每個裝置的角色(發起方或響應方),或者剛剛建立的SPI值。
顯示路由器捕獲的簡短輸出,即對等體之間的互動(傳送UDP資料包)。
提取轉儲並從路由器匯出pcap檔案後,可以使用wireshark檢視資料包中的詳細資訊。
在傳送的第一個IKE_SA_INIT Exchange資料包的Internet協定部分上,找到UDP資料包的源地址和目的地址。在使用者資料包協定(User Datagram Protocol)部分中,顯示使用的埠,以及網際網路安全關聯和金鑰管理協定(Internet Security Association and Key Management Protocol)部分顯示協定的版本、正在交換的消息型別、裝置的角色以及建立的SPI。收集IKEv2調試時,調試日誌中會顯示相同的資訊。
發生IKE_AUTH Exchange協商時,會加密負載,但可以看到一些有關協商的資訊,例如以前建立的SPI和正在進行的事務型別。
收到最後一個IKE_AUTH Exchange封包後,通道交涉完成。
NAT介於兩者之間的事務
Nat-transversal是進行通道交涉時可以看到的另一個功能。如果中間裝置正在捨棄用於隧道的一個或兩個地址,則在協商第2階段(IKE_AUTH Exchange)時,裝置會將UDP埠從500更改為4500。
捕獲在A側:
在B端捕獲:
常見控制平面問題
可能會有影響通道交涉的本地或外部因素,可以使用擷取進行識別。下一個場景最常見。
組態不相符
通過檢視每個裝置階段1和階段2的配置,可以解決此情況。但是,可能會出現無法訪問遠端端的情形。通過在階段1或階段2確定資料包中傳送NO_PROPOSAL_CHOSEN的裝置,捕獲幫助。該響應表示配置可能存在問題,需要調整哪個階段。
重新傳輸
IPSec通道交涉可能會失敗,因為交涉封包是在終端裝置之間的路徑上遭捨棄的。丟棄的資料包可以是階段1或階段2資料包。在這種情況下,預期有響應封包的裝置會重新傳輸最後一個封包,如果嘗試了5次後沒有回應,通道就會結束,並從開始重新啟動。
在隧道每一端進行捕獲有助於確定哪些內容可能阻止流量以及流量受影響的方向。