環境:
1.管理主機:win7(ip:192.168.90.24/24)
2.交換機:10.108.0.5/24 型號: C2960S (sw_ver:15.0(2)SE6)
現象:
某天登陸交換機調試,完成後保存配置到本機tftp,繼續一些其他操作後,突然和交換機連接斷開,本機再也無法Ping通此交換機。
處理過程:
事出突然,首先檢查內部網絡,發現僅本機無法訪問此交換機,分別做如下測試:
1. 本機訪問網關,正常;訪問內部其他網段,正常。
2. 本機訪問交換機同網段設備,正常
3. 本機訪問交換機IP,超時,異常
4. 其他主機訪問此交換機,正常
看來問題是在本機和交換機之間,首先對本機進行處理:
1. 重啓電腦,嘗試訪問,異常
2. 刪除本機相關無用軟件,嘗試訪問,異常
3. 關閉本機防火牆,嘗試訪問, 異常
4. 清理本機進程,嘗試訪問,異常
5. 本機執行ipconfig /flushdns arp -d ,故障依舊
到這裏初步懷疑:本機之前的某個操作,觸發了交換機的某種安全機制,導致本機到交換機的連接全部被拒絕。
登錄交換機進行排查:
1.查看交換ARP緩存,如下:
從上圖可以明顯看出,交換已經有了管理主機的IP-MAC記錄,理論上應該是能夠通的纔對(這裏掉進坑裏了) 。網上搜索了半天,也木有找到類似情況的介紹,折騰了一天還是沒啥進度。
實在沒轍了,手動清理了交換arp表,突然管理主機就可以訪問了。
難道問題就是ARP這裏??
爲了復現故障,嘗試在管理主機重新執行操作,登錄、備份配置tftp,繼續操作,幾分鐘後突然掉線。換主機登錄交換,刪除ARP記錄,再次恢復。
那麼到底是哪一個操作造成ARP記錄的??
多次測試後發現,只要執行了備份配置到tftp,tftp所在的服務器就無法訪問此交換機,同時交換機本地會生成tftp服務器的ARP項目。
原因分析:
管理主機(90.24/24)和交換機(0.5/24)處於兩個不同的網絡中,管理主機telnet訪問交換機時,數據通過網關傳遞給交換機,交換機也通過網關回傳數據。但是在執行copy running tftp過後,交換機本地新增了ARP緩存,記錄了管理主機的ip-mac對應關係。導致交換機回傳數據時,直接從ARP表抓取MAC地址封包傳遞,數據不經過網關,僅僅在本網段傳送,導致管理主機和交換機異常斷開,且只要使用這個IP的主機,都不能和交換機通信。
這個應該是交換機IOS的一個bug,在網上找到一個類似的情況,
解決辦法:
1.升級IOS版本到SE7以上
2.執行no ip arp gleaning tftp /udp
官方鏈接:http://tools.cisco.com/quickview/bug/CSCun38166
參考鏈接:http://www.devilwah.com/2015/05/the-mystery-of-cisco-2960s-and-strange-arp-cache/