故障案例:AC无法识别Radius服务器下发的DM报文中Calling-Station-Id属性字段中的MAC地址格式导致强制用户下线失败
故障案例:AC无法识别Radius服务器下发的DM报文中Calling-Station-Id属性字段中的MAC地址格式导致强制用户下线失败
现象描述
AC配置802.1X + Radius认证,Radius服务器强制用户下线失败。
相关告警与日志
无。
原因分析
Radius服务器下发的DM报文中Calling-Station-Id属性字段中的MAC地址格式与AC侧默认支持的MAC地址格式不匹配,AC无法识别。
操作步骤
复现故障,通过trace功能查看认证报文交互过程,未发现DM和CoA报文交互过程。
[AC] trace object mac-address sta-mac[AC] trace enable
通过debug功能查看Radius报文交互过程。
<AC> debug radius all<AC> terminal debugging<AC> terminal monitor
回显信息提示calling-station-id格式错误,AC侧不能正常识别。
Mar 22 2021 18:00:55.200.2+08:00 AC-Active RDS/7/DEBUG:Slot=0,Vcpu=6; [RDS(Evt):] Receive a packet(IP:x.x.x.x,Port:1812,Code:disconnect request,ID:16 ) <AC-Active> Mar 22 2021 18:00:55.200.3+08:00 AC-Active RDS/7/DEBUG:Slot=0,Vcpu=6; RADIUS Received a Packet. <AC-Active> Mar 22 2021 18:00:55.200.7+08:00 AC-Active RDS/7/DEBUG:Slot=0,Vcpu=7; [RDS(Evt):] Decoding mac according to global configuration: 0 3 1 <AC-Active> Mar 22 2021 18:00:55.200.4+08:00 AC-Active RDS/7/DEBUG:Slot=0,Vcpu=6; Server Template: 0 Server IP : x.x.x.x Server Port : 1812 Protocol: Standard Code : 40 Len : 54 ID : 16 [User-Name ] [15] [XXXXX] [Calling-Station-Id ] [19] [XX-XX-XX-XX-55-FB] <AC-Active> Mar 22 2021 18:00:55.200.5+08:00 AC-Active RDS/7/DEBUG:Slot=0,Vcpu=6; [RDS(Evt):] Decoding mac for coa or dm packet <AC-Active> Mar 22 2021 18:00:55.200.6+08:00 AC-Active RDS/7/DEBUG:Slot=0,Vcpu=6; [RDS(Evt):] Decoding mac according to global configuration: 0 3 1 <AC-Active> Mar 22 2021 18:00:55.200.8+08:00 AC-Active RDS/7/DEBUG:Slot=0,Vcpu=7; [RDS(Err):] attribute length: 17, decoding mac as unformatted ascii error. <AC-Active> Mar 22 2021 18:00:55.200.7+08:00 AC-Active RDS/7/DEBUG:Slot=0,Vcpu=6; [RDS(Err):] attribute length: 17, decoding mac as unformatted ascii error. <AC-Active> Mar 22 2021 18:00:55.200.8+08:00 AC-Active RDS/7/DEBUG:Slot=0,Vcpu=6;Attr decode err. (Calling-Station-Id(31)). <AC-Active> Mar 22 2021 18:00:55.200.9+08:00 AC-Active RDS/7/DEBUG:Slot=0,Vcpu=7;Attr decode err. (Calling-Station-Id(31)).<AC-Active> Mar 22 2021 18:00:55.200.9+08:00 AC-Active RDS/7/DEBUG:Slot=0,Vcpu=6; [RDS(Err):] Disconnect request attribute decode error,send nak packet. <AC-Active> Mar 22 2021 18:00:55.200.10+08:00 AC-Active RDS/7/DEBUG:Slot=0,Vcpu=7; [RDS(Err):] Disconnect request attribute decode error,send nak packet.
通过报文捕获工具镜像捕获报文,分析后发现服务器侧发起DMRequest的calling-station-id属性字段中的MAC地址格式为:XX-XX-XX-XX-XX-XX,大写格式。缺省情况下,AC支持识别的calling-station-id属性字段中的MAC地址格式为xxxx-xxxx-xxxx,小写形式。因此,AC无法识别Radius服务器发送的MAC地址格式。
DM下线报文交互:

本次DM所携带的calling-station-id属性字段:

针对上述问题,有两种处理方法。
方法1:在Radius服务器侧进行配置,将calling-station-id属性字段中的MAC地址格式统一修改为xxxx-xxxx-xxxx,小写形式。AC与多台Radius服务器对接时,推荐该方法。
方法2:在AC侧进行修改calling-station-id字段中MAC地址的格式,以匹配Radius服务器支持的格式。
<AC> system-view [AC] radius-server template test [AC-radius-test] calling-station-id mac-format dot-split mode2 uppercase
当AC与多台Radius服务器对接时,推荐方法1;当AC与单台Radius服务器对接时,推荐方法2。如果AC与多台Radius对接时有Radius服务器不支持修改MAC地址格式,则建议参考方法2为每个Radius服务器定制格式。
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。
转载请保留出处: www.zh-cjh.com珠海陈坚浩博客 » 故障案例:AC无法识别Radius服务器下发的DM报文中Calling-Station-Id属性字段中的MAC地址格式导致强制用户下线失败
作者: 小编
| 手机扫一扫,手机上查看此文章: |
一切源于价值!
其他 模板文件不存在: ./template/plugins/comment/pc/index.htm