本文接上文《PPTP + FreeRADIUS + MySQL 安装与配置》,请先安装好PPTP + FreeRADIUS + MySQL,然后再继续本文的安装过程。
vi /usr/local/etc/raddb/radiusd.conf
# 取消注释712行, $INCLUDE sql/mysql/counter.conf
vi /usr/local/etc/raddb/sql/mysql/counter.conf
# 最底行加入如下代码:
sqlcounter monthlytrafficcounter {
counter-name = Monthly-Traffic
check-name = Max-Monthly-Traffic
reply-name = Monthly-Traffic-Limit
sqlmod-inst = sql
key = User-Name
reset = monthly
query = "SELECT SUM(acctinputoctets + acctoutputoctets) FROM radacct WHERE UserName='%{%k}' AND UNIX_TIMESTAMP(AcctStartTime) > '%b'"
}
vi /usr/local/etc/raddb/sites-enabled/default
# 找到下面这块区域
authorize {
…
}
# 在该区域的尾部(即“}”前一行)添加一行monthlytrafficcounter
vi /usr/local/etc/raddb/dictionary
# 在最底部插入:
ATTRIBUTE Max-Monthly-Traffic 3003 integer
ATTRIBUTE Monthly-Traffic-Limit 3004 integer
mysql -uroot -p;
use radius;
# 在数据库中限制用户组的最大流量为1M(本例中的用户组名为user)
mysql> INSERT INTO radgroupcheck (groupname,attribute,op,VALUE) VALUES ('user','Max-Monthly-Traffic',':=','1048576');
# 流量统计时间的间隔(60秒)
mysql> INSERT INTO radgroupcheck (groupname,attribute,op,VALUE) VALUES ('user','Acct-Interim-Interval',':=','60');
# 加入一个新的VPN用户(用户名zhukun.net,密码abc123)
mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('zhukun.net', 'Password', 'abc123');
# 将用户zhukun.net加到组里
mysql> insert into radusergroup(username,groupname) values('zhukun.net','user');
# 退出Mysql
mysql> exit
# 重启radius让其生效
/etc/init.d/radiusd restart
注意:如果同时用phpMyAdmin来管理MySQL的话,建议把php.ini里session.auto_start的值设置为1(默认是0),否则phpMyAdmin会出现“Cannot start session without errors”的错误。
搞的这么复杂啊,小猪现在功底越来越厚了啊。
zhukun,想用vps来卖虚拟主机,有没有好的主机面板控制程序推荐啊,便宜或者免费的最好。
你的留言怎么跑到垃圾留言区了,幸好我刚才及时看见。
免费的主机面板程序就是kloxo了。收费的比较便宜的是DirectAdmin了,淘宝上的终身授权好像要340多块吧。