锐捷1X认证失败排查SOP
一、故障现象
终端802.1X认证失败。
二、组网拓扑
常规网络拓扑如下:

拓扑描述: PC通过接入、汇聚交换机连接到核心,PC的网关在核心上, 下联认证全部开在核心上
三、可能原因
-
18K和SAM对接配置问题,导致18K没有发送报文到SAM或者SAM收到以后不处理 ;
-
18K到SAM之间的通路问题导致radius报文无法发送到SAM ;
-
客户端到18K之间的线路通路问题导致EAP报文无法发送到18K ;
-
18K上配置问题导致没有处理或回应 ;
-
18K或者SAM软件问题导致无法正常发送或处理相关认证报文 ;
四、处理步骤
步骤一:查看客户端和服务器的认证失败日志
先收集1x客户端的日志和SAM的运维管理->日志管理上的相关认证失败提示,根据提示做出基本的判定;
-
如客户端上认证过程卡在“连接认证服务器”或者最后提示“连接认证服务器失败”,则检查18K上802.1x和SAM相关对接配置是否正确;
需检查18K上radius-server ip地址以及key是否配置准确,对应认证计费方法是否调用正确; 需检查SAM上添加18K使用的ip地址是否是18k指定的即ip radius source-interface的接口地址;
-
如果SAM上有提示,根据提示操作。如果SAM上没有任何提示,则主要检查radius 服务器是否配置正确;
-
检查18K上 ip radius source-interface 的IP地址和SAM连通性是否正常;
-
如客户端上认证过程卡在“寻找认证服务器”阶段或者最后提示“寻找认证服务器失败”, 则检查PC到18K之间的链路是否正常;
检查18K下联端口的1x认证配置是否有正常配置;
检查客户端到18K的中间其他设备是否有配置802.1x认证导致EAP报文被过滤,或者接入了TP-LINK不转发EAP报文 ;
检查是否存在环路:
步骤二:18K上查看对应终端1X认证事件过程
-
18K上使用 show dot1x user diag mac xxx(终端mac地址) 来查看相关用户的会话过程 ;

如图所示:
create pae:创建用户;
pkt start:客户端start报文发起的认证;
acct start:认证过,开始记账;
acct stop:用户下线,发出记账结束报文。
aaa del:服务器踢线
aaa reject:服务器拒绝
pkt logoff :客户端主动下线
set scc fail:调用scc接口失败
set scc cb fail:底层返回设置用户失败
no flow:无流量下线
auth exceed:状态机重认证次数超过配置
session tout:在线时长或者流量超过限制
no valid ip:获取不到ip
reqid tout:客户端超时
aaa tout:服务器超时
detail ( 一般18K设备端原因导致的才会出现 ):
flow used up:流量耗尽
aaa no eap:服务器报文长度错误
get author vid fail :获取vlan授权失败
am not allowed :am规则不匹配
-
通过命令show dot1x authmng abnormal | include ruijie001(终端用户名) 来查看是否有相关异常的1X认证事件;

