其实这篇教程应该叫做“OpenVZ freeradius2 安装教程”,但我想搜索过来的人基本会是freeradius,就暂定了。

在你看这个文章之前,请确认你已经完全安装或自己搭建好pptpd,并可以使用VPN,没有的话参考这里

鉴于目前网上资料都是抄来抄去,害我走了很多弯路,转载请按照本站遵循的版权协议(页脚),否则别怪我向你的主机商投诉。

话不多说,开始进行搭建

1.确认安装哪些包并安装,建议采用yum安装

yum search freeradius2

记得是2.x,不是1.x,1.x已经停止了!这里我选择安装以下3个包

yum install -y freeradius2 freeradius2-utils freeradius2-mysql

2。确认freeradius可以工作

radiusd -X

开一个新窗口,随笔输入一个测试

radtest steve testing localhost 1812 testing123

有输出即可,是拒绝输出也说明可以了嘛!

3.freeradius 2和pptpd集成

其实现勾住数据库还是先勾pptpd没有什么顺序之分

下载ppp源码,将相关东东拷贝,我存在自己网站哈,算了,换官网吧,最稳定

wget ftp://ftp.samba.org/pub/ppp/ppp-2.4.5.tar.gz
tar -zxvf ppp-2.4.5.tar.gz
cp -R ppp-2.4.5/pppd/plugins/radius/etc /etc/radiusclient/

修改文件/etc/radiusclient/servers

vim /etc/radiusclient/servers

加入一行

localhost 通讯密码1

修改配置文件

vim /etc/radiusclient/radiusclient.conf

确保这个文件中radiusclient相关的路径都是“/etc/radiusclient”开头的
比如issue /usr/local/etc/radiusclient/issue 改为 issue /etc/radiusclient/issue,在我印象里就是修改下面4个,不要修改不必要的啊!下面引用是最后修改的结果issue、servers 、dictionary、mapfile

issue /etc/radiusclient/issue
servers         /etc/radiusclient/servers
dictionary      /etc/radiusclient/dictionary
mapfile         /etc/radiusclient/port-id-map

添加freeradius插件

vim /etc/ppp/options.pptpd

最后加入

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

到这里对pptpd集成完毕,下面开始Mysql集成

4.freeradius 2和mysql集成

先说明一下mysql,我是自己编译安装的,如果yum或rpm包安装的话更简单,mysql版本和freeradius版本无严格关系!

(1)首先建立数据库radius,设定数据库用户和密码,这个我不说了,可能在修订版加入。

(2)将/etc/raddb/sql/mysql/这个目录下所有的sql文件导入吧!

(3)修改相关配置文件,去除文件支持,改为全数据库支持

打开数据库支持

vim /etc/raddb/radiusd.conf

找到

# $INCLUDE sql.conf

去掉前面#号

找到

$INCLUDE sql/mysql/counter.conf

去掉前面#号,保存退出

修改文件

vim /etc/raddb/sql.conf

修改数据库密码用户等信息,我不11列举了

login = “数据库用户名”
password = “数据库密码”

找到

#    readclients = yes

去掉前面的#

接下来是修改site-enabled目录下的配置了

cd /etc/raddb/sites-enabled
vim default

找到authorize {}模块,注释掉files,去掉sql前的#号;
找到preacct {}模块,注释掉files;
找到accounting {}模块,注释掉radutmp,去掉sql前面的#号;
找到session {}模块,注释掉radutmp,去掉sql前面的#号;
找到post-auth {}模块,去掉sql前的#号;
总之就是去掉files模块,开启sql模块。

vim inner-tunnel

操作如修改default

修改/etc/raddb/sql/mysql/dialup.conf

vim /etc/raddb/sql/mysql/dialup.conf

找到

simul_count_query = “SELECT COUNT(*) \

去掉这句加下面xxx句的#号,打开在线人数支持的query

至此。集成mysql完毕

5.添加测试用户及pptp客户端

insert into radcheck set username=’user’,attribute=’User-Password’,value=’pwd’;
insert into nas set nasname=’127.0.0.1′,shortname=’localhost’,type=’other’,secret=’通讯密码1′;

6.勾起本机mysql与freeradius 2 mysql模块(编译安装mysql的独有步骤)

mkdir -p /var/lib/mysql
ln -s 你的sock文件路径 mysql.sock

我的是在/tmp/mysql.sock

7.测试帐号

直接成功拨入!加密方式为可选加密、VPN类型选择PPTP

八百里原创http://www.800l.com)