Linux+FreeRadius+MySql安装过程

| |
| 不指定 June 20, 2008 @ 22:53, 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_domain: company.com     //这个可改也可不改,没什么影响,改了还看点而已
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服务器的共享密码。

文章来自: 本站原创
5 comment(s)
wsd Email Homepage
2008/11/24 12:26
中国代孕网,开启辅助生殖门户
wdarray Email
2008/11/20 02:12
grin经过一番折腾终于可以正常打开页面了
我用环境是 fedora core4 mysql,php,httpd都是系统自带的
freeradius是2.1
Joy
2008/11/19 16:13
楼主,还请指教。。谢谢!
首页可正常打开,且其中show groups 及 find user可正常打开,但其他页面均无法打开。
wsd Email Homepage
2008/11/17 15:20
中国代孕网,开启辅助生殖门户
Joy
2008/10/30 11:02
楼主我所有步骤均已经完成,但打开页面时,部分页面不能正常打开,请赐教,谢谢!
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]
               

验证码 不区分大小写