用户心跳功能,是一种被设计用来将同步iMC组件Portal服务器与Portal BAS设备上在线用户的功能。该功能的实现,需要在设备和服务器上都进行相应功能的启用。
设备和服务器都正确配置后,服务器侧在设置的心跳间隔时间段内,服务器会将在线用户列表中的所有用户分多个报文发送给设备。设备将从服务器上获得的在线用户信息与自己内存中的在线用户进行比较。第一种情况,设备发现自己记录的在线用户比服务器的少,则设备立即用Portal报文通知服务器,服务器用Portal报文通知客户端下线,避免造成客户端还在线的假象。第二种情况,设备发现自己记录的在线用户在一段时间内(该时间由设备决定,至少应该长于Portal心跳)都比服务器多(比如服务器重启的情况,如果这段时间服务器收到用户的Portal心跳则会重构在线表),则设备发送计费结束通知AAA模块下线。
若设备侧和服务器侧的用户心跳功能配置不一致,则可能会出现用户被定时踢下去的问题现象。本文使用一个案例对这个现象进行分析。
管理员在服务器上,iMC管理页面的用户接入明细列表中,可以看到所有问题账号在接入大约5分钟左右的时候下线。在服务器上接入明细列表中查看下线原因为“Admin Reset”。
1、问题现象涉及到所有用户,而且在线5分钟左右就会下线。说明基本认证配置正常。在服务器上接入明细有下线原因“Admin Reset”,说明服务器收到了设备发送的radius下线请求报文,且该报文携带的下线原因为“Admin Reset”。需要收集Portal调试和UAM调试日志分析。(因为是网页Portal认证,所以不需要收集策略服务器日志)
2、UAM调试日志分析略。
3、Portal调试日志分析。
2017-09-27 12:56:42.825[Portal服务器][调试(0)][21][ProxyRequestHandler::run]10.0.1.25 ; NTF_LOGOUT(8) ; 31558 ; 172.16.1.246:2000 ; 报文处理成功
<Content>
<Head>
Packet Type:NTF_LOGOUT(8)
SerialNo:31558
Address:172.16.1.211
Port:50908
RemoteIp:172.16.1.246
RemotePort:2000
Version:portal 2.0
Auth Type:PAP
ErrorID:0
UserIP:10.0.1.25
UserPort:0
ReqID:0
Rsvd:0
attriNum:2
</Head>
<Attributes>
Text Info:Failed to synchronize with server
Device Ip:172.16.1.246
</Attributes>
</Content>
从Portal调试日志中发现设备给Portal服务器发送的下线通知报文,其中带有下线信息“Failed to synchronize with server”。鉴于排查服务器与设备间同步信息且与用户相关的功能中,只有用户心跳功能有可能。第一步检查服务器配置时,已知服务器侧未启用用户心跳功能。
4、检查设备配置。
无线控制器AC(本案例中的BAS设备)上配置了用户心跳功能,且心跳超时时间为300秒,即5分钟。
portal server imc
ip 172.16.1.211 key cipher $c$3$Iu/mXxe9SAbakPr/kE5YyYq5I+aDrs2AZg==
user-sync timeout 300
server-detect log
5、综上所述,问题原因为设备启用了用户心跳功能,而服务器侧未启用该功能。则设备由于收不到携带Portal用户信息的报文,在自检周期300秒后,发送计费结束通知AAA模块下线。我司无线控制器在主动将Portal用户下线时,同时通过Portal报文通知Portal服务器,所以我们可以从服务器的Portal日志中看到携带下线原因的Portal报文。
方法一:将无线控制器上的用户心跳功能删除。
方法二:iMC服务器上,Portal设备配置中将用户心跳功能配置启用。
注意:1、用户心跳报文周期要小于设备上自检周期时间。例如本例中设备上周期为5分钟,则服务器上用户心跳可以设置为小于等于5分钟。2、当在线用户超过2000,一般不建议启用用户心跳功能。
1、用户定时掉线的问题,通常先看接入明细中的下线原因。通过下线原因判断可能的问题原因,以此来判断需要收集和分析哪些信息。如果是Admin Reset,一般为BAS设备主动要求用户下线。则下一步可以直接查看设备配置和设备信息,或者通过服务器上的认证调试日志的分析,查找问题原因的蛛丝马迹。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作