文章标签 ‘FreeRadius’
前段时间试用WHMCS时,也试着做了一个VPN自动销售自动开通的模块。VPN基于FreeRadius认证。 1. provide restsql interface on radius db 1. install restsql insto /radius/restsql http://phprestsql.sourceforge.net/download.html http://phprestsql.sourceforge.net/ 1a. .htaccess RewriteEngine On RewriteBase /radius/restsql RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^.*$ index.php
利用Amazon的EC2实例,以整理了一下FreeRadius的安装配置。 1. yum install freeradius freeradius-mysql freeradius-utils 2. local test 2a. vi /etc/raddb/users to uncomment the section of steve Cleartext-Password := “testing” 2b. vi /etc/raddb/clients.conf, change the the ipaddr of client localhost to the local eth0 interface ipaddr = 10.150.186.120 2c. run radius in debug mode usr/local/sbin/radiusd -X 2d. run radtest, “Access-Accept packet” stand for [...]
默认安装配置下,NAS只是在连接开始及结束时发送帐户用量测量信息,如果连接异常中断时,NAS有时并不会发送结束及测量结束。如果用户长时间连接又异常中断,测量结果便会有较大出入。 FreeRadius可以通过设置Acct-Interim-Interval响应参数来要求NAS Acct更新周期。可以在radgroupreplay或者radreply中对组或者用户进户设置。比如设置帐户更新周期为300秒。 Acct-Interim-Interval = 300 当然,这也取决于NAS是否支持Acct-Interim-Interval 设置。
FreeRaidus在一些情况,用户的连接已经断开,但系统中用户还处于在线状态。如果用户再次从同一IP再次登录或者服务限制一个用户不能同时多处登录时就会连接认证失败。其次FreeRaidus真是一个不错的系统,可以自己写一段SQL来处理这个情况。SQL放在/etc/freeradius/sites-enable/default的authorize section即可。 if(User-Name) { if(“%{sql:UPDATE radacct set AcctStopTime=ADDDATE(AcctStartTime,INTERVAL AcctSessionTime SECOND),AcctTerminateCause=’Clear-Stale Session’ WHERE UserName=’%{User-Name}’ and CallingStationId=’%{Calling-Station-Id}’ and AcctStopTime is null}”){ } }
1. radius.conf # Session database, used for checking Simultaneous-Use. Either the radutmp # or rlm_sql module can handle this. # The rlm_sql module is *much* faster session { #radutmp #原来使用的是radutmp文件 # See “Simultaneous Use Checking Querie” in sql.conf sql #现在采用sql数据库验证 }
