[精华]架设freeradius+mysql的radius服务器.doc
统计结果架设freeradius+mysql 的radius服务器本文献给广大linux的爱好者有人居然说设置radius要卖钱,本人花了几天的功夫,看了些资料,终于成功设置radius服务器,现在贴出来和大家分享。笔者用的平台是RedHat Linux 7.2一、安装mysql本人用的是光盘上的RPM包rpm ivh mysql-3.23.41.1.i386.rpmrpm ivh mysql-devel-3.23.41.1.i386.rpmrpm ivh mysql-server-3.23.41.1.i386.rpmrpm 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;退出及重新启动mysqlquitservice mysqld restart二、安装openSSL本人也是用的光盘上的RPM包rpm ivh openssl095a-0.9.5a-11.i386.rpmrpm ivh openssl096-0.9.6-6.i386.rpm三、安装freeradius从www.freeradius.org上下载freeraidus,本文版本是0.8.1编译和安装tar xvfz freeradius.tar.gzcd xvfz freeradius-0.8.1./configuremakemake install建立mysql的数据库raius的表cd src/modules/rlm_sql/drivers/rlm_sql_mysqlmysql 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密码 radiusinsert 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: netwolf163.com 如要转载,请注明作者和来源安装完之后成 使用 mysql admin连接报错ERROR 1130: Host *.*.*.* is not allowed to connect to this MySQL server以下百度查到的,试过可以说明所连接的用户帐号没有远程连接的权限,只能在本机(localhost)登录。需更改 mysql 数据库里的 user表里的 host项把localhost改称%具体步骤:登陆到mysql首先 use mysql;按照别人提供的方式update的时候,出现错误。mysql> update user set host='%' where user = 'root'ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'然后查看了下数据库的host信息如下:mysql> select host from user where user = 'root'+-+| host |+-+| % | | 127.0.0.1 | | localhost.localdomain | +-+3 rows in set (0.00 sec)host已经有了%这个值,所以直接运行命令:mysql>flush privileges;再用mysql administrator连接.成功!