兰彻 发表于 2013-4-6 21:04:27

修改freeradius与mysql连接时的最大连接数

本帖最后由 兰彻 于 2013-4-6 22:21 编辑

现在用freeradius+mysql来实现PPPoE的验证,有时会发生一台楼宇交换机掉电的情况,这时会一下子有上百个下线和上线的记录(掉电后立即又有电了),这时可能freeradius可能就会招架不住了。因为默认与mysql连接的socket是256个,sql.conf中设置一超过256 freeradius 就无法启动。(用radiusd -x才知道没有启动成功)。
         mysql的连接数怎么修改在网上很容易找到 ,但是即使修改了mysql的并发连接数为1000还是没用,因为freeradius还是256个。查看freeradius的源码,可以找到限制的地方在 freeradius-1.1.1\src\modules\rlm_sql\conf.h中,找到
#define MAX_SQL_SOCKS   256
改成
#define MAX_SQL_SOCKS   1024
重新编译一次,然后在sql.conf中找到
   # number of sql connections to make to server
   num_sql_socks = 256
原来的256就可以设置大于256的数字了,但是还是不要设置得太大才好,因为freeradius一运行的时候就会创建num_sql_socks个与mysql的稳定连接,而并非在需要用的时候才创建socket的。
另外,如果使用RouterOS做PPPoE认证,默认的radius超时时间设置在我这里似乎有问题,很容易就显示raiuds connection timeout,设置大一点才不会出问题,好像是设成了3000。
另外freeradius好像更新到2.2的版本了。

老大发的集成版太伟大了,基本可以秒杀虚拟机了。另外我觉得老大集成版运用可以很广泛。甚至可以作为网吧的收费系统,秒杀万象之流。
请教老大 freeradius 帐号如何第一次登录自动绑定帐号和VLAN及以后登录验证MAC和VLAN。
页: [1]
查看完整版本: 修改freeradius与mysql连接时的最大连接数