/* 1x认证失败原因打印 */
#define amg_1x_result_str(rslt)
((rslt == D1X_RESULT_REQID_TOUT) ? "request id timeout" : ---》客户端超时
(rslt == D1X_RESULT_REQ_TOUT) ? "request timeout" : ---》服务器超时
(rslt == D1X_RESULT_AAA_TOUT) ? "aaa timeout" : ---》服务器超时
(rslt == D1X_RESULT_OTHER_TOUT) ? "other timeout" :
(rslt == D1X_RESULT_AAAREJ) ? "aaa reject" : ----》服务器拒绝
(rslt == D1X_RESULT_IPAM_NOT_ALLOWED) ? "ipam not allowed" : ----》am规则不匹配
(rslt == D1X_RESULT_IP_BANDWIDTH_FAIL) ? "ip band width fall" : ---》授权失败
(rslt == D1X_RESULT_SET_SCC_FAIL) ? "set scc fall" : -----》设置scc失败
(rslt == D1X_RESULT_USR_LOGOFF) ? "user logoff" : ----》客户端logoff
(rslt == D1X_RESULT_AUTOR_VLAN_FAIL) ? "author vlan fail" : ---》授权vlan失败
(rslt == D1X_RESULT_VID_MODIFY) ? "vid modify" :
(rslt == D1X_RESULT_PORT_USR_LIMIT) ? "prot user limit" : ---》端口用户数限制
(rslt == D1X_RESULT_TOTAL_USR_LIMIT) ? "total user limit" : ---》全局用户数限制
(rslt == D1X_RESULT_ACCT_CACHE_DENY) ? "acct cache deny" : ---》用户在记账缓存中
(rslt == D1X_RESULT_OTHER_SEC_TYPE) ? "other security type" : ---》其他安全配置,如静态mac
(rslt == D1X_RESULT_CLOSE_AUTH_SWITCH) ? "close auth switch" : ---全局1x开关关闭
(rslt == D1X_RESULT_DENY_NON_RG_CLIENT) ? "deny non-rg client" : ---》非锐捷客户端
(rslt == D1X_RESULT_MAB_VLAN_DENY) ? "mab vlan deny" : ---》mab vlan授权失败
(rslt == D1X_RESULT_VALID_IP) ? "valid ip" : ---》没获取到有效ip
(rslt == D1X_RESULT_SET_ACL_FAIL) ? "set acl fail" : ---》设置scc失败
(rslt == D1X_RESULT_PORT_DWN) ? "port down" : ---》端口down
(rslt == D1X_RESULT_NOT_ALLOW_USR) ? "not allow user" : ----》用户不在可认证列表里
(rslt == D1X_RESULT_CONFILCIT_ACCOUNT) ? "conflict account" : ----》账号冲突
(rslt == D1X_RESULT_VALID_IP_MAB) ? "valid ip mab" : "none")-----》需要获取ip后进行mab认证
/* 1x下线原因 */
#define amg_1x_offline_str(code)
((code == D1X_OFFLINE_USER_LOGOFF) ? "user logoff" : ---》客户端logoff
(code == D1X_OFFLINE_DM) ? "server kickout user" : ---》服务器踢线
(code == D1X_OFFLINE_NOFLOW) ? "no flow" : ---》无流量
(code == D1X_OFFLINE_NOIP) ? "no ip" : ---》无合法ip
(code == D1X_OFFLINE_SESSION_TOUT) ? "session timeout" : ---》费用、流量耗尽
(code == D1X_OFFLINE_FLUX_OUT) ? "flux out" :
(code == D1X_OFFLINE_SVRKICKOUT_USR) ? "svr kickout user" : ----》服务器踢线
(code == D1X_OFFLINE_HELLO_TIMEOUT) ? "hello timeout" : ----》客户端探测超时
(code == D1X_OFFLINE_SCC_RB_FAIL) ? "scc rollback" : ---》设置scc失败
(code == D1X_OFFLINE_MAC_RB_FAIL) ? "mac rollback" :
(code == D1X_OFFLINE_IP_BANDWIDTH_FAIL) ? "ip bandwith fail" : ---》授权失败
(code == D1X_OFFLINE_NO_PORT_CONTROL) ? "mng no port control" : ---》删除端口受控
(code == D1X_OFFLINE_AUTHOR_CHANGE) ? "mng author change" : ----》授权配置变更
(code == D1X_OFFLINE_ALLOW_USR_CHANGE) ? "mng allow user change" : ---》允许认证的用户列表变更
(code == D1X_OFFLINE_DIRECT_VLAN_CHANGE) ? "mng direct vlan change" : ---》免认证配置变更
(code == D1X_OFFLINE_CLEAR_CLI) ? "mng clear cli" : ---》cli操作删用户
(code == D1X_OFFLINE_IPAM_CHANGE) ? "mng ipam change" : ---》am规则变更
(code == D1X_OFFLINE_STAITC_MAC) ? "mng staitc mac" : ---》静态mac配置变更
(code == D1X_OFFLINE_FILT_MAC) ? "mng filter mac" : ----》过滤mac配置变更
(code == D1X_OFFLINE_SET_MUMAB) ? "mng set mumab" : ---》multi-mab配置变更
(code == D1X_OFFLINE_MAB_VLAN_CHANGE) ? "mng mab vlan change" : ---》mab vlan配置变更
(code == D1X_OFFLINE_IP_ACCT_CHANGE) ? "mng ip acct change" : ---》记账方法变更
(code == D1X_OFFLINE_CTRL_MODE) ? "mng ctrl mode" : ---》受控模式变更
(code == D1X_OFFLINE_VID_MODIFY) ? "mng vlan change" : ---》vlan配置变更
(code == D1X_OFFLINE_PORT_MOVE) ? "port move" : ---》端口迁移
(code == D1X_OFFLINE_VLAN_MOVE) ? "vlan move" : ---》vlan迁移
(code == D1X_OFFLINE_PORT_VLAN_MOVE) ? "port-vlan move" : ---》端口和vlan迁移
(code == D1X_OFFLINE_INVALID_IP) ? "invalid ip" : ---》未获取有效ip
(code == D1X_OFFLINE_PORT_DOWN) ? "port down" : ---》端口down
(code == D1X_OFFLINE_GSN_FAIL) ? "gsn fail" : ---》设置gsn失败
(code == D1X_OFFLINE_MAB_2_1X) ? "mab to 1x" : ---》mab被1x抢占
(code == D1X_OFFLINE_MAB_2_GUEST) ? "mab to guest vlan" : ---》跳转到guest-vlan
(code == D1X_OFFLINE_DHCP_AUTHOR_FAIL) ? "dhcp author fail" : ---》ip授权失败
(code == D1X_OFFLINE_DB_RECOVER_FAIL) ? "db recover fail" : ---》数据库恢复用户失败
(code == D1X_OFFLINE_ADB_AUTHOR_FAIL) ? "adb author fail" : --》静态地址绑定授权失败
(code == D1X_OFFLINE_RECOVER_2_SCC_FAIL) ? "recover to scc fail" : ---》向scc恢复用户失败
(code == D1X_OFFLINE_HA_RECOVER_FAIL) ? "ha recover fail" : ---》热备切换,恢复用户失败
(code == D1X_OFFLINE_IP_MAB_UNSET_IP) ? "ip mab unset ip" : ----》获取ip后进行mab认证的用户ip失效了
(code == D1X_OFFLINE_S_MAB_CHANGE) ? "s mab change" : "none")---》单mab状态变化
步骤三:抓取1X认证交互报文进行分析
在PC,NAS,SAM和服务器侧抓包,根据下图交互过程分析具体哪个报文交互异常;

五、故障信息收集
terminal length 0 ter monitor
show ver detail
show run
show mac-address-table | include ***(用户的MAC地址)
show arp | include ****(用户的MAC地址)
show ip dhcp snooping
show ip dhcp snooping binding | in ****(用户的MAC地址)
show dot1x user diag mac xxx
show dot1x authmng abnormal | in xxx
show dot1x authmng statistic
show dot1x authmng mab statistic
show dot1x user mac xxx
show dot1x
show cpu
show cpu-pro type dot1x
show dot1x port-control
deb dot1x dump gl
show log
ter no monitor
terminal no length
//以下debug命令有风险,需谨慎开启 debug syslog limit reset
debug syslog limit number 1000
debug syslog limit time 10
debug aaa event
debug radius event
debug dot1x packet
debug dot1x event
debug dot1x stm //认证状态机信息
debug dot1x error
debug dot1x no-filter //12.X特有
六、总结与建议
1X认证失败问题优先查看客户端和服务器侧的日志提示,根据提示分析对应原因。
阅读剩余
版权声明:
作者:SE_You
链接:https://www.cnesa.cn/4523.html
文章版权归作者所有,未经允许请勿转载。
THE END