故障现象:
部分STA无法获取ip地址
故障确认:
收集故障终端的MAC地址:9C2E.A125.6EAA;
该测试终端在核心上没有DHCP表项信息。
排查过程:
1.基本表项排查
检查核心上的DHCP分配情况(通过show ip dhcp pool 或者show ip dhcp bin查看地址池中最后一个地址是否被分配),判断出地址池没有用尽;
怀疑DHCP-Snoop表项满导致,检查配置后发现设备上并没有开启Dhcp-Snoop的功能;
检查AC上的配置,在WLANSEC上有配置IP地址防私设;在不修改配置的前提下,无法配置静态IP地址进行测试。
2.排查方法
1. 单独放出一个测试信号(不广播SSID)且信号为本地转发,让测试终端进行连接,测试终端无法获取IP地址;
2. 在AC上(show ac-config client)查看到该STA在5869.6FCF.6DB5这台AP上;
3. 通过(show ap-config sum)查看该AP的IP地址进行远程telent到AP上;
4. 使用debug packet function all protocol 0x10查看DHCP报文发送情况,AP已经将DHCP的DIS报文传出去,故障可以判断为并非AP的问题;
5. 大二层环境有问题,为了减小广播域和减少交换机MAC地址的学习,在相应的接口上做了vlan的裁剪;
6. 交换机重启,故障消失;可以确定和交换机关联性大;
7. 故障重现;
8. 在上连交换机上查看MAC地址表信息,没有学习到测试终端的MAC地址,检查POE交换机的MAC地址表容量(show mac-address-table count)已经满了,怀疑可能线路中存在环路或者部署上有问题;
3.寻找MAC地址表满的原因
1. 从查看到的信息得到POE交换机的MAC地址表容量为1015条,目前已经使用完;
2. 检查MAC地址表中的内容,大部分的MAC地址均为上连汇聚交换机上学习到的;
3. 对比汇聚和核心上的MAC地址表,汇聚和核心上的MAC地址只有156条,再认真观察接入交换机上的MAC地址,有大多数为一个月前的MAC地址;
4. 查看设备MAC地址的老化时间(show mac-address-table age time)为300S,但是MAC条目并未正常老化,怀疑交换机表项老化异常;
解决方案:
将交换机的版本升级到最新版本
故障总结:
本次故障为接入交换机的MAC地址表满导致该交换机无法正常转发二层的DHCP-DIS报文,导致核心交换机上无法收到DHCP-DIS报文,故导致STA无法获取IP地址。