1、故障现象

   无感知MAB认证失败


2、故障可能原因


(1) SAM未开启无感知功能,导致无法学习终端MAC地址,无感知失败
(2) 18K配置错误导致没有发起无感知认证
(3)由于用户未能正常获取到IP地址,不满足dot1x mac-auth-bypass valid-ip-auth的机制
(4)设备没学到对应的mac,没发起mab认证
(5)18K软件故障没有发起无感知认证,或者SAM上软件故障导致没有正常处理MAB认证

 3 、处理步骤


(1)首先,先收集客户端和SAM的运维管理->日志管理 上的相关认证失败提示,根据提示做出基本的判定。如下提示,则是18K有发起无感知认证,SAM上没有相关无感知表项的条目,导致无感知认证失败
         
         如下,到用户管理 > MAC快速认证管理 ,找一下是否有关于该MAC地址相应的用户名的绑定条目
         
         如下,到相应的接入控制中查看是否有勾选了MAC快速认证
         
 

(2)如果SAM上没有关于相应MAC地址的认证失败条目信息,则可能是18K上配置问题导致无感知认证交互异常。

aaa new-model      //启用AAA
aaa accounting network default start-stop group radius      // AAA 参考配置,以实际业务部署为准
aaa authentication dot1x default group radius        // AAA 的1x模板参考配置,以实际业务部署为准
aaa authentication web-auth default group  radius         // AAA 的web模板参考配置,以实际业务部署为准
aaa authentication login default local      // AAA 的设备登入采用本地username/password
radius-server host 172.18.157.32 key ruijie        //配置aaa server IP和key,单radius场景适用
aaa accounting update periodic 15         //配置aaa记帐更新周期15分钟
aaa accounting update               //配置aaa记帐更新
no aaa log enable      //关闭aaa log
dot1x accounting default     //选配,当aaa自定义list name时,需要匹配
dot1x authentication default     //选配,当aaa自定义list name时,需要匹配
  web-auth template eportalv2   
    ip 172.18.157.33                 //portal服务器的IP
    url http://172.18.157.33/eportal/index.jsp    //portal服务器的url地址
    authentication  default     //选配,当aaa自定义list name时,需要匹配
    accounting  default       //选配,当aaa自定义list name时,需要匹配
web-auth portal key ruijie    //必配,和eportal对接加密url的密钥
aaa authorization ip-auth-mode mixed    //必配,配置dot1x上传sam的IP方式为混合模式,会通过多种方式轮询获取IP(su客户端/dhcp/radius等)
ip dhcp snooping              //必配,无感知认证需要通过dhcp snooping模块获取IP地址,否则SAM会出现0.0.0.0地址的用户
dot1x mac-auth-bypass valid-ip-auth          //由DHCP模块通告MAB模块开始认证。注意该命令配置后会导致已有用户掉线,不建议在业务高峰期开启。
dot1x valid-ip-acct enable           //必配,通过记帐更新报文上传用户IP通告给SAM,如果发现1x认证模块没有终端用户的IP表项,5分钟后就会将用户踢下线。
interface range GigabitEthernet 0/2-3  //接口启用802.1X认证
    web-auth enable eportalv2    //接口使能WEB认证
    dot1x port-control auto       //接口使能802.1X认证
    dot1x mac-auth-bypass multi-user                   //必配,接口下使能无感知认证
    dot1x mac-auth-bypass vlan (vlan-list)              //选配,接口下配置,可基于用户认证的vlan范围,启用无感知认证

(3)配置了 dot1x mac-auth-bypass valid-ip-auth以后,动态用户必须先获取到IP地址,在snooping表中有相应的条目了才能会发起无感知。
         使用 show ip dhcp snooping binding 或者show ip dhcp snooping binding | include 192.168.1.1 查看是否有相应的条目了。
         如果没有则检查IP地址是否正常,DHCP过程是否正常。
         如果用户的IP是静态IP,没有DHCP的交互过程,则需要在18K上静态绑定条目来触发无感知认证,命令如下:
        dot1x address-binding mac 9048.9a8e.a033 ip 10.0.100.188

(4)通过相关命令查看认证失败原因
  Show dot1x user diag mac xxx  //查看相关用户的会话过程
         如图所示:
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状态变化

(5)如确定配置没有问题,则用过show mac-address-table 查看对应mac地址是否学习到,如果学习到了却没有发起无感知,则转后台研发处理;如果没学习到抓包看对应的报文是否送达18K,如果报文到18k,则转后台研发查看底层是否学习到。

(6)如果通过以上操作如果还是没有找到问题,则有可能是18K软件故障没有发起无感知认证,或者SAM上软件故障导致没有正常处理MAB认证。则收集18K的信息,并且同时在PC和SAM上开启抓包,发送后台处理     



4、故障信息收集

     18K信息收集如下:

     terminal length 0
     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
     deb web-auth mab user-show
     show dot1x
     deb dot1x dump gl
     show log

     terminal no length

     SAM信息收集log信息目录如下:

       




5、故障总结及注意事项