某局点Portal认证异常及掉线问题处理
一、组网:
某行业局点中,采用了WX5004结合iMC进行Portal认证,其中iMC部署了Plat、UAM、EAD及WSM等组件,AC的版本为R2308P10。组网示意图如下所示:
二、问题描述:
现场由于服务器存储故障,对iMC进行了全部的重装,恢复后Portal认证正常,但重启并添加相应的EAD策略之后发现,客户端存在认证不通过以及认证通过后异常下线的情况。经过反复对比测试后发现,当用户的网段属于192.168.21.1~99/24的时候,认证是正常且策略服务器检查正常,而当属于192.168.21.100~254/24时,认证可以通过但存在掉线以及策略检查异常的情况。
三、分析过程:
1、按照现场描述,业软二线抓取相应的iMC服务器上的UAM调试日志发现,设备所发出的Radius报文中的code 4报文中携带的终端MAC地址不完整,如下所示:
CODE = 4.
ID = 19.
ATTRIBUTES:
User-Name(1) = "c09467".
NAS-Identifier(32) = "WX5004".
NAS-Port(5) = 16781412.
NAS-Port-Id(87) = "0100001000000100".
NAS-Port-Type(61) = 19.
Calling-Station-Id(31) = "24-77-03-91-77-20".
//终端正确的MAC地址
Called-Station-Id(30) = "58-66-BA-6B-F2-C0:portal-mac".
Acct-Status-Type(40) = 1.
Acct-Authentic(45) = 1.
Acct-Session-Id(44) = "1130627142790".
Framed-IP-Address(8) = 3232240997.
NAS-IP-Address(4) = 3232241050.
Event-Timestamp(55) = 1374935253.
hw_Connect_ID(26) = 22.
hw_Input_Peak_Rate(1) = 0.
hw_Input_Average_Rate(2) = 0.
hw_Output_Peak_Rate(4) = 0.
hw_Output_Average_Rate(5) = 0.
hw_Priority(22) = 0.
hw_IP_Host_Addr(60) = "192.168.21.101 24:77:03:91:77:2".
//该信息中携带的MAC地址不完整,有错误
由于现场部署了策略服务器,在策略下发的时候会对终端的MAC地址做检查,而这里不完整的MAC地址直接导致了策略下发失败,同时对应Radius的计费更新报文中MAC地址也不完整导致终端12分钟异常下线。
2、按照现场的组网、设备及相应版本,在实验室复现该问题,AC型号为WX5004,版本R2308P10,结合iMC做Portal认证,并未复现这个问题,设备上开启debugging看到的Radius报文以及iMC的调试日志里所有报文均完整正常。考虑到现场反馈部分网段认证正常,我们比较发现:实验室的组网下,终端获取的IP地址为192.168.1.x/24的网段,现场为192.168.21.x/24的网段,并且小于100的地址段正常,大于等于100的地址段异常,我们初步推测可能和IP地址段的长度有关。
3、将实验室的组网终端的IP地址段修改为192.168.21.101/24后,复现了该问题,无论是iMC上的调试日志,还是设备上debugging收集的信息,code 4号报文中的hw_IP_Host_Addr(60)属性(设备上对应的debugging里为H3C-60 IP_Host_Addr属性)中携带的MAC地址少了1位,具体如下所示:
*Jul 27 14:33:08:545 2013 WX5004 RDS/7/DEBUG:
[1 User-name ] [40] [bGNTSE9ZN3cuT0E3dwt6fnvSXzc= c09467]
[32 NAS-Identifier ] [8 ] [WX5004]
[5 NAS-Port ] [6 ] [16781412]
[87 NAS_Port_Id ] [18] [0100001000000100]
[61 NAS-Port-Type ] [6 ] [19]
[31 Caller-ID ] [19] [32342D37372D30332D39312D37372D3230]
*Jul 27 14:33:08:595 2013 WX5004 RDS/7/DEBUG:
[30 Called-station-Id ] [30] [58-66-BA-6B-F2-C0:portal-mac]
[40 Acct-Status-Type ] [6 ] [1]
[45 Acct-Authentic ] [6 ] [1]
[44 Acct-Session-Id ] [15] [11306271433b0]
[8 Framed-Address ] [6 ] [192.168.21.101]
[4 NAS-IP-Address ] [6 ] [192.168.21.154]
*Jul 27 14:33:08:635 2013 WX5004 RDS/7/DEBUG:
[55 Event-Timestamp ] [6 ] [1374935587]
[H3C-26 Connect_ID ] [6 ] [24]
[H3C-1 Input_Peak_Rate ] [6 ] [0]
[H3C-2 Input_Average_Rate ] [6 ] [0]
[H3C-4 Output_Peak_Rate ] [6 ] [0]
[H3C-5 Output_Average_Rate ] [6 ] [0]
*Jul 27 14:33:08:676 2013 WX5004 RDS/7/DEBUG:
[H3C-22 Priority ] [6 ] [0]
[H3C-60 Ip-Host-Addr ] [33] [192.168.21.101 24:77:03:91:77:2]
//与iMC调试日志一致,MAC地址不完整,缺少最后一位
*Jul 27 14:33:08:696 2013 WX5004 RDS/7/DEBUG:
Event: Begin to switch RADIUS server when sending 1 packet.
*Jul 27 14:33:08:716 2013 WX5004 RDS/7/DEBUG: Malloc seed:25 in 10.153.43.148 for User ID:24
*Jul 27 14:33:08:726 2013 WX5004 RDS/7/DEBUG:
Event: Modify NAS-IP to 192.168.21.154.
*Jul 27 14:33:08:736 2013 WX5004 RDS/7/DEBUG: Send: IP=[10.153.43.148], UserIndex=[24], ID=[25], RetryTimes=[0], Code=[4], Length=[267]
4、随后分别对终端的IP地址段进行了修改,具体的测试结果如下所示:
终端的IP地址
Code 4号报文的封装
192.168.21.99
[192.168.21.99 24:77:03:91:77:20]
192.168.21.101
[192.168.21.101 24:77:03:91:77:2]
192.168.121.1
[192.168.121.1 24:77:03:91:77:20]
192.168.121.10
[192.168.121.10 24:77:03:91:77:2]
192.168.121.100
[192.168.121.100 24:77:03:91:77:]
通过手工修改IP地址的方式,测试出IP地址的字段长度决定了Code 4号报文中终端MAC地址的长度,当IP地址段中的后两段为4位数字或以下时,MAC地址完整,而超过4位时每超过1位MAC就缺少1位。经过和研发确认,该问题为设备的AAA(Radius)模块在R2308P10版本下引入的BUG,之后的版本该问题已经修改解决,R2308P10之前的版本也不存在该问题。
四、解决方法:
升级现场AC版本后,问题解决。建议此类问题AC版本直接升级到当前最新版本R2308P23,对应WX3000E系列AC版本为R3308P23。
注:该问题为特定版本下的已知问题,通过设备的debugging信息和iMC的调试日志可以很快分析出问题的原因,此类方法对于其他类似问题有着十分重要的借鉴意义,需要在日常的问题处理和今后的开局中格外留意。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作