首页 > 未分类 > Linux+FreeRadius+MySql安装过程

Linux+FreeRadius+MySql安装过程

2009年7月18日 Ming 发表评论 阅读评论

一、基本环境

 

所用平台  RedHat9.0

安装时需要把下面的软件装上,

C devel

C++ devel扩展包:

OpenSSL

Mysql

mysql-server

mysql-devel

mysql-client

如果想用到web界面管理,还需要安装

Apache

PHP

php-mysql

mod-auth-mysql

如果安装系统的时候没有安装则需要安装,我用的是光盘上的RPM包

rpm -ivh mysql-3.23.54a-11.i386.rpm

rpm -ivh mysql-devel-3.23.54a-11.i386.rpm

rpm -ivh mysql-server-3.23.54a-11.i386.rpm

需要说明的是mysql-devel这个包是必须得装的,很多由rpm包安装的mysql默认是没有这个包的,如果没有这个包最后Radius是启动不了的。

FreeRadius需要openssl支持,安装openssl

rpm -ivh openssl096b-0.9.6b-3.i386.rpm

rpm -ivh openssl096-0.9.6-15.i386.rpm  

 

二、安装FreeRadius

 

下面安装freeradius

我用的版本是freeradius-1.1.0

下载或者拷贝freeradius-1.1.0.tar.gz软件包到 /root目录

cd /root

tar zxvf freeradius-1.1.0.tar.gz

cd freeradius-1.1.0.

./configure

make

make install

更改freeradius的设置

cd /usr/local/etc/raddb

更改radiusd.conf,让其支持sql (如下,主要是将authorize {} 和accouting {}里面的sql前面的#号去掉)

               authorize {

               preprocess

               chap

               mschap

               suffix

               sql

               }

               accouting {

               ….

               sql

               …

               }

  更改sql.conf

               server=”localhost”

               login=”root”

               password=”123456 “     // mysql的root的密码

radius_db=”radius”

 

三、MySQL配置

 

启动mysql服务

service mysqld start

  更改mysql的root密码

mysqladmin –uroot –p password 123456  (123456是修改后的密码)

创建radius数据库

mysqladmin –uroot –p123456 create radiusd

建立mysql的数据库raius的表

cd /root/freeradius-1.1.0/src/modules/rlm_sql/drivers/rlm_sql_mysql

mysql -uroot –p123456 radius < db_mysql.sql(123456是root密码,下同)

数据库加入测试账号

加入组

mysql -uroot –p123456 radius

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

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

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

insert into radgroupreply (groupname,attribute,op,value) 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

如果这样还不行,则检查下mysql-devel-包是否安装,如果没有安装则需要重新安装并重新编译freeradius,一般如果mysql-devel-包安装了而且把库文件加入到了系统搜索的目录是可以成功的。

测试账号

radtest test test localhost 0 testing123

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

 

五、WEB管理的安装与配置

 

服务器搭建成功后如果需要web管理,freeradius自带了一个web管理程序dialup_admin。

首先测试Apache与PHP安装的正确性。Apache的WEB目录在 /var/www/html 下首先测试Apache,在浏览器输入 Http://127.0.0.1 下看到Apache界面表示正常。

编辑一个PHP测试文件,内容为 ,保存为 phpinfo.php。在浏览器输入Http://127.0.0.1/phpinfo.php 看到php相关信息页面,表示php运作正常。

直接将/usr/local/src/freeradius-1.1.0/dialup_admin/文件夹全部拷贝到Apache网页目录下/var/www/html下。

修改dialup_admin/conf/下的admin.conf文件中的如下参数:

sql_type:mysql

sql_server:localhost                    //sql地址

sql_port:3306                         //默认端口

sql_username:root

sql_password:123456                   //密码

sql_database:radius                     //数据库名

 

general_charset: UTF-8           //避免浏览器乱码

general_base_dir: /var/www/html/dialup_admin //dialup_admin主目录

general_radius_server_auth_proto: chap   //将pap改成chap

general_encryption_method: clear        //将crypt改成clear

说明一下,general_encryption_method: clear是必须得改的,否则用web管理界面添加用户后会出现密码被加密后无法识别导致认证失败,clear方式是以明文存储密码,freeradius默认是用明文存储密码,两者要对应,所以这里要用clear方式。

修改dialup_admin/conf/下的naslist.conf文件如下

nas1_name: nas1.%{general_domain}

nas1_model: Computer                 //NAS服务器的类型

nas1_ip: 192.168.1.1                 //NAS服务器的IP地址

nas1_port_num: 15

nas1_community: public

其他的通通删掉或用#号注释掉,这样修改的目的是方便在web管理界面中直观的看到每个NAS服务器连接用户的情况。

导入相关数据库表

cd /var/www/html/dialup_admin/sql

mysql -uroot –p123456 radius < userinfo.sql

mysql -uroot –p123456 radius < totacct.sql

mysql -uroot –p123456 radius < mtotacct.sql

mysql -uroot –p123456 radius < badusers.sql

dialup_admin用的是php3格式的文件,需要web服务器支持这种格式,

修改/etc/httpd/conf/httpd.conf文件,在此文件最后添加

AddType application/x-httpd-php .php .html .htm .php3

保存后重启httpd服务

service httpd restart

访问:http://localhost/dialup_admin/htdocs/index.html

能正常打开各页面就ok了。默认是打开的sql调试模式。可以在admin.conf中找到sql_debug.把true改为false即可关闭。

至此,整个Radius服务器搭建完成。

如果要对其他NAS服务器提供验证服务,只需修改/usr/local/etc/raddb下的clients.conf文件,在后面加上

client 192.168.1.1 {        //IP地址修改为NAS服务器的地址  

                      secret    = testing123  //NAS服务器与Radius服务器通信的密码

                      shortname  = NAS          //这个无所谓,随便填

                      nastype   = other  

}

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

分类: 未分类 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.