当前位置: 首页 > 工具软件 > daloRADIUS > 使用案例 >

ldap radius mysql_设置基于FreeRadius的AAA服务器与MySQL和管理与Daloradius

荆煌
2023-12-01

建立一个基于FreeRadius的AAA服务器与MySQL和管理与Daloradius

本教程将介绍如何在Ubuntu 8.04 LTS Server Edition上设置带有Wifi身份验证和计费的FreeRadius(1.1.7)服务器与Daloradius的MySQL和Web管理结合使用此操作可以为新手工作。 生产部署也可以通过微调。 但像往常一样,如果发生错误,我不保证任何责任。

涉及以下步骤:构建Ubuntu 8.04 .debs(用于eap / ttls支持)

安装二进制包

使用MySQL配置FR

使用Daloradius设置Web管理

第1步-构建Ubuntu 8.04。 包装

注意:不需要openssl / tls / ttls(证书等)的人只需从apt-get ubuntu repos获取FR包,并跳到第3步。

在构建FreeRadius Ubuntu 8.04包之前,我们必须安装一些包,这些包是构建过程所必需的。

sudo su -

apt-get install   debhelper  libltdl3-dev libpam0g-dev \

libmysqlclient15-dev build-essential libgdbm-dev \

libldap2-dev libsasl2-dev libiodbc2-dev libkrb5-dev snmp \

autotools-dev dpatch  libperl-dev libtool dpkg-dev libpq-dev \

libsnmp-dev libssl-dev

掌握FreeRadius源码并开始构建如下所示的软件包。

cd ~

apt-get source freeradius

注意:建议您在非生产服务器上携带此构建过程,并将最终二进制包移至生产服务器。 但是如果你知道你在做什么,这不是强制性的。

cd  freeradius-1.1.7/

编辑规则文件( debian / rules ):

vi debian/rules

现在搜索这些行:--without-rlm_eap_tls \

--without-rlm_eap_ttls \

--without-rlm_eap_peap \

并改变它们看起来像这样。--with-rlm_eap_tls \

--with-rlm_eap_ttls \

--with-rlm_eap_peap \

在同一个文件中也用“--with-openssl”替换文本“--without-openssl”

现在搜索这些行并删除它们。for pkg in $(shell grep ^Package debian/control | awk '{print $$2}') ; d

o \

if dh_shlibdeps -p $$pkg -- -O | grep -q libssl; then \

echo "$$pkg links to openssl" ;\

exit 1 ;\

fi ;\

done

保存更改并退出vi。 现在编辑控件文件( debian / control ):

vi debian/control

搜索行:Build-Depends: debhelper (>= 5), libltdl3-dev, libpam0g-dev, libmysqlclient15-dev | libmysqlclient-dev, libgdbm-dev, libldap2-dev, libsasl2-dev, libiodbc2-dev, libkrb5-dev, snmp, autotools-dev, dpatch (>= 2), libperl-dev, libtool, dpkg-dev (>= 1.13.19), libpq-dev, libsnmp-dev

并将libssl-dev附加到此行的末尾,使其看起来像这样。Build-Depends: debhelper (>= 5), libltdl3-dev, libpam0g-dev, libmysqlclient15-dev | libmysqlclient-dev, libgdbm-dev, libldap2-dev, libsasl2-dev, libiodbc2-dev, libkrb5-dev, snmp, autotools-dev, dpatch (>= 2), libperl-dev, libtool, dpkg-dev (>= 1.13.19), libpq-dev, libsnmp-dev, libssl-dev

保存更改并退出vi。

假设你在这里〜/ freeradius-1.1.7 。 开始构建包装:

dpkg-buildpackage -rfakeroot

注意 :您仍然可能需要一些这些软件包。 apt-get / aptitiude他们并重新运行重建过程。

一段时间(取决于您的系统),您应该在主目录中有一些.deb文件。

freeradius_1.1.7-1build4_i386.deb

freeradius-dbg_1.1.7-1build4_i386.deb

freeradius-dialupadmin_1.1.7-1build4_all.deb

freeradius-iodbc_1.1.7-1build4_i386.deb

freeradius-krb5_1.1.7-1build4_i386.deb

freeradius-ldap_1.1.7-1build4_i386.deb

