實戰案例:每次集體斷電后,總有那么一些 AP 無法上線?呵,真是有意思(智障)的案例!
本期分享的案例是有線網絡的相關問題。
1. 背景介紹
某個商場使用了某P品牌的AC+AP,一共是50多個點位,實現無線覆蓋組網,近期運維人員發現,每次機房斷電后,總有那么一些AP沒法上線,必須要嘗試斷電重啟(拔插PoE交換機端口)這些AP多次才能上來。
拓撲也是很簡單:
- 網段:192.168.0.0/23,起始地址為:192.168.0.1—192.168.1.254
2. 處理思路
針對AP離線的問題,我們的標準排查思路是什么呢?主要如下:
- 確認AP的運行狀態和接線是否正常;
- 確認AP是否正確獲取到了IP地址;
- 確認AP是否正常屬于網絡中,并且AC能ping通AP設備;
- 如果是跨三層管理,注意DHCP服務器上是否配置了option字段保證AP能單播找到AC實現管理。
來吧,一個一個看,很有意思。
3. 排查分析
第一步:確認AP的運行狀態和接線是否正常
- AP接線確認:通過POE交換機上網線標簽,確認網口燈是正常亮的,POE供電和Link正常
- AP狀態確認:我們找到了離線AP,定睛一看,AP的指示燈是常量的,說明已經被管理了。
意味著什么?意味著AP設備可能已經被管理了,但是這個是離線設備,是不是匪夷所思?
第二步:確認AP是否正確獲取到了IP地址
現場是一個二層網絡,所以可以直接在核心交換機的ARP表上查看是否有學到離線AP的IP-MAC就行:
發現是能正常學到的,但由于ARP表項老換時間過長,學到了不一定表示其一直在網絡中,那么下來看一下交換機的MAC地址表中有沒有:
有學到了MAC地址條目,并且處于15號口,那就說明AP設備一定還在網絡中的,基本排除了物理連通性問題。
第三步:測試AC能ping通AP設備
AC要想正常管理到AP,兩者必須是通的,所以下一步在AC的診斷工具中自己去ping該AP,發現是ping不通的,然后用核心交換機去ping該AP:
發現核心也ping不通AP!但是又能學到它的ARP,這又是怎么一回事呢?玄學吧!而其它正常在線的AP都是能通的,下來進一步再確認AC是否跨三層管理AP,很顯然這個網絡不需要,所以無需關注option配置。
第四步:抽絲剝繭
所以各位,我們把上面的證據收集下來然后剖析一下:
- AP離線,但是接線link正常,指示燈常量(被管理)
- 核心交換機能學到離線AP的ARP,并且MAC表能查到AP對應的端口,其就在網絡中沒跑
- AP能拿到IP 192.168.1.12,192.168.0.1的核心和192.168.0.253的AC卻ping不通它
那么,真相似乎只有一個了!離線AP被其它AC設備管理到了,并且非法AC給AP分配的地址應該是192.168.1.X/24。反推完美解釋上述三條證據鏈!如何驗證?空口抓包看看。
第五步:空口抓包驗證非法AC的存在
因為接入POE交換機是傻瓜式的嘛,所以無法端口監AP確認其交互情況。但可以直接抓空口廣播包確認,為何?因為AP在DHCP交互時會有廣播交互。我們就看看,出了核心交換機給它分配地址,還有誰!
重啟一個AP后,看到沒有,出了0.1這個核心,還有1.253給它分配了地址,看下內容:
OK,確認找到了非法AC設備,這個設備的IP正是192.168.1.253。然后通過這個IP登錄看看:
果不其然,離線AP都在上面上線了。但是這臺非法AC為何會出現在網絡里呢?說來好笑,是因為現場的交換機不夠用了,正好發現一臺“類似交換機”的設備直接插上就用,欸,發現有線也好使。
4. 原理及解決方案
(1) 故障原理
非法AC當成交換機接入網絡使用,AP重啟時會概率性的給它分配192.168.1.0/24 IP地址,所以這些AP沒法和192.168.0.X網段的交換機、合法AC通信,并且在非法AC上上線。
(2) 解決方案
將非法AC設備192.168.1.253從網絡中撤掉即可。