由于radius服务器不响应导致登录NE40E时出现异常

发布时间:  2012-07-27 浏览次数:  82 下载次数:  0
问题描述
1、NE40E上配置了如下的登录方式:
radius-server template hw-ne80e
 radius-server shared-key wz-hw-ne80e
 radius-server authentication x.x.x.x 1812 source LoopBack 0
 radius-server retransmit 2
 undo radius-server user-name domain-included
#
 authentication-scheme default
 authentication-scheme r-n
  authentication-mode  radius  local  //先radius认证再local认证
 #
 domain default
  authentication-scheme  r-n
  radius-server hw-ne80e
2、现网的情况是:radius上有用户名密码:hwwz yyyyy;本地local有用户名密码:wzdx zzzzzz(该用户名在radius上没有配置);radius运行正常,路由器与radius路由可通。
(1)用radius的用户名密码可以正常登录,debug radius packet可以看到code1和code2的报文,这是正常的;
(2)用radius的用户名,但输入错误的密码,不能登录,debug radius packet看到code1和code3的报文;这也是正常的,因为当radius拒绝该用户后,是不会再转到local来认证的。
(3)但用本地用户名密码也可以登录,debug是仅看到code1的报文,没有code2的,且会报radius down。
3、为什么用本地帐号登陆能登陆成功,而且radius报文中出现radius服务器down的信息?
告警信息
使用本地用户名登录时会出现如下日志:
Jun 18 2009 11:01:33 NE80E-1.MAN %%01RDS/4/RDAUTHDOWN(l): RADIUS authentication server is down! (IpAddress=x.x.x.x.)
处理过程
查看radius服务器的配置,确认是对于没有配置的帐号就不予回应(即不会发code3),所以对于radius没有回应时,设备认为服务器down,进而转入loca认证;当使用服务器上配置的帐号登录但密码错误时,服务器会回应code3,此时就不会转入local认证,而是直接拒绝该用户的登录。
根因
1、NAS是这样认为radius服务器down的:给服务器发送请求,如果服务器没有回应,NAS按照一定间隔重复发送,发送若干次后如果仍然没有收到回应,NAS就认为当前的服务器down了。此时如果配置了本地服务,就会转入本地认证。这是严格根据radius协议相关规定来实现的,所以NE40E设备作为NAS,它的实现是没有问题的。
2、服务器没有DOWN(工作正常,路由可达),当时却没有回应(调试信息中没有看到服务器回应),可能的原因有两个:
(1)服务器当时很忙,导致它没有回应。
(2)服务器上没有找到相关的账户,根据服务器上配置的策略,它不予回应。
建议与总结
1、authentication-mode radius local备份认证是指在 radius认证没有响应的时候转为local认证,如果radius回应失败,设备是不会转local认证的。
2、这个案例中,很明显是因为服务器为了避免服务攻击,所以对不属于服务器上的用户采取了不予回应的策略,这样的结果就是导致设备认为服务器down了(协议规定NAS识别服务器down也是指收不到服务器回应)
3、这是属于服务器实现的差异问题,即:处于服务器安全角度考虑,有些服务器会响应非法用户名,有些不响应。

END