pptpd+freeradius+mysql 构架VPN并进行流量限制笔记

去年就折腾了一下这个,一直没有折腾出来,今年在北京呆了几天,在情人节结束之后,到今天回到了秦皇岛,又折腾了一下午,总算把上述一套系统给做出来了。 主要参照 1、PPTP/L2TP + FreeRADIUS + MySQL 安装与配置 2、CentOS+pptpd+freeradius+mysql+ara 总结 3、freeradius wiki …. 步骤 1、安装pptpd参照资料2,资料2里面那个脚本文件已经相当详细,没有什么好说的,几乎是傻瓜化了的 2、安装freeradius,下载安装过程参照的是资料1里面,这样也能保证自己得到的是最新版本的。但是在测试完成之后,加入mysql测试的时候,输入radiusd -X,有一个提示是Failed to add duplicate client localhost,自己一直搞不懂为什么有个副本呢?后来把naslist.conf文件里面全部注释了,还是不行。 后来查资料发现,我原先为了安全,把test123改成了其他密码,本以为顺着做按照自己的想法改就行了。所以在naslist.conf还有后面的mysql里面输入的是我自己改的这个secret,不是test123,而radius的客户端没有改,所以主机就不认。改也很简单, cd /usr/local/etc/raddb vi clients.conf 找到这样的语句 client localhsot{ } 把这个语句块中的secret=test123改为你要的密码,这样,客户端和nas之前就能正常沟通了,也保证了安全的需要。 3、mysql部分 mysql对于用户的控制是在radcheck表里面,最简单的,用户名和密码控制就用User-Password ==这个属性就可以了,还有一个限制连接数的属性是Simultaneous-Use := ,不同的操作符会有不同的含义,具体参见wiki里面。 还可以用group来控制,这个可以将用户分组来做。大家可以看一下那个表的结构,大家也就知道怎么做了。 4、流量限制部分 我是把统计部分直接加到了sql/mysql/counter.conf文件末尾,所以,首先到radiusd.conf文件里面,找到$INCLUDE /sql/mysql/counter.conf前面的#去掉,然后 cd sql cd mysql vi counter.conf 在文件后面加入计算模块 sqlcounter monthlyBytecounter{ counter-name = Total-Max-Octets check-name = Max-Octets reply-name = ChilliSpot-Max-Total-Octets sqlmod-inst = sql key = User-Name reset = monthly query = "SELECT (SUM(acctinputoctets)+SUM(acctoutputoctets)) FROM radacct WHERE UserName='%{%k}'AND UNIX_TIMESTAMP(AcctStartTime) > '%b'" } 同时,在/usr/local/raddb/sites-available/default文件里的authorize {} 节点里的最后(一定是最后,我之前加在开始就不行),加入这个模块的名字...

2012-02-15 · qhsong

apache2+mysql+php心得

最近在折腾php,一开始想着是用IIS+php+mysql的,可是一直安装了一天,最后放弃。采用apache2+php+mysql。 安装中参考了http://www.jb51.net/article/17267.htm 最后自己还是卡在了apache2上,最后发现,是在apache2配置里面,有那么一句话: phpdir"“我没配置,配置完成后。所有安装完成,over。 最后找到这个方式是正确的。http://blog.fesite.com/2007/10/15/windows-apache-php-mysql/

2011-05-12 · qhsong