802.1X认证失败故障处理
简介
本文介绍华为S系列交换机作为接入设备时,802.1X认证失败的常见原因以及处理方法,内容适用于有线802.1X认证和无线802.1X认证场景。通常情况下,802.1X认证会涉及多个第三方客户端和服务器,如果故障出现在第三方设备上,需要协同第三方设备供应商进行处理。
快速定位802.1X认证失败原因
802.1X用户上线过程包括认证和接入两部分,认证技术使用的是AAA功能,用的最多是RADIUS协议,接入技术就是802.1X协议。定位802.1X认证失败首先需要排除相关配置错误,然后根据命令或者Trace诊断功能定位具体失败原因。如下所示,通常分为三步:
- 确认AAA配置和802.1X配置是否正确。
查看用户上线失败原因。
执行命令display aaa online-fail-record,根据User online fail reason字段确认用户上线失败原因。
如果仅通过失败原因无法直接修复故障时,可以执行步骤3,根据用户的MAC地址或IP地址,输出指定用户在认证过程中的状态变化、协议处理结果等Trace诊断信息进行故障修复。
查看Trace诊断信息。开启Trace诊断功能的方法如下:
- 系统视图下,执行命令trace enable,开启Trace诊断功能。
- 系统视图下,执行命令trace object mac-address mac-address,根据用户的MAC地址创建诊断对象。
失败原因 |
含义 |
处理建议 |
---|---|---|
用户使用了错误的域 |
- |
|
设备、终端或RADIUS服务器的EAP认证方法不一致 |
- |
|
Radius authentication reject |
RADIUS服务器认证拒绝 该原因为User online fail reason字段显示信息 |
|
Received a authentication reject packet from radius server(server ip = x.x.x.x). |
收到RADIUS服务器的认证拒绝报文 该原因为Trace打印信息 |
|
The radius server is up but has no reply |
RADIUS服务器Up但无响应 该原因为User online fail reason字段显示信息 |
|
The radius server is not reachable |
RADIUS服务器不可达 该原因为User online fail reason字段显示信息 |
|
AAA receive AAA_RD_MSG_SERVERNOREPLY message(61) from RADIUS module(73). |
AAA模块收到RAIDIUS服务器无响应的消息 该原因为Trace打印信息 |
|
User is still in quiet status |
用户处于静默状态 该原因为Trace打印信息 |
|
Remote user is blocked或者Local Authentication user block |
用户账号被锁定 该原因为User online fail reason字段显示信息 |
|
No response of request identity from user |
未收到终端的Request Identity响应报文 该原因为Trace打印信息 |
|
No response of request challenge from user |
未收到终端的Request Challenge响应报文 该原因为Trace打印信息 |
802.1X认证失败处理方法
用户使用了错误的域
背景信息
设备基于域统一管理AAA配置信息(认证协议、授权协议、计费协议和认证服务器等),用户使用哪些AAA配置信息是由用户使用的域决定的。为保证用户能够使用预期的AAA配置信息,首先要保证用户使用正确的域。域分为强制域、用户自带域和默认域三大类,使用时有优先级顺序。
处理步骤
NAC配置模式分为统一模式和传统模式两种,不同模式下的故障处理方法有差异。故障处理前,请先执行命令display authentication mode确认NAC配置模式:
- 回显信息中显示Current authentication mode is unified-mode,表示当前为统一模式。
- 回显信息中显示Current authentication mode is common-mode,表示当前为传统模式。
统一模式下
用户使用域的优先级顺序如下:
- 认证模板下802.1X用户的强制域,通过命令access-domain domain-name dot1x force配置
- 认证模板下所有用户的强制域,通过命令access-domain domain-name force配置
- 用户自带域,由用户名携带,例如用户认证时输入的用户名为user1@huawei.com,设备配置的域名分隔符为@,则用户自带域为huawei.com
如果用户名中不携带域名或携带的域名不存在,用户将会在以下默认域中进行认证。
- 认证模板下802.1X用户的默认域,通过命令access-domain domain-name dot1x配置
- 认证模板下所有用户的默认域,通过命令access-domain domain-name force配置
- 全局默认域,系统视图下通过命令domain domain-name配置
依次检查认证模板下配置的强制域、默认域、用户自带域和全局默认域。并按照以上描述的域的优先级顺序,确定用户使用的域。找到用户使用的域后检查域内的AAA配置信息是否是预期的内容(例如是否是RADIUS认证、RADIUS服务器是不是要用的服务器等),如果是,则排除域配置错误的原因;如果不是,则需要修改域下的配置或重新指定域。
- 执行命令display authentication-profile configuration,确认认证模板下域的配置信息。
<HUAWEI> display authentication-profile configuration name authen1 ……… Force domain : - //认证模板下所有用户的强制域 Dot1x force domain : - //认证模板下802.1X用户的强制域 Mac-authen force domain : - Portal force domain : - Default domain : - //认证模板下所有用户的默认域 Dot1x default domain : - //认证模板下802.1X用户的默认域 Mac-authen default domain : - Portal default domain : -
- 确认用户自带域,例如用户认证时输入的用户名为user1@huawei.com,设备配置的域名分隔符为@,则用户自带域为huawei.com。
- 执行命令display aaa configuration,确认全局默认域。
<HUAWEI> display aaa configuration …… Administrator user default domain: default_admin Normal user default domain : huawei //全局默认域 Domain : total: 32 used: 2 Authentication-scheme : total: 17 used: 2 Accounting-scheme : total: 16 used: 1 Authorization-scheme : total: 16 used: 1 .......
- 找到用户使用的域后,执行命令display domain name domain-name,确认该域下的AAA配置信息是否是预期的内容。
<HUAWEI> display domain name huawei …… Authentication-scheme-name : radius //认证方案 Accounting-scheme-name : default //计费方案 Authorization-scheme-name : - //授权方案 Service-scheme-name : - RADIUS-server-template : default //RADIUS服务器模板
然后执行命令display authentication-scheme、display accounting-scheme、display radius-server configuration template确认配置是否正确。
传统模式下
用户使用域的优先级顺序如下:
- 802.1X用户认证接口下配置的域,通过命令dot1x domain domain-name配置。
- 用户自带域,由用户名携带,例如用户认证时输入的用户名为user1@huawei.com,设备配置的域名分隔符为@,则用户自带域为huawei.com
- 全局默认域,系统视图下通过命令domain domain-name配置
依次检查用户认证接口下配置的域、用户自带域和全局默认域。并按照以上描述的域的优先级顺序,确定用户使用的域。找到用户使用的域后检查域内的AAA配置信息是否是预期的内容(例如是否是RADIUS认证、RADIUS服务器是不是要用的服务器等),如果是,则排除域配置错误的原因;如果不是,则需要修改域下的配置或重新指定域。
先确认接口下是否指定了802.1X认证域,最后再确认全局默认域。可以执行以下步骤进行排查。
设备、终端或RADIUS服务器的EAP认证方法不一致
背景信息
802.1X认证系统使用可扩展认证协议EAP(Extensible Authentication Protocol)来实现客户端、设备和认证服务器之间的信息交互。EAP认证方法可分为EAP中继(常用的有EAP-TLS、EAP-TTLS、EAP-PEAP)和EAP终结(常用的有PAP和CHAP)。
配置EAP认证方法时需要注意以下几点:
- 需要保证客户端、设备和认证服务器上EAP认证方法配置一致。
仅RADIUS认证支持EAP中继方式。
本地认证仅支持EAP终结方式。
- 对于绝大多数终端,设备需配置EAP中继方式。
由于手机终端通常不支持EAP终结方式,故手机终端认证时不支持配置为802.1X+本地认证方式。笔记本电脑等终端也需要安装第三方客户端才能支持EAP终结方式。
当接口下已经有802.1X用户在线时,在接口绑定的802.1X接入模板下修改EAP认证方法,如果是EAP终结和EAP中继两种方式之间切换,已经在线的用户会下线,如果是EAP终结之间的CHAP和PAP之间切换,用户不会下线。
处理步骤
NAC配置模式分为统一模式和传统模式两种,不同模式下的故障处理方法有差异。故障处理前,请先执行命令display authentication mode确认NAC配置模式:
- 回显信息中显示Current authentication mode is unified-mode,表示当前为统一模式。
- 回显信息中显示Current authentication mode is common-mode,表示当前为传统模式。
统一模式
执行命令display dot1x-access-profile configuration,根据Authentication method字段检查设备配置的EAP认证方法与客户端和RADIUS服务器是否一致。
<HUAWEI> display dot1x-access-profile configuration name d1 Profile Name : d1 Authentication method : EAP ......
统一模式下,802.1X用户认证方式默认为eap(即EAP中继认证方式)。如果不一致,请在802.1X接入模板视图下执行命令dot1x authentication-method { chap | pap | eap }修改802.1X用户认证方式。
传统模式
执行命令display current-configuration | include dot1x authentication-method,检查设备配置的EAP认证方法与客户端和RADIUS服务器是否一致。
<HUAWEI> display current-configuration | include dot1x authentication-method dot1x authentication-method eap
传统模式下,802.1X用户认证方式默认为chap(即CHAP的EAP终结认证方式)。如果不一致,请在系统视图或接口视图下执行命令dot1x authentication-method { chap | pap | eap }修改802.1X用户认证方式。
系统视图和接口视图下同时配置dot1x authentication-method时,接口视图下的配置优先生效。
RADIUS服务器回应认证拒绝报文(Access-Reject)
背景信息
RADIUS服务器回应认证拒绝报文(Access-Reject),表示客户端发送的Access-Request报文中某些属性未通过验证,客户端认证失败。
故障现象
RADIUS服务器回应认证拒绝报文时,查看命令display aaa online-fail-record all和Trace诊断信息的显示如下:
- 执行命令display aaa online-fail-record all,User online fail reason字段显示为Radius authentication reject。
<HUAWEI> display aaa online-fail-record all ------------------------------------------------------------------------------ ...... User login time : 2019/11/21 17:17:58 User online fail reason : Radius authentication reject Authen reply message : Remote authentication is rejecte... User name to server : test ------------------------------------------------------------------------------
- Trace诊断信息显示Received a authentication reject packet from radius server(server ip = 10.1.1.1),可以直接看到服务器的IP地址信息,定位到具体的服务器。
[BTRACE][2019/11/22 14:29:32][7177][RADIUS][000c-291a-4b03]: Received a authentication reject packet from radius server(server ip = 10.1.1.1). //收到RADIUS服务器的Access-Reject报文 ……. [BTRACE][2019/11/22 14:29:32][7177][RADIUS][000c-291a-4b03]:Send authentication reject message to AAA. [BTRACE][2019/11/22 14:29:32][7177][AAA][000c-291a-4b03]: AAA receive AAA_RD_MSG_AUTHENREJECT message(51) from RADIUS module(73).
处理步骤
服务器回应认证拒绝有多种原因,最常见的有用户名密码错误、RADIUS服务器授权策略无法匹配等,这些问题需要首先通过排查RADIUS服务器日志并且借助设备上的test-aaa功能,找到根因后,再调整服务器、终端或设备配置解决。
此外,对于使用到证书的802.1X认证,终端和服务器需要检验证书的合法性(终端采用EAP-PEAP认证时可以取消验证服务器证书)。遇到这类问题需要在终端或者服务器获取报文分析。常见的证书错误包括CA证书未加入终端信任列表,证书过期等,例如报错Unknown CA。
RADIUS服务器无响应
背景信息
用户认证过程中,设备会发送认证请求报文到RADIUS服务器。为避免由于网络故障、时延等原因导致设备无法收到服务器的回应报文,设备在发送认证请求报文到服务器时具有超时重传超时机制,重传次数和重传间隔通过定时器进行控制。如图1-1所示,在重传停止后,如果设备仍没有收到RADIUS服务器的回应报文,则会将RADIUS服务器的状态标记为Down状态或者无响应。
故障现象
RADIUS服务器无响应时,查看命令display aaa online-fail-record all和Trace诊断信息的显示如下:
- 执行命令display aaa online-fail-record all,发现User online fail reason字段显示为The radius server is up but has no reply或者The radius server is not reachable。
<HUAWEI> display aaa online-fail-record all ------------------------------------------------------------------------------ ...... User login time : 2019/11/22 14:28:45 User online fail reason : The radius server is up but has no reply Authen reply message : - User name to server : test ------------------------------------------------------------------------------
- Trace诊断信息显示AAA receive AAA_RD_MSG_SERVERNOREPLY message(61) from RADIUS module(73)。
[BTRACE][2019/11/22 16:11:33][7177][AAA][000c-291a-4b03]: AAA receive AAA_RD_MSG_SERVERNOREPLY message(61) from RADIUS module(73). [BTRACE][2019/11/22 16:11:33][7177][AAA][000c-291a-4b03]: CID:10 TemplateNo:0 SerialNo:39 SrcMsg:AAA_RD_MSG_AUTHENREQ PriyServer::: Vrf:0 SendServer::: Vrf:0
处理方法
情况一:RADIUS服务器上配置的shared-key与设备上配置的不一致
在设备上,RADIUS服务器模板视图下,执行命令radius-server shared-key cipherkey-string重新配置共享密钥;在RADIUS服务器上,重新配置共享密钥,保证与设备上配置的一致。
情况二:RADIUS服务器没有添加设备的IP地址或者添加的IP地址不正确
- 通过命令display radius-server configuration template name,可以确认是否通过命令配置了源IP地址。回显中字段Source IP表示源IP地址:
- 有显示,则表示通过命令配置了源IP地址,RADIUS服务器上的配置必须与显示的值保持一致;
- 无显示,则表示源IP地址使用的是默认值,需要通过第2步确认具体值。
<HUAWEI> display radius-server configuration template test_template ------------------------------------------------------------------------------ Server-template-name : test_template Protocol-version : standard Traffic-unit : B Shared-secret-key : %^%#bc<!/;OBSWm[r"*.7LDG+S@fC8VLL"2ul$Gje-lM%^%# Group-filter : class Timeout-interval(in second) : 5 Retransmission : 3 EndPacketSendTime : 3 Dead time(in minute) : 5 Domain-included : Original NAS-IP-Address : - Calling-station-id MAC-format : xxxx-xxxx-xxxx Called-station-id MAC-format : XX-XX-XX-XX-XX-XX NAS-Port-ID format : New Service-type : - NAS-IPv6-Address : :: Server algorithm : master-backup Detect-interval(in second) : 60 Authentication Server 1 : 192.168.1.1 Port:1812 Weight:80 [UP] Vrf:- LoopBack:NULL Vlanif:NULL Source IP: 192.168.1.101 Accounting Server 1 : 192.168.1.1 Port:1813 Weight:80 [UP] Vrf:- LoopBack:NULL Vlanif:NULL Source IP: :: ------------------------------------------------------------------------------
- 源IP地址使用的是默认值(即发送认证请求报文出接口的IP地址)时,需要通过查路由确认源IP地址。以简单的直连路由场景为例,RADIUS服务器的IP地址是192.168.1.1,通过查询路由可以看到NextHop是192.168.1.101,这个地址即作为认证请求报文的源IP,RADIUS服务器上的设置需要与该值保持一致。
<HUAWEI> display ip routing-table 192.168.1.1 Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Table : Public Summary Count : 1 Destination/Mask Proto Pre Cost Flags NextHop Interface 192.168.1.0/24 Direct 0 0 D 192.168.1.101 Vlanif4094
情况三:防火墙未放通RADIUS服务器的端口号
如果RADIUS服务器上设置的设备IP地址没有问题,需要进一步在设备和服务器侧同时进行报文分析确认中间链路是否存在问题。常见的链路问题有网络中存在防火墙,防火墙未放通RADIUS服务器的端口号(默认认证端口:1812,计费端口:1813)。
情况四:RADIUS服务器或者中间网络出现异常
如果大量用户无法认证,并且设备上有日志RDAUTHDOWN(表示RADIUS服务器Down),大概率是RADIUS服务器或中间网络出现异常,需要逐一排查。
Nov 22 2019 14:28:46+08:00 HUAWEI %%01RDS/4/RDAUTHDOWN(l)[10]:Communication with the RADIUS authentication server ( IP: 172.16.1.1 Vpn-Instance: -- ) is interrupted!
用户处于静默状态
背景信息
如图1-2所示,若某一用户在60秒内认证失败的次数超过命令dot1x quiet-times fail-times规定的值,则设备会将该用户静默一段时间,该时间由命令dot1x timer quiet-period quiet-period-value指定,在静默时间内,设备会丢弃该用户的802.1X认证请求,从而避免用户在短时间内频繁认证失败对系统造成冲击。
故障现象
Trace诊断信息显示:User is still in quiet status。
[BTRACE][2019/11/21 15:25:01][7177][EAPoL][000c-291a-4b03]:User is still in quiet status.(MAC:000c-291a-4b03) //终端处于静默状态,报文被丢弃 [BTRACE][2019/11/21 15:25:01][7177][EAPoL][000c-291a-4b03]:Quiet table check failure,drop the packet. [BTRACE][2019/11/21 15:25:01][7177][EAPoL][000c-291a-4b03]:Failed to check packet,drop the packet.(MAC=000c-291a-4b03).
处理步骤
<HUAWEI> display dot1x quiet-user all --------------------------------------------------------------- MacAddress Quiet Remain Time(Sec) --------------------------------------------------------------- 000c-291a-4b03 49 --------------------------------------------------------------- 1 silent mac address(es) found, 1 printed.
对应MAC地址的802.1X用户需要等待静默时间结束后,再重新尝试认证。也可以在系统视图下执行命令dot1x timer quiet-period quiet-period-times调小802.1X用户被静默的时间。
802.1X用户账号锁定
背景信息
为了保证用户账号和密码安全,设备提供账号锁定功能。在重试时间间隔内,如果某用户连续输入账号或密码错误并达到了限制次数,该账号将被锁定,经过锁定时间后账号才会解锁。
- 本地认证用户的账号锁定功能:默认已开启,用户在5分钟内连续3次输入的密码错误,该用户的帐号会被锁定5分钟。默认配置可以在AAA视图下通过命令local-aaa-user wrong-password retry-interval retry-interval retry-timeretry-time block-time block-time修改。
- V200R019C00版本之前,服务器认证用户的账号锁定功能:默认已开启,用户在5分钟内连续30次输入的密码错误,该用户的帐号会被锁定5分钟。默认配置可以在AAA视图下通过命令remote-aaa-user authen-fail retry-interval retry-interval retry-time retry-time block-time block-time修改。
- V200R019C00版本之后,服务器认证用户的账号锁定功能区分接入用户和管理员用户。
服务器认证的接入用户的账号锁定功能:默认关闭,可以在AAA视图下通过命令access-user remote authen-fail retry-interval retry-interval retry-time retry-time block-time block-time修改。
服务器认证的管理员用户的账号锁定功能:默认已开启,用户在5分钟内连续30次输入的密码错误,该用户的帐号会被锁定5分钟。默认配置可以在AAA视图下通过命令administrator remote authen-fail retry-interval retry-interval retry-time retry-time block-time block-time修改。
故障现象
执行命令display aaa online-fail-record all,发现User online fail reason字段显示为Remote user is blocked,表示远端认证用户账号被锁定;显示为Local Authentication user block,表示本地认证用户账号被锁定。
处理步骤
- 执行命令display local-user state block,查看被锁定的本地账号和剩余锁定时长。
<HUAWEI> display local-user state block ---------------------------------------------------------------------------- User-name State AuthMask AdminLevel BlockTime ---------------------------------------------------------------------------- test2 B T 0 2018-04-10 01:55:11-00:00 ---------------------------------------------------------------------------- Total 1 user(s)
<HUAWEI> display local-user state block username test2 The contents of local user(s): Password : **************** State : block Service-type-mask : T Privilege level : 0 Ftp-directory : - HTTP-directory : - Access-limit : - Accessed-num : 0 Idle-timeout : - Block-time-left : 8 Min(s) //表示8分钟后,账号test2会被解锁,可以重新认证 Original-password : Yes Password-set-time : 2019-01-27 13:26:55+08:00 Password-expired : No Password-expire-time : - Account-expire-time : -
- 根据剩余锁定时长Block-time-left,确认被锁定的账号是否需要立即激活。
- 如果需要,请在AAA视图下执行命令local-user name state active激活该用户。激活后需要使用正确的用户名密码登录,否则失败次数达到条件后仍会被锁定。
- 如果不需要,请在剩余锁定时长后,使用正确的用户名密码登录,否则失败次数达到条件后仍会被锁定。
如果一个账号被多个终端使用,该账号被锁定后,使用该账号的所有终端认证时都会认证失败。
未收到终端的EAP-Request/Identity响应报文
背景信息
在802.1X认证中,设备会向客户端发送EAP-Request/Identity报文请求用户名,请求报文的重传次数和时间间隔由命令行控制。
如图1-3所示,设备发送EAP-Request/Identity请求报文超时后,向客户端发送认证失败报文。
设备重传EAP-Request/Identity请求报文的时间间隔由命令dot1x timer tx-period tx-period配置、次数由命令dot1x retry max-retry-value配置。EAP-Request/Identity请求超时计算公式为:Timeout = (max-retry-value +1) * tx-period-value
故障现象
Trace诊断信息显示为No response of request identity from user。可以看到设备发出Request Identity报文没有收到回应,超时后设备进行了重传。
[BTRACE][2019/11/21 15:04:36][7177][EAPoL][000c-291a-4b03]:Send a EAPoL request identity packet to user. //第一次发送Request Identity报文 [BTRACE][2019/11/21 15:04:36][7177][EAPoL][000c-291a-4b03]:Add a Eap Packet Node to EAPOL Ucib, MAC is 000c-291a-4b03. [BTRACE][2019/11/21 15:04:36][7177][EAPoL][000c-291a-4b03]: EAPOL packet: OUT 00 0c 29 1a 4b 03 2c 97 b1 e9 52 a0 81 00 00 2a 88 8e 01 00 00 05 01 87 00 05 01 [BTRACE][2019/11/21 15:04:36][7177][EAPoL][000c-291a-4b03]: 802.1x packet: Version:802.1X-2001(1); Type:Eap(0); Length:5 EAPOL packet: Code:Request(1); Id:135; Length:5; Type:Identity(1) [BTRACE][2019/11/21 15:04:36][7177][EAPoL][000c-291a-4b03]:Send EAP_request packet to user successfully.(Index=134) [BTRACE][2019/11/21 15:05:06][7177][EAPoL][000c-291a-4b03]:No response of request identity from user. //30秒超时没有收到终端回应 [BTRACE][2019/11/21 15:05:06][7177][EAPoL][000c-291a-4b03]:Resend a EAPoL request identity packet to user. //再次发送Request Identity报文 [BTRACE][2019/11/21 15:05:06][7177][EAPoL][000c-291a-4b03]:Add a Eap Packet Node to EAPOL Ucib, MAC is 000c-291a-4b03. [BTRACE][2019/11/21 15:05:06][7177][EAPoL][000c-291a-4b03]: EAPOL packet: OUT 00 0c 29 1a 4b 03 2c 97 b1 e9 52 a0 81 00 00 2a 88 8e 01 00 00 05 01 87 00 05 01 [BTRACE][2019/11/21 15:05:06][7177][EAPoL][000c-291a-4b03]: 802.1x packet: Version:802.1X-2001(1); Type:Eap(0); Length:5 EAPOL packet: Code:Request(1); Id:135; Length:5; Type:Identity(1)
处理步骤
- 检查终端和接入交换机之间是否存在其它设备。
由于802.1X报文是组播协议报文,目的MAC地址是01-80-C2-00-00-03,交换机收到后默认不转发。如果终端和认证交换机之间还存在其它设备(二层交换机、路由器等),则需要中间设备能够透传802.1X报文。
- 如果存在,请执行步骤2。
- 如果不存在,请执行步骤4。
- 请检查中间设备是否支持透传802.1X报文。
- 如果不支持,请将这些设备更换为支持透传802.1X报文的设备,或者更换接入认证方式。
- 如果支持,请执行步骤3。
- 请检查中间设备是否已配置802.1X报文透传功能。
- 如果已配置,请执行步骤4。
- 如果未配置,请执行命令l2protocol-tunnel user-defined-protocol配置透传功能(以华为S系列交换机为例)。
l2protocol-tunnel user-defined-protocol 802.1X protocol-mac 0180-c200-0003 group-mac 0100-0000-0002 //系统视图下定义二层透明传输802.1X报文 # interface GigabitEthernet0/0/1 l2protocol-tunnel user-defined-protocol 802.1X enable //在下行和上行的接口上分别执行命令以使能接口的二层协议透明传输功能 #
- 检查终端是否有802.1X客户端。
- 如果有,请执行步骤5。
- 如果没有,请安装802.1X客户端。
- 检查终端是否已开启802.1X功能。
- 如果已开启,请执行步骤6。
- 如果未开启,请开启该功能,以Windows 7为例。
单击本地连接,选择“属性 > 身份验证”。选中“启用IEEE802.1X身份验证”。但是部分网卡属性中没有身份验证的选项卡,这是由于“控制面板 > 管理工具 > 服务”中没有开启Wired AutoConfig。
- 检查终端多次802.1X认证失败后是否进入静默状态。
- 如果未进入静默状态,请执行步骤7。
- 如果进入静默状态,请执行命令display aaa online-fail-record,根据User online fail reason字段检查其他上线失败原因来定位问题。用户可以通过禁用启用网卡或插拔网线快速恢复,或者调整终端的静默时间,以Windows 7系统为例,默认的静默时间是20分钟,可以通过CMD窗口执行命令netsh lan set blockperiod value调小静默时间,以加快认证接入网络速度。
C:\>netsh lan set blockperiod value=10
- 故障仍未解决时,请联系技术支持人员。
未收到终端的EAP-Request/MD5 Challenge响应报文
背景信息
如图1-4所示,当设备向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报文。
[BTRACE][2018/12/13 07:49:30][EAPoL][0016-17ad-f620]:No response of request challenge from user. //终端无响应 [BTRACE][2018/12/13 07:49:30][EAPoL][0016-17ad-f620]:Resend a EAPoL request challenge packet to user. //重传 [BTRACE][2018/12/13 07:49:30][EAPoL][0016-17ad-f620]: EAPOL packet: OUT 00 16 17 ad f6 20 10 c1 72 f0 50 80 81 00 00 64 88 8e 01 00 01 65 01 41 01 65 19 00 e9 d5 95 95 6d de 16 03 01 01 4b 0c 00 01 47 03 00 17 41 04 fe 82 bd 65 7e 38 9f aa c8 ee fd a5 c6 5e 4e b3 fb ba e7 ce c6 e5 b9 26 bc 0e 4d 74 39 5c 1c b9 3d 05 6e 4d 7f 96 a6 55 b8 45 bb 24 29 4c 0e 42 dd 15 48 09 de 36 a3 81 47 49 30 5d b5 43 67 b9 01 00 46 35 f1 ae 96 b4 8e 8a 17 d7 9d 8d b3 eb [BTRACE][2018/12/13 07:49:30][EAPoL][0016-17ad-f620]:Send EAP_request packet to user successfully.(Index=159) [BTRACE][2018/12/13 07:49:35][EAPoL][0016-17ad-f620]:No response of request challenge from user. //未收到回应 [BTRACE][2018/12/13 07:49:35][EAPoL][0016-17ad-f620]:Resend a EAPoL request challenge packet to user. //再次重传 [BTRACE][2018/12/13 07:49:35][EAPoL][0016-17ad-f620]: EAPOL packet: OUT 00 16 17 ad f6 20 10 c1 72 f0 50 80 81 00 00 64 88 8e 01 00 01 65 01 41 01 65 19 00 e9 d5 95 95 6d de 16 03 01 01 4b 0c 00 01 47 03 00 17 41 04 fe 82 bd 65 7e 38 9f aa c8 ee fd a5 c6 5e 4e b3 fb ba e7 ce c6 e5 b9 26 bc 0e 4d 74 39 5c 1c b9 3d 05 6e 4d 7f 96 a6 55 b8 45 bb 24 29 4c 0e 42 dd 15 48 09 de 36 a3 81 47 49 30 5d b5 43 67 b9 01 00 46 35 f1 ae 96 b4 8e 8a 17 d7 9d 8d b3 eb [BTRACE][2018/12/13 07:49:35][EAPoL][0016-17ad-f620]:Send EAP_request packet to user successfully.(Index=159) [BTRACE][2018/12/13 07:49:40][EAPoL][0016-17ad-f620]:No response of request challenge from user. //未收到回应 [BTRACE][2018/12/13 07:49:40][EAPoL][0016-17ad-f620]:Resend EAP_request/identity times exceed max times.(Index=159) //超过最大重传次数,发送Failure报文 [BTRACE][2018/12/13 07:49:40][EAPoL][0016-17ad-f620]:Send EAP-Failure packet to user. [BTRACE][2018/12/13 07:49:40][EAPoL][0016-17ad-f620]: EAPOL packet: OUT 00 16 17 ad f6 20 10 c1 72 f0 50 80 81 00 00 64 88 8e 01 00 00 04 04 41 00 04
处理步骤
情况一:
终端不响应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。
华为802.1X认证相关信息
802.1X认证故障的其他问题,请参考《华为S系列园区交换机维护宝典》中的“故障处理:接入认证异常”。
- 802.1X详细的原理描述和配置,请参考《S2720, S5700, S6700 V200R019C10 配置指南-用户接入与认证》中的“NAC配置”。