得到用户反馈,一个高速项目部的wifi无法接入,让排查原因。
反馈有的手机能接入,有的接入不了。查看ac界面发现有个终端获得的ip是169.254.xxx.xxx。
ip地址是169.254.96.17显然是手机打开wlan开关后,鉴权通过后dhcp过程,discover消息没有应答超时导致,自身操作系统分配的链路层ip地址,检查一下设备的dhcp服务器的情况。
ssh登录ac,检查手机的dhcp池,dhcp池手机的池名为vlan100,ip范围192.168.100.20-192.168.101.200,子网是192.168.100.0/23 255.255.254.0,租期是一天。
发现vlan100手机地址池没有显示
show ip dhcp lease act | include 192.168100. 显示已经分配的ip地址,过滤192.168.100网段
发现很多,查看dhcp池的总结show ip dhcp lease summary
发现vlan100这个free态为0,abandon冲突拒绝的很多。
查看dhcp池的参数:
发现子网是192.168.100.0/23,ip范围是192.168.100.20-192.168.101.200,租期是1天,建议扩到192.168.100.0/22,ip扩到192.168.100.20-192.168.103.200,租期改短为1小时,提高ip利用率。
现阶段,abandon冲突的ip太多,导致142个ip无法被使用,可以释放一下,供手机获取地址。
clear ip dhcp lease abandon执行后,看效果
用户反馈,已经能成功接入,暂时未采纳该dhcp池掩码,减小租期的建议。
abandon冲突拒绝的原因,可能广播域里有arp代答的设备,当设备dchp获得地址后,会发出arp探查消息,检查是否在广播域里存在这个ip地址,存在时,设备会不接受的消息,要求dhcp池设备重新分配,直到探查不冲突为止。
模拟一下,ac修改vlan5的dhcp池,租户192.168.205.148-192.168.205.150,环境里有个pc配置为192.168.205.150,00-0F-C9-24-10-B1,清理dhcp服务器的租户信息,手机dc:73:85:c6:7c:39平时获取地址位192.168.205.150接入后显示如下抓包:
租期是一天,手机重新连接,使用192.168.205.150这个地址,ack确定后,手机发出arp探查消息,广播域里存在这个ip地址,报冲突后,重新发起dhcp过程,使用192.168.205.148这个地址,发起arp探查,没有冲突后,使用这个地址。
IIIOT#show ip dhcp lease act
DHCP Lease Information
(current time : 10/29 15:57:07)
Client Name IP Address MAC Address Status Start End Remain
ANG-AN00 192.168.205.148 dc:73:85:c6:7c:39 active 10/29 15:48:31 10/29 16:48:31 00h:51m
Total lease count with all interfaces : 1
重新发起dhcp的discover流程,offer,request ,ack这些流程
没有冲突,就使用这个ip地址
ac上显示
IIIOT#show ip dhcp lease conflict
DHCP Lease abandon ip Information
(current time : 10/29 16:06:36)
IP Address Status discover time free time
192.168.205.150 abandoned 10/29 15:48:30 10/29 16:48:30
Total lease count with all interfaces : 1
这个ip被放到黑名单,不再被分配。
结论:环境里可能存在arp代答设备,造成多个ip冲突,不正常