未成功,待续。。。

现有环境说明:

[[email protected] ~]# uname -r

2.6.32-358.el6.i686

[[email protected] ~]# cat /etc/redhat-release

CentOS release 6.4 (Final)

freeradius-mysql-2.1.12-4.el6_3.i686

freeradius-2.1.12-4.el6_3.i686

安装MySQL及数据库及freeradius

yum install mysql mysql-server freeradius freeradius-mysql

/etc/raddb/radiusd.conf

为 freeradius 创建数据库并创建用户:

方法一:

[[email protected] ~]# mysql -uroot -p

mysql> CREATE DATABASE radius;

mysql> GRANT ALL ON radius.* TO [email protected] IDENTIFIED BY "radpass";

mysql> exit

方法二:

[[email protected] ~]# mysql -uroot -p

mysql> CREATE DATABASE radius;

mysql> source /etc/raddb/sql/mysql/admin.sql;

mysql> exit

接下来为radius数据库导入相应的表结构:

[[email protected] ~]# cd  /etc/raddb/sql/mysql

[[email protected] mysql]# mysql radius < schema.sql

为 freeradius 启用 MySQL 支持及启用 Rlm sqlcounter 模块:

[[email protected] ~]# vi /etc/raddb/radiusd.conf

# 取消注释700行, $$INCLUDE sql.conf

# 取消注释712行, $INCLUDE sql/mysql/counter.conf

[[email protected] ~]# vi /etc/raddb/sites-enabled/default

# 找到 authorize {}模块,注释掉170行的 files,然后去掉 sql 前的 #号(177 行)

# 找到 accounting {}模块,注释掉396行的 radutmp, 注释掉去掉406行的 sql 前面的 #号

可在 /etc/raddb/sql.conf 修改 sql 连接设置,由于之前我们的用户名密码已经按此设置过

了,所以暂时不用修改。

然后需要允许认证客户端连接。默认 freeradius 只允许本地客户端发起认证,这里假设有一

台提供 VPN 服务的服务器名字是 red,ip 为 1.2.3.4,设置的共享密码为 asdf1234,其中

IP 必须为客户端 IP,shortname 是可以随意设置的,客户端连接的时候会被要求提供

secret:

[[email protected] ~]# vi /etc/raddb/clients.conf

在最后一行加上:

client 172.17.88.88 {secret = METENenglish

shortname = MetenVPN

}

"/etc/raddb/clients.conf" 238L, 6778C written

配置流量统计功能

[[email protected] ~]# vi /etc/raddb/sql/mysql/counter.conf

在文件最后添加以下代码(按月进行统计,从数据库的radacct表中,根据用户名(%k)将所有

入站和出站流量累加,时间可自定义months、weeks、days、hours,也可以指定具体值,如三

天重置一次 "reset = 3 d"):

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‘"

}

启用Traffic Counter流量计数器

[[email protected] ~]# vi /etc/raddb/sites-enabled/default

# 找到 authorize {}模块,在此模块当中的最后一行添加monthlytrafficcounter

添加字典

[[email protected] ~]# vi /etc/raddb/dictionary

在文件最后添加两行:

ATTRIBUTE       Max-Monthly-Traffic     3003    integer

ATTRIBUTE       Monthly-Traffic-Limit   3004    integer

五、数据库插入流量限制值

1)这里插入到radgroupcheck表,是限制某个用户组的流量。也可以插入到radcheck表,以限

制某个用户的流量。

2)流量值以 byte 为单位,1G = 1073741824 bytes

3)VIPgroup是用户组

mysql -uroot -p;

use radius;

# 每月最大流量(1G)

INSERT INTO radgroupcheck (groupname,attribute,op,value) VALUES (‘VIPgroup‘,‘Max-

Monthly-Traffic‘,‘:=‘,‘1073741824‘);

# 流量统计时间的间隔(60秒)

INSERT INTO radgroupcheck (groupname,attribute,op,value) VALUES

(‘VIPgroup‘,‘Acct-Interim-Interval‘,‘:=‘,‘60‘);

# 在数据库中限制用户组的最大流量为1M(本例中的用户组名为user)

mysql> INSERT INTO radgroupcheck (groupname,attribute,op,VALUE) VALUES

(‘VIPgroup‘,‘Max-Monthly-Traffic‘,‘:=‘,‘1048576‘);

# 流量统计时间的间隔(60秒)

mysql> INSERT INTO radgroupcheck (groupname,attribute,op,VALUE) VALUES

(‘VIPgroup‘,‘Acct-Interim-Interval‘,‘:=‘,‘60‘);

# 加入一个新的VPN用户(用户名Youki,密码qwe456)

mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES (‘Youki‘,

‘Password‘, ‘qwe456‘);

# 将用户Youki加到组里

mysql> insert into radusergroup(username,groupname) VALUES (‘Youki‘,‘VIPgroup‘);

# 限制同时登陆人数,注意是在 radgroupcheck 表

INSERT INTO radgroupcheck (groupname,attribute,op,VALUE) VALUES

(‘VIPgroup‘,‘Simultaneous-Use‘,‘:=‘,‘3‘);

# 退出Mysql

mysql> exit

# 重启radius让其生效

/etc/init.d/radiusd restart

参考资料:

1. http://wiki.freeradius.org/Rlm_sqlcounter

2. http://freeradius.org/rfc/attributes.html

在PPTP配置文件中增加radius支持:

[[email protected] ~]# vi /etc/ppp/options.pptpd

末尾处添加

plugin /usr/lib/pppd/2.4.5/radius.so

