光,本该如此“简单”,2025年锐捷极简以太彩光网络解决方案4.0创新发布
预约直播
产品
< 返回主菜单
产品中心
产品

交换机

交换机所有产品
< 返回产品
交换机主页
交换机

无线

无线所有产品
< 返回产品
无线主页
无线

云桌面

云桌面产品方案中心
< 返回产品
云桌面主页
云桌面

安全

安全所有产品
< 返回产品
安全主页
安全

【交换机】10.4(3)及以后版本的Radius服务器状态和服务器切换原理

发布时间:2013-09-25
点击量:6900

Radius服务器的状态只有两种:Active,Dead。

Active->Dead

radius服务器的死亡判断条件是(即从Active->Dead),同时满足两个条件:

1)距离上次收到该RADIUS服务器的正确响应超过radius-server dead-criteria time seconds设定的时间。

2)在上次收到该RADIUS服务器的正确响应之后,设备发往该RADIUS服务器的请求而未收到正确响应的次数(包括重传),达到radius-server dead-criteria tries number设定的次数。

这边有一个需要注意的是由于配置了radius-server timeout,radius-server retransmit(有默认值),当timeout*(retransmit+1)的总时长小于dead-criteria time,或者是retransmit+1小于dead-criteria tries number的时候,也就是此时设备已经检测到主服务器不可用了,需要切换到下一个服务器,但是主服务器由于还没有达到Active->Dead的两个条件,所以主服务器的状态还是Active的,而不是dead,只有当后续的其他用户继续认证,累计dead-criteria time以及dead-criteria tries number到配置值的时候才会变到dead状态。

Dead->Active

1)设备接收到正确的radius响应报文,比如开启了radius主动探测功能。

2)在未配置主动探测的情况下,处于Dead状态的时间比deadtime还长。

一些默认值:

radius-server deadtime 0   //该配置导致的结果就是主服务器永远不会dead,也就是所有的认证都需要先经过主服务器判断,这样每个用户都需要经历timeout*(retransmit+1),切换时间比较长

radius-server timeout 5    //5s

radius-server retransmit 3 //3次

radius-server dead-criteria time 60 tries 10   //60s,10次

示例如下配置

radius-server host 1.1.1.1   -à服务器A

radius-server host 2.2.2.2   -à服务器B

radius-server deadtime 5

radius-server timeout 5

radius-server retransmit 3

radius-server dead-criteria time 30 tries 5

       刚开始的时候,服务器A和服务器B的状态都是Active。用户做radius认证,设备先将报文发送到服务器A,若服务器A对该报文有响应,则服务器A的状态仍然是Active。该用户后续再做认证,记账等请求时,设备先查看上一次认证的服务器,如果该服务器仍旧处于Active状态的话,则设备直接发送报文到该服务器做认证,否则,查找用户属于的服务器组的第一个处于Active状态的服务器。若服务器A对报文没有响应,则做重传操作。默认情况下deadtime = 0,如果没有配置主动探测的话,服务器的状态是永远处于Active状态。也就是说下一个用户来做认证,还得先跑到服务器A做认证,然后才能在服务器B 上认证成功。如果这个时候配置radius-server deadtime 5 ,这样如果服务器A满足死亡条件,则服务器A的状态变成Dead,过了五分钟才会重新变成Active。

==》未开启主动探测功能

按照上面的示例配置来说就是第一个用户认证,经过timeout*(retransmit+1)=5*(3+1)=20s时间还没有得到服务器响应,那么该用户就切换到B认证,但是此时A服务器并不会dead,第二个来认证的用户与第一个用户类似,经历20s后切换到B,第三个来认证的用户经历20s,这样经过前三个用户的认证,总共尝试了60s,12次,达到了active-dead的条件,radius-server dead-criteria time 60 tries 10,这样服务器A就切换到dead状态,不可用。第四个用户认证的时候就直接送到B服务器认证,这样后续用户的认证时间就会比较快速。当然A服务器处于dead的时间达到radius-server deadtime 5min的时候,又重新变到active状态,这样A,B服务器回到最初的状态,循环上述的过程。当然上述过程还有一个需要说明的情况就是这里举的三个用户是依次来的,时间做累计60s,实际情况也可能是并发的,或者是每个用户认证间隔很长时间,但是这些没关系,因为Active->dead是需要同时满足两个条件的,所以当两者都达到后才会切换状态。

==》开启主动探测功能

radius-server host 1.1.1.1 test username TEST idle-time 1 key ruijie    //1代表1min

radius-server host 2.2.2.2 test username TEST idle-time 1 key ruijie

no radius-server deadtime

a)该功能就是需要交换机模拟一个用户,采用TEST,ruijie账号与radius-server主动完成一次认证过程,来检测server是否active。这个功能的认证过程与上述不开启主动探测的过程是一样的,所有的测试,切换原理都不发生变化,只是交换机模拟了一个用户,加快,或者说是定期的检测一下server的可达性,与普通的用户认证无差别。

b)开启这个主动探测功能的主要用途是1、防止当server已经宕机的时候,但是由于没有用户来认证,无法马上感知到server不可用,当后续有真正的用户要认证的时候,需要经历比较长的等待;2、就是当某台服务器dead的时候,可以通过主动探测的机制,及时的发现服务器恢复可用,避免等待radius-server deadtime时间。

c)开启这个主动探测由于是每个idle-time都会往所有的服务器去发起这个认证请求,所以需要考虑交换机设备本身的负载,以及radius-server设备本身的性能,来选定一个合适的idle-time,避免设备过载而误检测,特别是在网络设备特别多的环境下。

 

相关产品

返回顶部

收起
请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反馈 意见反馈
意见反馈
更多联系方式