摄像头——接入交换机——汇聚交换机(开启radius认证)——iMC服务器
现场反馈在配置完成EPS与EIA联动后,手工将终端审批为非法,可以在接入用户的黑名单列表中看到终端MAC已经被加入黑名单。但是尝试ping非法终端,需要10分钟左右的时间才不可达。与方案预期效果不一致。
iMC EPS与EIA联动的基本原理为:
1、终端通过启用MAC地址认证的设备与EIA联动认证成功;
2、EPS通过端点扫描获取到终端的MAC地址;
3、手工或自动将异常终端审批为非法;
4、EPS调用EIA的二次开发接口,根据终端MAC地址将该用户加入黑名单并强制下线。
根据现场反馈的情况,依次排查:
1、EIA中在线用户列表可以看到终端接入认证成功;
2、EPS扫描端点信息后可以查询到该终端的端点信息,同时包含IP和MAC地址信息;
3、手工将EPS中MAC为54ab3a5d44ef的端点审批为非法,页面提示成功,EPS中可以看到该端点已经成为非法端点;
4、EIA的黑名单用户列表中查看,该用户已经出现在黑名单列表中。但是长ping非法端点,发现需要10分钟左右的时间才提示网络不可达。
根据上述现象以及原理分析,初步判断EIA与设备联动的过程中出现异常。将UAM日志配置为debug级别,复现问题,收集iMC/uam/log目录下的当天日志信息。
在日志中查看该用户的认证过程,在日志中可以看到
17:56设备发起认证,认证成功后
17:56设备认证成功后发起计费开始
18:08 设备发起计费更新,服务器在该计费更新报文的回应如下:
%% 2019-06-17 18:08:53.994 ; [LDBG] ; [7568] ; radDispatcher ; prsRawPkt: chk-sum 2865333.
%% 2019-06-17 18:08:53.994 ; [LDBG] ; [7568] ; LAN ; prsMixedUsr: in [54ab3a5d44ef], out [54ab3a5d44ef].
%% 2019-06-17 18:08:53.994 ; [LDBG] ; [7568] ; radEnt ; setPxyType: Needn't proxy. domainname=, Code=4.
%% 2019-06-17 18:08:53.994 ; [LDBG] ; [77816] ; LAN ; lanAcctMsgProc.exec: begin.
%% 2019-06-17 18:08:53.994 ; [LDBG] ; [77816] ; LAN ; muteAuthProc: user already exist, so quit with success.
%% 2019-06-17 18:08:53.994 ; [LDBG] ; [77816] ; LAN ; lanAcctUpd.exec: Begin.
%% 2019-06-17 18:08:53.994 ; [LDBG] ; [77816] ; lanAcctUpd ; getUpdInfoByOnline: usrSrvc[54:ab:3a:5d:44:ef], nasIp[265028710,], acctSess[00000004201906171001030000052a08100426], usrId[1004], srvcId[1004].
%% 2019-06-17 18:08:53.994 ; [LDBG] ; [77816] ; LAN ; c.getUsrSrvcInfoById: begin.
%% 2019-06-17 18:08:53.994 ; [LDBG] ; [77816] ; accSvc ; queryServiceStrategyByID: matching rule(1) with priority 0 under srvc-templ 1.
%% 2019-06-17 18:08:53.994 ; [LDBG] ; [77816] ; LAN ; c.getUsrSrvcInfoById: end OK.
%% 2019-06-17 18:08:53.994 ; [WARN] ; [77816] ; LAN ; lanAcctUpd.acctSrvcChk: fail to call chkBlacklist with err 63013.
%% 2019-06-17 18:08:53.994 ; [ERR] ; [77816] ; LAN ; lanAcctUpd.execCharging: Fail to call acctSrvcCheck. errCode: 63013
%% 2019-06-17 18:08:53.994 ; [ERR] ; [77816] ; LAN ; lanAcctUpd.exec: failed to exec charging, errCode: 63013.
%% 2019-06-17 18:08:53.994 ; [LDBG] ; [77816] ; LAN ; lanAcctUpd.exec: End OK.
%% 2019-06-17 18:08:53.994 ; [LDBG] ; [77816] ; getDirectConectNasIP: Campus does not enable, or auth device(15.204.4.102) is not leaf device(role: 3).
%% 2019-06-17 18:08:53.994 ; [LDBG] ; [77816] ; accSvc ; matchSvcStragy: matching default rule(1) under srvc-templ 1.
%% 2019-06-17 18:08:53.994 ; [LDBG] ; [77816] ; LAN ; lanAcctAccept: mute user acct process, 54:ab:3a:5d:44:ef
%% 2019-06-17 18:08:53.994 ; [LDBG] ; [77816] ; LAN ; Begin replyPrivateAttr, auth step is 3, AttrPolicyId is -1, DeviceTypeId is 1100
%% 2019-06-17 18:08:53.994 ; [LDBG] ; [77816] ; LAN ; 54:ab:3a:5d:44:ef ; 5 ; 9e19d160ae524706ab27aca5c04d5259 ; GKMrFEHG ; Send message attribute list:
Code = 5 ID = 9:
Session-Timeout(27) = 0
18:08后终端再次发起认证时,EIA回应认证失败,原因为该用户已经加入黑名单。
根据上述分析过程可以判断,EIA黑名单功能正常。而终端网络会有10分钟左右网络可达是由于上述步骤4中的“根据终端MAC地址将该用户加入黑名单并强制下线。”强制下线未生效。
此时可在服务器抓包过滤radius报文确认 服务器是否正常发送radius 40号报文,本例抓包确认服务器正常发送radius 40号报文,但是设备未正常回应。
反馈设备配置发现,现场开启认证的设备为H3C V7设备。但是设备未配置radius session control enable。
此时AAA服务器下发的强制下线指令设备无法处理。
检查设备配置,新增命令 radius session control enable。现场确认问题解决。