ap无法上线问题定位(交换机发包没有剥掉pvid tag)
一中学,新开的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发现有很多。