这几天处理新客户端故障,主要用的方法就是三个:
(1)iNode 日志。
安装日志在 C:\iNodeLog 文件夹下,运行日志在 安装目录\Logs 文件夹下。不过实话说,这个日志格式实在太烂,根本就看不明白到底在说什么。
(2)接入交换机上的 debugging 信息:
terminal monitor
terminal debuggingdebugging radius packet
debugging dot1x all
只有在必要的情况下才能给交换机开启 debugging 功能。debugging 将会严重增加交换机的 CPU 负荷,严重影响网络的正常运行。
使用完 debugging 后,应立即使用命令
undo debbuging all
取消所有 debugging。
(3)抓包信息。
用 Ethereal 抓包,主要关注 EAP 报文。
基于 EAP-MD5 的 802.1x 认证流程
如上图所示,山东大学校园网采用基于 EAP-MD5 的 802.1x 认证方式。在一台主机上开始认证,并同时抓包。抓包结果如下(仅显示 EAP 报文):
说明如下:
- 用户打开 802.1x 客户端程序,输入用户名和口令,发起连接请求。此时客户端程序发出 EAPoL-Start 请求认证的报文给接入设备,开始认证过程(第 1 帧)。
- 接入设备向客户端发送 EAP-Request / Identity 报文,要求客户端发送用户名(第 2 帧);
- 客户端回应一个 EAP-Response / Identity 给接入设备,其中包括用户名(第 3 帧);
- 接入设备将 EAP-Response / Identity 报文封装到 RADIUS Access-Request 报文中,发送给认证服务器;
- 认证服务器产生一个 Challenge,通过接入设备将 RADIUS Access-Challenge 报文发送给客户端,其中包含有 EAP-Request / MD5-Challenge;
- 接入设备通过 EAP-Request / MD5-Challenge 发送给客户端,要求客户端进行认证(第 4 帧);
- 客户端收到 EAP-Request/MD5-Challenge 报文后,将密码和 Challenge 做 MD5 算法后的 Challenged-Password,在 EAP-Response / MD5-Challenge 回应给接入设备(第 5 帧);
- 接入设备将 Challenge,Challenged-Password 和用户名一起送到 RADIUS 服务器,由 RADIUS 服务器进行认证;
- RADIUS 服务器根据用户信息,做 MD5 算法,判断用户是否合法,然后回应认证成功 / 失败报文到接入设备。如果成功,携带协商参数,以及用户的相关业务属性给用户授权(第 7 帧)。如果认证失败,则流程到此结束。
如果认证通过,则可以进行 DHCP、RADIUS 计费等过程。