一中學,新開的40臺ap+poe交換機+核心交換機+旁掛ac+出口路由的組網,反饋ap無法上線,讓協助解決。
組網如下:
排查過程:
檢查ac的配置,沒有發現問題
發現配置沒有問題,vlan1000配置子接口,而且vlan是up態,eth5是trunk,透傳vlan1000
show? mac-address發現,有ap的mac地址,而且是廠家的mac地址前三段。
說明ap的二層消息已經到達ac,看看arp? -n發現,有大量的arp表項是incomplete態,奇怪為啥這樣?ac切到linux下,tcpdump抓包發現,ping一下ap的地址,發現arp消息發出后沒有響應,但能看到ap發來的二層廣播消息,難道經過的節點廣播消息單通?
為了排查問題,排除ac的問題,把ac的一個空閑端口設置為access vlan 1000,然后把ac和ap網線直連,發現ap獲得ip正常,ping正常,ap在ac上注冊正常。
直連沒有問題,經過節點交換機后不正常,顯然是經過節點交換機的問題!!!!
問題不在ac,pc配置一個192.168.1.xx的靜態ip,接到ap的空閑口上,去訪問192.168.1.1,看看能訪問不,能的話,ssh登錄到ap的192.168.1.1上,斷開ap與交換機的線,抓包看看,看看經過交換機后,能否收到ac的響應包?
192.168.1.1是ap的缺省訪問地址,ap有一個poe的wan口和兩個lan口,瘦ap模式下,三個網口在同一網橋下br-wan下,br-wan配置了一個ip192.168.1.1,所以可以用pc訪問ap,用tcpdump抓包
tcpdump? -i br-an? -nnevXX?? arp??? XX顯示mac層
發現收到大量arp消息,但攜帶了vlan tag 1000
ac的ip改成了172.50.1.254,廣播域里有arp消息,但從poe交換機出來的包攜帶了vlan tag!!!!
ap有線口發出包,管理包不帶vlan tag,管理包需要打vlan tag的話必須在交換機的端口trunk口通過交換機設置端口pvid完成,業務包發出會攜帶設置的tag,就是ap有線口發出不帶tag和攜帶業務設定tag的兩種包出去,交換機對接接口應允許設定業務vlan tag通過。
ap的wan相當于一個trunk口,配置有pvid,關聯vlan為pvid配置值,出ap,刪掉vlan tag發出,入ap,打上pvid設置的值。用戶關聯ap后,ac給ap下一個station 關聯請求消息,攜帶有業務vlan tag值,ap發出業務包就攜帶設置vlan id值,從ap的wan口透傳出去。
起兩個ap的ssh連接,一個執行ping? 172.50.1.254? -w 4,四秒ping結束,另一個ssh進行抓包
tcpdump? -i br-wan? -nnevXX ? ether? host?20:1f:54:f7:3b:40 and arp,抓ap的mac地址的arp包
發現如下:
發現arp響應包攜帶了vlan tag,而且是vlan1000,poe交換機配置的pvid值,結論是poe交換機發包沒有刪除pvid的tag!!!!
讓找交換機的廠家研發反饋,得到答案是這款poe是特殊的交換機,要刪除出包到pvid,必須把端口設置在一個特殊標志位,在其重新設置互,發現ping正常,ap上線正常。
如上圖,在ac上發現有arp正常的,還有一些不正常,讓把剩余poe交換機修改標準位后,反饋ap上線正常問題解決。
一般,交換機里所有的包都帶vlan tag,交換機trunk口收發包,收包,不帶tag的,打上pvid值進入交換機,帶tag,查是否在允許通過的列表里,在,帶tag進入,不在,丟棄。
發包,檢查攜帶vlan tag是否等于pvid,等于,剝掉vlan tag發出,不等于,檢查是否在允許通過列表里,在,帶tag發出,不在,丟棄。
此款交換機有特殊設置,導致的問題。
ac上收到dhcp的discover消息,就發出offer,就認為此ip已經被發出,dhcp標準位此ip被分配,所以在ac檢查dhcp lease發現有很多。