设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย french

搜索
热搜: 活动 交友 discuz

通过FreeRADIUS实现VPN流量控制功能 [复制链接]
查看:149 | 回复:19

7

主题

7

回帖

43

积分

新手上路

积分
43
发表于 2011-8-8 00:27:48 | 显示全部楼层 |阅读模式
购买VPS相信很多人都是为了搞VPN的,搞了VPN后必然想做流量限制。考虑到网上教程有很多问题的,故将博客文章再贴出来。

首先要安装配置好 FreeRADIUS 用于做认证。方法见:《PPTP/L2TP + FreeRADIUS + MySQL 安装与配置》

一、启用 Rlm sqlcounter 模块

查找"counter.conf”(695行),去掉#号

[ol]
  • vim /usr/local/etc/raddb/radiusd.conf[/ol]复制代码

    二、添加 Traffic Counter流量计数器

    网上一些教程有拼写错误,折腾了大半天才在官方文档上找到原因。

    [ol]
  • vim /usr/local/etc/raddb/sql/mysql/counter.conf[/ol]复制代码

    在文件末尾添加下面代码

    [ol]
  • 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'"
  • }[/ol]复制代码

    上面代码意思是按月进行统计,从数据库的radacct表中,根据用户名(%k)将所有入站和出站流量累加。

    时间也是可以自定义的(months、weeks、days、hours),也可以指定具体值,如三天重置一次 "reset = 3 d"

    三、启用Traffic Counter流量计数器

    [ol]
  • vim /usr/local/etc/raddb/sites-enabled/default[/ol]复制代码

    在authorize区块的末尾(205行)添加

    [ol]
  • monthlytrafficcounter[/ol]复制代码

    四、添加字典文件

    [ol]
  • vim /usr/local/etc/raddb/dictionary[/ol]复制代码

    在文件末尾添加下面两行

    [ol]
  • ATTRIBUTE Max-Monthly-Traffic 3003 integer
  • ATTRIBUTE Monthly-Traffic-Limit 3004 integer[/ol]复制代码

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


    注意事项:

    1)这里插入到radgroupreply表,是限制某个用户组的流量。也可以插入到radcheck表,以限制某个用户的流量。
    2)流量值以 byte 为单位,1G = 1073741824 bytes
    3)VIP1是用户组,123456是数据库root密码

    # 连接到MySQL数据库

    [ol]
  • mysql -uroot -p123456;[/ol]复制代码

    # 每月最大流量(1G)

    [ol]
  • INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('VIP1','Max-Monthly-Traffic',':=','1073741824');[/ol]复制代码

    原文:https://wangyan.org/blog/freeradius-traffic-limit.html
  • 368

    主题

    5786

    回帖

    1万

    积分

    论坛元老

    积分
    12754
    发表于 2011-8-8 00:29:41 | 显示全部楼层
    收藏一下 谢谢

    65

    主题

    1424

    回帖

    3115

    积分

    论坛元老

    积分
    3115
    发表于 2011-8-8 00:29:57 | 显示全部楼层
    又有好多VPN商要诞生了

    184

    主题

    486

    回帖

    1570

    积分

    金牌会员

    积分
    1570
    发表于 2011-8-8 00:31:53 | 显示全部楼层
    谢谢

    184

    主题

    486

    回帖

    1570

    积分

    金牌会员

    积分
    1570
    发表于 2011-8-8 00:32:28 | 显示全部楼层
    求自动化赚钱教程。。

    32

    主题

    2582

    回帖

    5312

    积分

    论坛元老

    积分
    5312
    发表于 2011-8-8 00:52:38 | 显示全部楼层
    原帖由 lylover 于 2011-8-8 00:32 发表


    可以支持多个服务器 一个数据库管理吗


    可以!一个服务器做认证,其他服务器只装客户端,最后将客户端IP添加到NAS表中。

    这就是所谓可自助更换机房VPN原理。
    可自助更换机房可是Blockcn的杀手锏!

    110

    主题

    3242

    回帖

    6904

    积分

    论坛元老

    积分
    6904
    发表于 2011-8-8 00:53:01 | 显示全部楼层
    如何在没有安装mysql的被控制,远程成功?为什么我用vpn时,连接上没几分钟网络速度就变得越来越差?请问如何创建多线程vpn

    7

    主题

    7

    回帖

    43

    积分

    新手上路

    积分
    43
     楼主| 发表于 2011-8-8 01:00:53 | 显示全部楼层
    VPN本来就是多线程的...................

    362

    主题

    1427

    回帖

    4064

    积分

    论坛元老

    积分
    4064
    发表于 2011-8-8 01:01:18 | 显示全部楼层
    单独对某一程序多线程代理 (例如95加速器) 那是另一种方式了

    0

    主题

    1

    回帖

    4

    积分

    新手上路

    积分
    4
    发表于 2011-8-8 01:05:26 | 显示全部楼层
    好文章
    做个记号
    您需要登录后才可以回帖 登录 | 立即注册

    论坛客服/商务合作/投诉举报:2171544 (QQ)
    落伍者创建于2001/03/14,本站内容均为会员发表,并不代表落伍立场!
    拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
    落伍官方微信:2030286 邮箱:(djfsys@gmail.com|tech@im286.com)
    © 2001-2014

    浙公网安备 33060302000191号

    浙ICP备11034705号 BBS专项电子公告通信管[2010]226号

      落伍法律顾问: ITlaw-庄毅雄

    Archiver|手机版|Discuz! X

    GMT+8, 2026-6-14 14:01 , Processed in 0.018035 second(s), 4 queries , Gzip On, Redis On.

    返回顶部