使用LVS为radius server做load balance的问题

问题描述:
使用LVS+heartbeat+ldirector为radius server做load balance,结果用户通过VIP去认证时,认证请求无法转发到real server。
但是mysql的load balance没有问题。

配置文件:
VIP:192.168.1.240【部署在192.168.1.235上】
real server:192.168.1.247 192.168.1.209

/etc/ha.d/ldirectord.cf

# Global Directives
checktimeout=10
checkinterval=10
autoreload=no
logfile="/var/log/ldirectord.log"
logfile="local0"
quiescent=yes
virtual = 192.168.1.240:radius
service = radius
real = 192.168.1.247:radius gate
real = 192.168.1.209:radius gate
checktype = negotiate
netmask=255.255.255.255
scheduler = wrr
protocol = udp
virtual = 192.168.1.240:3306
service = mysql
real = 192.168.1.247:3306 gate
real = 192.168.1.238:3306 gate
checktype = negotiate
persistent=600
# netmask=255.255.255.255
login = "ldirector"
passwd = "ldirector"
database = "amoeba"
request = "SELECT * FROM amoeba"
scheduler = wrr

问题现象:
1.当有用户认证时,192.168.1.247和192.168.1.209上面的radius服务器显示并没有收到用户认证包。
2.但是每隔大概15秒,192.168.1.247和192.168.1.209上面的radius服务器就显示收到从192.168.1.235过来的包,【该包的payload部分为空,我猜测是不是ldirectord发过来的心跳包】
3.但是用户访问mysql服务器就可以实现load balance。

大家帮忙看看。

Forums:

Your articles are for when it abuosltely, positively, needs to be understood overnight.

You put the lime in the cocnuot and drink the article up.