freeradius-mysql_1.1.7-1build4_i386.deb

freeradius-postgresql_1.1.7-1build4_i386.deb

如果这是您的开发工作站,请将其移动到生产服务器。 (在此设置中,不需要postgresql,ldap,krb5,iodbc,dbg,dialupadmin二进制文件。)

第2步-安装二进制包

dpkg -i  freeradius_1.1.7-1build4_i386.deb

dpkg -i freeradius-mysql_1.1.7-1build4_i386.deb

运行后开箱即用配置验证本地用户。

例如:在调试模式下运行半径:

freeradius -X

从另一个shell运行,而freeradius -X正在运行:

radtest abc 123 localhost 1812 testing123

确保在/ etc / freeradius / users文件中设置了具有密码123的用户abc 。

Setp 3-使用MySQL配置FR

首先是MySQL位(创建数据库及其管理员用户)。 从你的shell中执行以下操作。

mysqladmin -u root password 123456

mysql -u root -p

在MySQL shell上键入以下内容:

CREATE DATABASE radius;

GRANT

ALL ON radius.* TO radius@localhost IDENTIFIED BY "radpass";

exit;

导入FreeRadius模式。 示例模式位于此位置: /usr/share/doc/freeradius/examples/mysql.sql.gz 。

Gunzip它在那里:

gunzip -d /usr/share/doc/freeradius/examples/mysql.sql.gz

执行以下操作:

mysql -u root -p radius < /usr/share/doc/freeradius/examples/mysql.sql

要查看db模式,请执行以下操作:

mysql -u root -p

use database radius;

show tables;

quit;

现在编辑你的/etc/freeradius/sql.conf 。

重置用户/密码/数据库参数以反映更改(例如,radius / radpass / radius); 把NAS管理从MySQL开始搜索readclients = no

并将其更改为readclients = yes

编辑文件/etc/freeradius/radius.conf ,并将一行“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 radius;

mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('sqltest', 'Password', 'testpwd');

mysql> select * from radcheck where UserName='sqltest';

mysql> exit

在调试模式下启动半径:

freeradius -X

去另一个shell并运行测试:

radtest sqltest testpwd localhost 1812 testing123

此时,您应该会看到包含类似... Accept-Accept ...的消息,这表明您的用户正在获得身份验证。

恭喜! 您的FreeRadius + MySQL安装程序正在运行。

4-使用Daloradius设置Web管理

最新的稳定版本是0.9-7版本。

tar -zxvf daloradius-0.9-7.tar.gz

cp daloradius-0.9-7/ /var/www -R

下载以下先决条件包:

apt-get install apache2

apt-get install php php-mysql php-pear php-gd php-pear-DB

更改权限和所有权:

chown www-data:www-data /var/www/daloradius-0.9-7 -R

chmod 644 /var/www/daloradius-0.9-7/library/daloradius.conf

Daloradius需要为我们之前创建的radius数据库添加更多的表。

mysql -u root -p radius < /var/www/daloradius-0.9-7/contrib/db/mysql-daloradius.sql

现在,只需调整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 = radius

.......................

............

保存文件并退出。

设置apache服务器。

编辑/etc/apache2/apache2.conf文件并将其附加到文件的末尾(自定义为您的喜好):Alias /myradius "/var/www/daloradius-0.9-7/"

Options None

order deny,allow

deny from all

allow from 127.0.0.1

allow from

保存并退出。

重新启动httpd服务器:

/etc/init.d/apache2 restart

启动Firefox(或任何其他borowser)并转到URL http:// / myradius 。

登录管理员进行管理:

用户名: administrator

密码: radius

为了安全起见,首先更改此信息(信息位于操作员表中)。

取Daloradius旋转。 您应该更早地创建了一个sqltest用户。 您还可以尝试从Daloradius前端添加新用户并测试连接。

恭喜你完成了

FreeRadius,MySQL和Daloradius的开发人员都会接受我对你所有努力的谦虚的赞赏。 开源社区,你也摇滚,thanx。

( 注意:在本文中,我没有提到关于设置eap / ttls的任何内容,因此,只需按照下面提到的Howtoing链接设置证书和eap.conf部分。)

参考文献:

 类似资料: