背景信息
如下图所示,当设备向802.1X客户端发送了EAP-Request/MD5 Challenge请求报文后,设备启动802.1X客户端认证超时定时器。若在该定时器设置的时长内,设备没有收到客户端的响应报文,设备将重传请求报文。若设备重传请求报文的次数达到配置的最大值后,仍然没有收到客户端的响应报文,则停止重传,并向客户端发送认证失败报文。
设备重传EAP-Request/MD5 Challenge报文的时间间隔由命令client-timeout client-timeout-value配置,次数由命令dot1x retry max-retry-value配置。EAP-Request/MD5 Challenge请求超时计算公式为:Timeout = (max-retry-value +1) * client-timeout-value。
故障现象
Trace诊断信息显示如下:终端没有回应EAP-Request/MD5 Challenge报文,超过重传次数后设备发送了Failure报文。
处理步骤
情况一:
终端不响应EAP-Request/MD5 Challenge报文的情况可能和终端操作系统中802.1X认证功能依赖的某些服务存在关系。
例如:某些终端在802.1X认证成功之前不能获取到IP地址时,此时需要在系统视图下执行命令undo authentication pre-authen-access enable,关闭预连接功能以限制终端获取IP地址的权限。
情况二:
还有某些终端,尤其涉及到证书相关内容时,回应Request Challenge请求比较慢,有时长达1分多钟。而设备的超时重传等待时间默认只有15秒,超时后设备发送Failure报文,之后又收到终端的回应报文。此时就需要通过分析报文来计算终端大致的回应时间。
如下图所示,第1327报文是设备发给终端的Request Challenge,第1425和1447报文是重传,重传结束后发送第1471个认证失败报文。直到第1518报文终端才回应了Response Challenge,中间间隔了28秒,所以需要调整设备超时重传等待时间大于28秒。
传统模式下,需要在系统视图下执行命令dot1x timer client-timeout 30、dot1x retry 2。
统一模式下,需要在802.1X接入模板视图下执行命令dot1x timer client-timeout 30、dot1x retry 2。