认证,授权和会计使用FreeRadius和MySQL后端和基于Web的管理与Daloradius
本教程介绍如何在CentOS 5.x上使用Daloradius与基于mysql和web的管理结合使用WiFi身份验证,授权和计费的FreeRadius 2.x服务器。 生产部署也可以通过微调。 但像往常一样,我不保证任何责任。
(有关基础知识,请参考https://www.youcl.com/info/6474 。
当然,对于微弱的这个交钥匙解决方案可以随时使用。 https://www.youcl.com/info/6623 )
涉及以下步骤:
1-建筑Centos 5.x二进制rpms
2-安装二进制包
3-配置带有mysql的FR
4-使用Daloradius设置Web管理
第1步-构建Centos 5.X包
从http://rpmfind.net//linux/RPM/fedora/devel/src/freeradius-2.0.5-1.fc10.src.html获取src.rpms 。
rpm -Uvh freeradius-2.0.5-1.fc10.src
注意:建议您在非生产服务器上携带此构建过程,并将最终的二进制rpms转移到produtions服务器。 但是如果你知道你在做什么,这不是强制性的。
cd /usr/src/redhat/RPMS/SPECS
rpmbuild -bb freeradius.spec
注意:您可能需要一些这些包。 他们并重新运行重建过程。 (我得到以下提示)
beecrypt-devel,sqlite-devel,unixODBC,unixODBC-devel,
python-devel,pam-devel,elfutils-libelf-devel,
elfutils-libelf-devel-static,rpm-devel,elfutils-devel,
elfutils-devel-static,net-snmp-devel,mysql,cyrus-sasl-devel,
mysql-devel,openldap-devel,gdbm-devel,libtool-ltdl-devel,
postgresql,postgresql-devel
一段时间(取决于您的系统规格),您应该在以下位置创建rpms(如果使用x86):
cd /usr/src/redhat/RPMS/i386
如果这是您的开发工作站,请将其移动到生产服务器。
第2步-安装二进制包
rpm -Uvh freeradius-libs-2.0.5-1.i386.rpm
rpm -Uvh freeradius-2.0.5-1.i386.rpm
rpm -Uvh freeradius-utils-2.0.5-1.i386.rpm
rpm -Uvh freeradius-mysql-2.0.5-1.i386.rpm
使用开箱即用的配置运行后,验证本地用户。
例如:在调试模式下运行半径:
radiusd -X
在另一个shell运行时,这个半径-X
正在运行:
radtest abc 123 localhost 1812 testing123
确保在/ etc / raddb / user
的文件中设置了具有密码'123'的用户'abc'。
第3步-使用MySQL配置FR
打开radiusd.conf中的sql认证
vi /etc/raddb/radiusd.conf
搜索并取消注释此行$ INCLUDE sql.conf
保存并退出
现在MySQL位(创建数据库及其管理员用户)。 从你的shell中执行以下操作。
mysqladmin -u root password 123456
mysql -u root -p
在MySQL shell上键入以下内容:
CREATE DATABASE radiusdb;
GRANT ALL ON radiusdb.* TO radius@localhost IDENTIFIED BY "radpass";
exit;
现在将文件mysql-dalo-and-fr2x.sql
模式导入到以下压缩文件的radiusdb中,该文件还包含daloradius的daloradius.conf
文件,这将在Web管理部分稍后讨论。
下载sql_schema&daloradius.conf压缩
unzip daloradius.zip
mysql -u root -p radiusdb < /root/mysql-dalo-fr2x.sql
要查看db模式,请执行以下操作:
mysql -u root -p
use database radiusdb;
show tables;
quit;
现在编辑你的/etc/raddb/sql.conf
。
重置用户/密码/数据库参数以反映更改(例如:login = radius,password = radpass&radius_db = radiusdb); 把NAS管理从MySQL开始搜索
readclients = no
并将其更改为:
readclients = yes
编辑文件/ etc / raddb / sites-enabled / default
,并将一行“sql”添加到authorize {}
部分( 即向
文件末尾)。 还要向accounting {}
部分添加一条说'sql'的行来告诉FreeRadius在SQL中存储会计记录。 如果要同时使用检测,可以选择将“sql”添加到会话{}
部分。 如果要将所有身份验证尝试记录到SQL,可以选择将'sql'添加到post-auth {}
部分。
以下是授权部分:
authorize { preprocess chap mschap suffix eap sql pap }
会计科:
accounting { detail sql }
要在数据库中插入测试用户,请转到MySQL shell并运行:
mysql -u root -p
mysql> use database radiusdb;
mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('sqltest', 'Password', 'testpwd');
mysql> select * from radcheck where UserName='sqltest';
mysql> exit
在调试模式下启动半径:
radiusd -X
去另一个shell并运行测试:
radtest sqltest testpwd localhost 1812 testing123
此时,您应该会看到包含类似... Accept-Accept ...
的消息,这表明您的用户正在获得身份验证。
恭喜! 您的FreeRadius + MySQL安装程序正在运行。
4-使用Daloradius设置Web管理
最新的稳定版本是0.9-7版本。
从http://sourceforge.net/projects/daloradius获取它。
tar -zxvf daloradius-0.9-7.tar.gz
下载以下必备软件包:
yum install install httpd -y
yum install php php-mysql php-pear php-gd php-pear-DB -y
cp daloradius-0.9-7/ /var/www -vr
更改所有权:
chown apache:apache /var/www/daloradius-0.9-7 -R
Daloradius需要的几张表已经在之前创建了。
从下载的压缩文件中复制已经解压缩的文件 daloradius.conf。
cp /root/daloradius.conf /var/www/daloradius-0.9-7/library/
注意:这个文件daloradius.conf已被修改为freeradius 2.x,至今尚未被daloradius打包。
现在,只需调整DaloRadius配置文件中的MySQL数据库信息。
vi /var/www/daloradius-0.9-7/library/daloradius.conf
填写数据库详细信息,下列几个重要参数如下:
........... ...................... CONFIG_DB_ENGINE = mysql CONFIG_DB_HOST = 127.0.0.1 CONFIG_DB_USER = radius CONFIG_DB_PASS = radpass CONFIG_DB_NAME = radiusdb ....................... ............
更改所有权和许可:
chown apache.apache /var/ww/daloradius-0.9-7/library/daloradius.conf
chmod 644 /var/www/daloradius-0.9-7/library/daloradius.conf
touch /tmp/daloradius.log
chown apache.apache /tmp/daloradius.log
设置apache服务器。
编辑/etc/httpd/conf/httpd.conf
文件并将其附加到文件的末尾(自定义为您的喜好):
Alias /myradius "/var/www/daloradius-0.9-7/" <Directory /var/www/daloradius-0.9-7/> Options None order deny,allow deny from all allow from 127.0.0.1 allow from <my management system's ip which has a web-browser> </Directory>
保存并退出。
重新启动httpd服务器:
/etc/init.d/httpd restart
启动Firefox(或任何其他borowser)并转到URL http:// <localhost或managemet系统的ip> / myradius
。
登录管理员进行管理:
用户名: administrator
密码: radius
为了安全起见,首先更改此信息(信息位于操作员表中)。
取Daloradius旋转。 您应该更早地创建了一个sqltest用户。 您还可以尝试从Daloradius前端添加新用户并测试连接。
恭喜你完成了
FreeRadius,MySQL和Daloradius的开发人员再次接受我对您所有努力的谦虚的赞赏。 开源社区,一如以往,你摇滚,thanx。
( 注意:在本文中,我没有提到关于设置eap / ttls的任何内容,因此,只需按照下面提到的youcl链接设置证书和eap.conf
部分。)
参考文献:
http://wiki.freeradius.org/SQL_HOWTO
http://sourceforge.net/projects/daloradius
https://www.youcl.com/info/6474
http://rpmfind.net//linux/RPM/fedora/devel/src/freeradius-2.0.5-1.fc10.src.html