架设freeradius+mysql的radius服务器

王朝mysql·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

本文献给广大linux的爱好者

有人居然说设置radius要卖钱,本人花了几天的功夫,看了些资料,终于成功设置radius服务器,现在贴出来和大家分享。

笔者用的平台是RedHat Linux 7.2

一、安装mysql

本人用的是光盘上的RPM包

rpm ?ivh mysql-3.23.41.1.i386.rpm

rpm ?ivh mysql-devel-3.23.41.1.i386.rpm

rpm ?ivh mysql-server-3.23.41.1.i386.rpm

rpm ?ivh mysqlclient9-3.23.22-6.i386.rpm

启动mysql服务

service mysqld start

更改mysql的root密码(注意:mysql的root 和系统的root是2个不用的概念)

mysql ?uroot ?p

创建radius数据库

creat database radius;

use mysql;

update user set password=password(‘你的密码’) where user=’root’;

允许远程机器连接

update user set host=’%’ where user=’root’;

退出及重新启动mysql

quit

service mysqld restart

二、安装openSSL

本人也是用的光盘上的RPM包

rpm ?ivh openssl095a-0.9.5a-11.i386.rpm

rpm ?ivh openssl096-0.9.6-6.i386.rpm

三、安装freeradius

从www.freeradius.org上下载freeraidus,本文版本是0.8.1

编译和安装

tar xvfz freeradius.tar.gz

cd xvfz freeradius-0.8.1

./configure

make

make install

建立mysql的数据库raius的表

cd src/modules/rlm_sql/drivers/rlm_sql_mysql

mysql ?uroot ?p密码 radius

更改freeradius的设置

cd /usr/local/etc/raddb

更改radiusd.conf,让其支持sql (如下面所说)

authorize {

preprocess

chap

mschap

suffix

sql

}

accouting {

….

sql

}

更改sql.conf

server=”localhost”

login=”root”

password=”mysql的root的密码”

radius_db=”radius”

更改 client.conf支持所用的NAS具体可以看该文档,要注意的是secret是NAS和radius服务器的共享密码

数据库加入测试账号

加入组

mysql ?uroot ?p密码 radius

insert into radgroupreply (groupname,attribute,op,values) values (‘user’,‘Auth-Type’,’:=’,’Local’);

insert into radgroupreply (groupname,attribute,op,values) values (‘user’,‘Service-Type’,’:=’,’Framed-User’);

insert into radgroupreply (groupname,attribute,op,values) values (‘user’,‘Framed-IP-Address’,’:=’,’255.255.255.254’);

insert into radgroupreply (groupname,attribute,op,values) values (‘user’,‘Framed-IP-Netmask’,’:=’,’255.255.255.0’);

加入测试账号

insert into radcheck (username,attribute,op,value) values (‘test’,’User-Password’,’:=’,’test’)

测试账号加入组

insert into usergroup (username,groupname) values (‘test’,’user’);

四、启动radius服务、测试账号

启动到debug模式

radiusd ?X

有时候会报找不到文件rlm_sql_mysql这个时候只要把库文件加入系统搜索的目录里

比如:

cp /usr/local/lib/* /usr/lib

测试账号

radtest test teset localhost 0 testing123

如果能看到radius的应答,恭喜服务器设置成功了。

本人才疏,如果本文有错误,请大家指正,并欢迎一起讨论。

本文作者:余旭东

Email: netwolf@163.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航