为什么按阶段看原因码
802.1X 的失败不是一件事:EAP 协商、身份校验、密钥协商是三个独立阶段,任何一步没走完都会表现成「认证失败」。把失败时刻与三源日志(终端、控制器、RADIUS)对齐,就能判断卡在哪一步,避免一上来就改 RADIUS 策略,把时间浪费在错误的位置。
三个阶段
| 阶段一 EAP 开始 | 终端未发起 EAPOL 或 AP 未转发,多为终端配置、驱动或 SSID 安全模式不匹配 |
|---|---|
| 阶段二 身份校验 | RADIUS 返回 Reject,多为密码、证书、账号状态或策略问题 |
| 阶段三 密钥协商 | 四次握手超时或 MIC 错误,多为密钥不一致、丢包或加密套件不匹配 |
| 三源证据 | 终端日志、控制器事件、RADIUS 日志 |
| 对齐锚点 | 失败时刻精确到秒,三侧时钟必须先同步 |
阶段与典型现象
| 阶段 | 典型日志 | 常见原因 |
|---|---|---|
| EAP 开始 | 控制器显示认证开始后长时间无响应 | 终端未发起,或 SSID 安全模式不匹配 |
| 身份校验 | RADIUS 返回 Access-Reject | 密码错误、证书过期、账号锁定 |
| 密钥协商 | 四次握手超时或 MIC 校验失败 | 密钥派生出错、丢包、加密套件不匹配 |
| 授权之后 | 认证成功但拿不到地址 | 下发的 VLAN 未定义或 DHCP 不可达 |
| 认证成功后被踢 | 会话中断 | 检查 Session-Timeout 与动态授权策略 |
三源日志对齐
三源日志对齐
# 1. 先记录失败时刻,精确到秒
# 2. 控制器侧检索该时刻的 802.1X 事件(命令随厂商不同)
show client detail <终端MAC>
# 3. 服务器侧检索同一时刻的请求
grep -n "Access-Reject\|Login incorrect" radius.log | tail -n 20
# 4. 终端侧确认本地阶段(Windows:WLAN-AutoConfig)三源日志对齐能把笼统的「认证失败」细化到单一环节。只看一侧的提示就动手改配置,返工概率很高,尤其是把密钥协商问题当成密码问题。
不同厂商的原因码含义有差异,务必查对应版本的文档对照。凭记忆解读会把排查方向带偏,越查越乱。