交换机
园区网交换机
数据中心与云计算交换机
行业精选交换系列
无线
放装型无线接入点
墙面型无线接入点
智分无线接入点
室外无线接入点
场景化无线
行业精选无线系列
无线管理与应用
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,避免设备过载而误检测,特别是在网络设备特别多的环境下。