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

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

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

(有关基本操作方法,请参考https://www.youcl.com/info/6474 )。

当然,如果您觉得您的所有内容都没有被删除,您可以随时使用这个交钥匙解决方案https://www.youcl.com/how-to-set-up-an-aaa-server- with-ciitix-wifi

涉及以下步骤:

  1. 构建Ubuntu 8.04 .debs(用于eap / ttls支持)
  2. 安装二进制包
  3. 使用MySQL配置FR
  4. 使用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版本。

http://sourceforge.net/projects/dalo​​radius获取它。

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/"
   <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/apache2 restart

启动Firefox(或任何其他borowser)并转到URL http:// <localhost或managemet系统的ip> / myradius

登录管理员进行管理:

用户名: administrator
密码: radius

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

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

恭喜你完成了

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

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

参考文献:

http://freeradius.org/

http://wiki.freeradius.org/SQL_HOWTO

http://sourceforge.net/projects/dalo​​radius

https://www.youcl.com/info/6474

http://www.linuxinsight.com/building-debian-freeradius-package-with-eap-tls-ttls-peap-support.html

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