红联Linux门户
Linux帮助

架设freeradius+mysql 的radius服务器

发布时间:2006-01-03 09:24:57来源:红联作者:新新
本文献给广大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
http://www.freeradius.org上下载free...本文版本是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 < db_mysql.sql
更改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
如要转载,请注明作者和来源
文章评论

共有 5 条评论

  1. 5sky 于 2013-02-17 15:17:02发表:

    这个资料有点老了。

  2. 于 2012-03-22 14:36:49发表:

    成功毛啊,?程呢?

  3. zczspring 于 2010-12-27 15:30:36发表:

    很详细。

  4. 会吐烟圈的猪 于 2010-12-26 03:33:47发表:

    很详细。

  5. jack_xuwei 于 2009-06-07 18:18:11发表:

    谢谢楼主 学习了