全球主机交流论坛

标题: 通过FreeRADIUS实现VPN流量控制功能 [打印本页]

作者: wangyan    时间: 2011-8-8 00:27
标题: 通过FreeRADIUS实现VPN流量控制功能
购买VPS相信很多人都是为了搞VPN的,搞了VPN后必然想做流量限制。考虑到网上教程有很多问题的,故将博客文章再贴出来。

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

一、启用 Rlm sqlcounter 模块

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

  1. vim /usr/local/etc/raddb/radiusd.conf
复制代码


二、添加 Traffic Counter流量计数器

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

  1. vim /usr/local/etc/raddb/sql/mysql/counter.conf
复制代码


在文件末尾添加下面代码

  1. sqlcounter monthlytrafficcounter {
  2.     counter-name = Monthly-Traffic
  3.     check-name = Max-Monthly-Traffic
  4.     reply-name = Monthly-Traffic-Limit
  5.     sqlmod-inst = sql
  6.     key = User-Name
  7.     reset = monthly
  8.     query = "SELECT SUM(acctinputoctets + acctoutputoctets) FROM radacct WHERE UserName='%{%k}' AND UNIX_TIMESTAMP(AcctStartTime) > '%b'"
  9. }
复制代码


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

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

三、启用Traffic Counter流量计数器

  1. vim /usr/local/etc/raddb/sites-enabled/default
复制代码


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

  1. monthlytrafficcounter
复制代码


四、添加字典文件

  1. vim /usr/local/etc/raddb/dictionary
复制代码


在文件末尾添加下面两行

  1. ATTRIBUTE Max-Monthly-Traffic 3003 integer
  2. ATTRIBUTE Monthly-Traffic-Limit 3004 integer
复制代码


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


注意事项:

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

# 连接到MySQL数据库

  1. mysql -uroot -p123456;
复制代码


# 每月最大流量(1G)

  1. INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('VIP1','Max-Monthly-Traffic',':=','1073741824');
复制代码


原文:https://wangyan.org/blog/freeradius-traffic-limit.html
作者: hotsnow    时间: 2011-8-8 00:29
收藏一下 谢谢
作者: l12ab    时间: 2011-8-8 00:29
又有好多VPN商要诞生了
作者: lylover    时间: 2011-8-8 00:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: lylover    时间: 2011-8-8 00:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: 一跳而过    时间: 2011-8-8 00:52
谢谢
作者: 神马皆浮云    时间: 2011-8-8 00:53
求自动化赚钱教程。。
作者: wangyan    时间: 2011-8-8 01:00
原帖由 lylover 于 2011-8-8 00:32 发表
可以支持多个服务器 一个数据库管理吗


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

这就是所谓可自助更换机房VPN原理。
可自助更换机房可是Blockcn的杀手锏!
作者: zjsz007    时间: 2011-8-8 01:01
如何在没有安装mysql的被控制,远程成功?
作者: aveline    时间: 2011-8-8 01:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: 誓誓    时间: 2011-8-8 01:06
为什么我用vpn时,连接上没几分钟网络速度就变得越来越差?请问如何创建多线程vpn
作者: Vita    时间: 2011-8-8 01:15
标题: 回复 11# 誓誓 的帖子
VPN本来就是多线程的...................
作者: Vita    时间: 2011-8-8 01:16
标题: 回复 11# 誓誓 的帖子
单独对某一程序多线程代理 (例如95加速器) 那是另一种方式了
作者: koukouwu.com    时间: 2011-8-8 01:27
好文章
做个记号
作者: koukouwu.com    时间: 2011-8-8 01:30
看图
无敌502
作者: 哈哈大侠    时间: 2011-8-8 02:32
这个不错的。有限制比较好
作者: hotdojo    时间: 2011-8-8 07:50
mark
作者: cnx    时间: 2011-8-8 08:14
难者不会,会者不难.
我不会.
作者: xiangjiaous    时间: 2011-8-8 08:26
好多VPN商人
作者: skywing    时间: 2011-8-8 09:42
我以前搞过.没有搞成功
作者: skywing    时间: 2011-8-8 09:43
现在手里没有折腾对象啊...
作者: vaman    时间: 2011-8-8 09:43
博客皮肤好漂亮~~
作者: chaoren521    时间: 2011-8-8 11:54
不知是谁的mj
作者: 堕落kiss    时间: 2011-8-8 12:00
VPN一直在尝试着做,流量控制限速都写好了,可以没有销售程序。。。。
作者: test100    时间: 2011-8-8 13:01
教程云集啊。




欢迎光临 全球主机交流论坛 (https://443502.xyz/) Powered by Discuz! X3.4