plugin /usr/lib/pppd/2.4.5/radattr.so

radius-config-file /etc/radiusclient-ng/radiusclient.conf

未成功,待续。。。,布布扣,bubuko.com

时间: 2024-08-19 08:11:36

未成功,待续。。。的相关文章

whatweb.rb 未完待续

#!/usr/bin/env ruby #表示ruby的执行环境 =begin # ruby中用=begin来表示注释的开始 .$$$ $. .$$$ $. $$$$ $$. .$$$ $$$ .$$$$$$. .$$$$$$$$$$. $$$$ $$. .$$$$$$$. .$$$$$$. $ $$ $$$ $ $$ $$$ $ $$$$$$. $$$$$ $$$$$$ $ $$ $$$ $ $$ $$ $ $$$$$$. $ `$ $$$ $ `$ $$$ $ `$ $$$ $$' $ `$

把握linux内核设计思想系列(未完待续......)

[版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途] 把握linux内核设计思想(一):系统调用 把握linux内核设计思想(二):硬中断及中断处理 把握linux内核设计思想(三):下半部机制之软中断 把握linux内核设计思想(四):下半部机制之tasklet 把握linux内核设计思想(五):下半部机制之工作队列及几种机制的选择 把握linux内核设计思想(六):内核时钟中断 把握linux内核设计思想(七):内核定时器和

[译]App Framework 2.1 (1)之 Quickstart (未完待续)

最近有移动App项目,选择了 Hybrid 的框架Cordova  和  App Framework 框架开发. 本来应该从配置循序渐进开始写的,但由于上班时间太忙,这段时间抽不出空来,只能根据心情和兴趣,想到哪写到哪,前面的部分以后慢慢补上. App Framework 前生是是叫 jqMobi 注意大家不要和 jQuery Mobile 混淆了,它们是两个不同的框架,一开始我还真混淆了0.01秒. 这里我先翻译一下Quickstart 部分,一是自己工作上用的上,二是也想顺便练练英文,最关键

神奇华为3c手机, 出现安装未成功问题。

1.我会命令adb uninstall 先卸载我们有签名的安装包. 2.用开发模式在手机上运行我们的应用. 3.然后测试就把手机拿走了,就用应用管理器把我们的应用卸载了. 4.继续装我们的开发包,死活也装不了.我拿到手机也没有办法.试了很久,差点就要root手机了,但是手机又不是我的,没有办法root. 5.网上提供此资料 http://xusaomaiss.javaeye.com/blog/393296 在反复安装android apk的时候,有的时候可能会遇到adb install错误,内容

数据结构与算法之--高级排序:shell排序和快速排序【未完待续】

高级排序比简单排序要快的多,简单排序的时间复杂度是O(N^2),希尔(shell)排序的是O(N*(logN)^2),而快速排序是O(N*logN). 说明:下面以int数组的从小到大排序为例. 希尔(shell)排序 希尔排序是基于插入排序的,首先回顾一下插入排序,假设插入是从左向右执行的,待插入元素的左边是有序的,且假如待插入元素比左边的都小,就需要挪动左边的所有元素,如下图所示: ==> 图1和图2:插入右边的temp柱需要outer标记位左边的五个柱子都向右挪动 如图3所示,相比插入排序

git个人使用总结 —— idea命令行、撤销commit (未完待续)

近期在使用git,最开始在idea界面操作,后来要求用命令行.刚开始还不是很习惯,感觉很麻烦,用了几天后感觉爽极了! 其实git的命令也不是很多,熟悉一段时间就差不多能顺利使用了.使用过程中遇到了各种各样的问题,有些小问题就在这里集中总结一下. 1.idea命令行.git安装后就自带终端git bash,使用起来很方便.但是用idea开发,开发后还要在相应文件夹下打开git bash很麻烦.其实idea也带有终端terminal,在最下方可以找到,在这里就可以执行命令.但是如果是默认方式安装的g

Unity3D快捷键 未完待续

Unity3D 点选Object+F Object在当前视角居中 CTRL+1/2 Scene/Game视图的切换 MonoDevelop CTRL+K  删除光标所在行的该行后面的代码 CTRL + ALT +C  注释/不注释该行 CTRL+ DOWN  像鼠标滚轮一样向下拖 CTRL + UP 像鼠标滚轮一样向上拖 CTRL + F  查找该脚本 CTRL + SHIFT + F 查找全部脚本 CTRL + H 替换代码 CTRL + SHIFT +W 关掉所有脚本 Unity3D快捷键

模板区域[未完待续](会定期的更新哦(有时间就更了))

写这个博客目的就是为了记录下学过的模板方便我这焫鷄复习吧//dalao们绕道 近期学的: (1)来自机房学长jjh大神教的求1~n的所有最小素因数和加上本焫鷄的批注 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath>//求1~n的最小质因数 using namespace std; const int MAXN=1e6+

NOIP2016 那些我所追求的 [未完待续]

人生第一场正式OI [Day -1] 2016-11-17 期中考试无心插柳柳成荫,考了全市第2班里第1(还不是因为只复习了不到两天考试),马上请了一个周的假准备NOIP(数学生物还是回去上课的) 灰哥跟我一块,tlq考吃了没请假 正好下个周老班出去学习了不害怕 星期4所有人都请假了,漫无目的地复习了一天题,参考题解补了一场模拟赛 晚上灰哥因为住宿直接回家了,还让我给XXX送纸条 SD NOIP的群好多人直播,我们就直播了个国际象棋(竟然有人说八皇后,我只升变了两个兵称为皇后),然而竟然默认开启