开发者社区> 科技小能手> 正文

Radius服务器A10负载均衡解决方案的相关配置

简介:
+关注继续查看

结合之前R.S撰写的“Radius服务器负载均衡解决方案”的几个要点,本文将针对这几个要点,分别阐述在AX负载均衡设备上的相关配置用例。

1、基于Radius应用层的健康检查

  • 通过AX负载均衡设备模拟Radius客户端,向被检查服务器发送Radius认证请求消息,其中可以包含用户名、密码、密钥等信息。根据Radius服务器的应答结果判断该服务器的可用性。配置用例如下:配置一个Radius健康检查方法,输入服务器上存在的一个用户名test及其密码,以及Radius服务器的密钥。

image

  • 将此方法应用到真实服务器对应的1812端口中,AX负载均衡设备就会定期向此端口发送Radius健康检查报文,并根据服务器返回结果判断其可用性。

slb server rs4 10.10.10.4 
   port 1812  udp 
        health-check radius-hm1 
   port 1813  udp

2、基于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-aging

3、基于Radius属性的服务器保持

实际应用中,Radius服务器要求基于特定radius属性实现服务器保持功能,使得同一个属性的所有认证计费报文都分配到同一台Radius服务器上。不同的应用场景中,我们可能需要根据不同的Radius属性实现服务器保持功能,因此,利用aFlex自定义脚本功能实现此功能是最灵活的一种方式。

  • 我们以【Radius AVP属性31】“Calling-Station-Id”实现服务器保持为例,aFlex脚本如下:大致意思是当AX设备接收到客户端Radius数据报文时,将【Radius AVP属性31】赋予变量”id“,并根据此变量保持1200秒,将此aFlex脚本保存名为”radius-lb“。

when CLIENT_DATA { 
  set id [RADIUS::avp 31] 
  persist uie { $id any service } 1200             ;any service是指保持到该服务器,而忽略服务器上的具体端口,因此无论是认证还是计费报文都会保持到同一台Radius服务器上 
}

  • 将此aFlex脚本应用到虚拟服务器VIP对应的认证和计费应用端口中:

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-lb

4、Radius服务器的过载保护、速率限制

AX设备通过速率限制保护后台Radius服务器,避免出现Radius认证/计费报文突增的情况下,对后台服务器产生冲击,出现“雪崩效应”,通过限制实现服务器的过载保护。配置用例如下:

  • 配置一个服务器模板,限制服务器最大认证计费(总计)连接速率为50connections/100ms(AX的最小时间颗粒度可以达到100ms级,比以秒为最小单位更精确);

slb template server rs-template 
   conn-rate-limit 50 per 100ms

  • 将此服务器模板应用到对应的Radius服务器中:

slb 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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
tomcat服务器宕机解决方案
报错信息:  java.lang.Object.wait(Native Method)  java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)  com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43) 每次出现这个报错都会导致tomcat应用服务器停机,加了下面的java代码后就再也没有停过了。
1110 0
CentOS6.4 LVS+keepalived高可用负载均衡服务配置
<p style="color:rgb(85,85,85)"><span style="font-size:24px; color:#4f81bd"><strong>CentOS6.4 LVS+keepalived高可用负载均衡服务配置</strong></span></p> <p style="color:rgb(85,85,85)"> </p> <p style="color:rg
1385 0
CentOS-7.2部署DNS域名解析服务器并进行相关配置测试
CentOS-7.2部署DNS域名解析服务器并进行相关配置测试
26 0
23705
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载