802.1X有许多时间参数,这些时间参数决定了802.1X系统按照什么样的次序工作,在代码中他们被定义为定时器(timer)。
H3C交换机dot1x的时间参数
Configuration: Transmit Period 30 s, Handshake Period 15 s
Quiet Period 60 s, Quiet Period Timer is disabled
Supp Timeout 10 s, Server Timeout 100 s
Reauth Period 3600 s
The maximal retransmitting times 2
T&W交换机dot1x的时间参数
Common Timers
Reauthenticate Period: 3600
Inactive Timeout : 60
Quiet Period : 60
802.1x Parameters
EAP Max Request : 2
EAP TX Period : 30
Supplicant Timeout : 30
Server Timeout : 30
参数介绍与测试
1、“EAP TX Period : 30”、“Transmit Period 30 s”
用户名请求时间间隔:由交换机发出的EAP-Request/Identity报文,用来请求认证客户端回应认证的用户名。无论是客户端主动发起的认证还是我们设备主动发起的认证,只要当我们交换机发出EAP-Request/Identity请求用户名的报文后,该定时器随即开始计时,如果在定义的时间参数内没有收到客户端的响应报文的话,将再次发送EAP-Request/Identity请求用户名报文。
该时间参数测试方法比较简单,但是要注意分别测试两种情况下面的时间参数。
其一,由pc端EAPOL-start主动发起的认证,EAP-Request/Identity报文在没有收到响应后隔多久再次发送
其二,pc端不支持EAPOL-start报文,由switch端定期发送EAP-Request/Identity的时间间隔
2、 “Supp Timeout 10 s”、“Supplicant Timeout : 30”
客户端认证超时定时器(supp-timeout):当交换机向客户端发送了 EAP-Request/MD5 Challenge 请求报文后,交换机启动此定时器,若在该定时器设置的时长内,设备端没有收到客户端的响应,设备端将重发该报文
该时间参数的测试稍微麻烦,我是借助发包工具来进行测试的。首先抓取完整的DOT1X+RADIUS认证报文,然后再选中其中由客户端发出的EAPOL-start报文和EAP-Response/Identity报文,然后用发包工具模拟发出去,这样就模拟了EAP-Request/MD5 Challenge请求之前的完整报文了,当交换机再发出EAP-Request/MD5 Challenge 报文时自然得不到响应,然后就可以测出重传间隔了。下图,分别设置supp-time为30s和10s的测试结果。该测试方法适用于EAP/CHAP/PAP等认证方法。
3、“Server Timeout : 30”、“Server Timeout 100 s”
认证服务器超时定时器(server-timeout):当交换机向认证服务器发送了 RADIUS Access-Request 请求报文后,设备端启动 server-timeout 定时器,若在该定时器设置的时长内,交换机没有收到认证服务器的响应,交换机将重发认证请求报文。
该时间参数测试方法比较简单,所有参数正确配置后,将服务器关闭即可。这样交换机在给服务器发送RADIUS Access-Request 请求报文后,自然收不到响应。但是在配置radius服务器的时候其也自带该参数而且时间比这个定时器短,所以每次测试的结果都是按照那个定时器来的。无论是H3C的还是T&W的,导致无法测试该时间参数。
T&W
H3C
4、“Quiet Period 60 s”、“Quiet Period : 60”
静默时间间隔:用户在尝试max认证次数后仍然认证失败,设备端需要静默一段时间(该时间由静默定时器设置),在静默期间,设备端不处理该用户的认证请求。
该时间参数的测试可以结合“The maximal retransmitting times 2”、“EAP Max Request : 2”。当交换机发送过2次EAP-Request/Identity报文,仍然没有认证成功。此时需要进入Quiet时间,才能接着Running认证。如下图,最大请求次数为5,当发送了5次请求没有响应,进入20s的静默时间。
5、“The maximal retransmitting times 2”、“EAP Max Request : 2”
最大请求次数:它代表了每次认证客户端可以尝试的次数,它不属于时间参数,测试方法见上点内容。
6、“ Inactive Timeout : 60”
T&W交换机特有的不活动定时器:客户端认证成功,但是客户端停止活动后启动该定时器。比如说我的客户端关机啦,或者网线掉了。交换机发送的EAP-Request/Identity报文不再得到该客户端的回复了。在定时器结束后,认证的session消失。
该时间参数的测试方法为拔掉网线,看定时器结束后session会不会消失。
7、“Handshake Period 15 s”
H3C交换机的握手定时器(handshake-period):此定时器是在用户认证成功后启动的,交换机以此间隔为周期发送握手请求报文,以定期检测用户的在线情况。如果配置发送次数为 N,则当设备端连续 N 次没有收到客户端的响应报文,就认为用户已经下线。和T&W交换机检测客户在线情况的实现方式不一样,最终效果一样,测试方法雷同。
8、“Reauth Period 3600 s”、“ Reauthenticate Period: 3600”
周期性重认证定时器(reauth-period):如果端口下开启了周期性重认证功能,设备端以此定时器设置的时间间隔为周期对该端口在线用户发起重认证。
该时间参数的测试方法,开启重认证功能,设置重认证定时器为300s。wirshark抓包,查看第二次认证和第一次认证成功之间的时间间隔。