本文共 2278 字,大约阅读时间需要 7 分钟。
结合之前R.S撰写的“Radius服务器负载均衡解决方案”的几个要点,本文将针对这几个要点,分别阐述在AX负载均衡设备上的相关配置用例。
1、基于Radius应用层的健康检查
slb server rs4 10.10.10.4
port 1812 udp health-check radius-hm1 port 1813 udp2、基于Radius消息的负载分担
由于Radius每个客户端往往都会发送大量的Radius认证计费数据包,而且通常都使用相同源端口发出,因此为了避免1个Radius客户端的所有请求全部分配到一台服务器上,导致服务器负载不均匀,在AX设备上需要启用Radius应用层虚拟服务端口,即需要开启七层(应用层)负载均衡模式。这样AX设备就可以根据Radius客户端IP+源端口+Radius ID进行负载均衡,使负载更加均衡;同时需要配置UDP协议模板,开启Radius会话的即时消除机制,即当AX设备收到Radius服务器应答并转发后,即可删除该UDP会话。配置相关用例如下:
slb template udp udp-aging
aging immediate ;启用UDP会话的快速失效(消除)机制 re-select-if-server-down ;当后台Radius服务器down机时,即刻删除其建立的会话,重新选择其它可用服务器!
slb virtual-server vip100 192.168.1.100
port 1812 radius name _192.168.1.100_RADIUS_1812 service-group sg1812 template udp udp-aging port 1813 radius name _192.168.1.100_RADIUS_1813 service-group sg1813 template udp udp-aging3、基于Radius属性的服务器保持
实际应用中,Radius服务器要求基于特定radius属性实现服务器保持功能,使得同一个属性的所有认证计费报文都分配到同一台Radius服务器上。不同的应用场景中,我们可能需要根据不同的Radius属性实现服务器保持功能,因此,利用aFlex自定义脚本功能实现此功能是最灵活的一种方式。
when CLIENT_DATA {
set id [RADIUS::avp 31] persist uie { $id any service } 1200 ;any service是指保持到该服务器,而忽略服务器上的具体端口,因此无论是认证还是计费报文都会保持到同一台Radius服务器上 }slb virtual-server vip100 192.168.1.100
port 1812 radius name _192.168.1.100_RADIUS_1812 service-group sg1812 template udp udp-aging aflex radius-lb port 1813 radius name _192.168.1.100_RADIUS_1813 service-group sg1813 template udp udp-aging aflex radius-lb4、Radius服务器的过载保护、速率限制
AX设备通过速率限制保护后台Radius服务器,避免出现Radius认证/计费报文突增的情况下,对后台服务器产生冲击,出现“雪崩效应”,通过限制实现服务器的过载保护。配置用例如下:
slb template server rs-template
conn-rate-limit 50 per 100msslb server s90 172.16.31.90
template server rs-template port 1812 udp port 1813 udp
以上这几个要点把握好,基本就可以完成部署一个Radius服务器负载均衡的解决方案。
S.G
本文转自 virtualadc 51CTO博客,原文链接:
http://blog.51cto.com/virtualadc/965156
转载地址:http://dsegx.baihongyu.com/