1.目的背景

为了满足设备进行3A认证,提高安全性,所以搭建一套radius服务器,并配合daloradius作为前端展示配置。

2.配置内容

2.1.所需系统及组件

操作系统:CentOS 7.0 x86_64 ,带gnome桌面,配置地址为172.31.101.1 数据库:mariadb v5.5.56 httpd:Server version: Apache/2.4.6 (CentOS) php: v2.4.0 FreeRADIUS 3.0 所需其他组件 php php-mysql php-gd php-pear-DB 通过yum安装即可。

2.2.参考文档

freeradius安装 使用daloRADIUS Web程序管理FreeRADIUS服务 http://wzlinux.blog.51cto.com/8021085/1736744

3.freeredius安装

3.1.安装FreeRADIUS 3.0 服务器程序

yum install freeradius

3.2.安装FreeRADIUS工具包(freeradius-utils)

yum install freeradius-utils

3.3.FreeRADIUS 3.0的测试

3.3.1.修改用户管理配置文件

该文件是/etc/raddb/users,使用vi工具打开,命令如下: vi /etc/raddb/users 打开文件后,查找 steve Cleartext-Password :="testing" (76-84行), 取消该段内容的注释。

3.3.2.关闭防火墙及selinux

Systemctl stop firewall
Systemctl disable firewall
setenforce 0

3.3.3.以调试方式启动freeradius

radiusd –X

3.3.4.使用测试工具测试

再打开一个新的终端,以root身份登录,执行如下命令: radtest steve testing localhost 0 testing123 正常开启radius服务器的如下图所示:

3.4.MariaDB的安装

默认情况下,CengOS 7.0已经安装了mariadb,版本为5.5.35。如果想安装最新版的Mariadb,装方法与FreeRADIUS类似,执行如下命令,系统会升级到最新版本: yum intsall mariadb

3.5.FreeRADIUS与MariaDB的对接

3.5.1.安装freeradius-mysql组件

yum install freeradius-mysql

3.5.2.激活和启动mariadb服务

默认情况下,mariadb并没有被激活,使用如下命令激活服务: systemctl enable mariadb 然后,使用如下命令,启动mariadb: systemctl start mariadb 使用如下命令,查询mariadb服务的状态: systemctl status mariadb

3.5.3.创建数据库

命令如下: mysql -u root –p 要求输入密码时,直接回车即可。

mysql>create database radius;
mysql>grant all on radius.* to radius@localhost identified by "radpass"; 
mysql>exit;

3.5.4.导入表结构

命令如下:


mysql -u root radius < /etc/raddb/mods-config/sql/main/mysql/scheama.sql

上面的指令,共导入了7个表,分别是: radcheck 用户检查信息表 radreply 用户回复信息表 radgroupcheck 用户组检查信息表 radgroupreply 用户组检查信息表 radusergroup 用户和组关系表 radacct 计费情况表 radpostauth 认证后处理信息,可以包括认证请求成功和拒绝的记录。

  1. 建立组信息:(在此新建组名称为user)
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.255'); 
insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask',':=','255.255.255.0');
  1. 建立用户信息:(在此新建用户名为test,密码为testpwd) insert into radcheck (username,attribute,op,value) values ('test','Cleartext-Password',':=','testpwd');

  2. 将用户加入组中: insert into radusergroup (username,groupname) values ('test','user');

3.5.6.修改 FreeRADIUS中的mysql 认证配置

执行如下命令:

cd /etc/raddb/mods-enabled
ln -s ../mods-available/sql

3.5.7.修改 FreeRADIUS中的mysql 配置文件

该配置文件位于/etc/raddb/mods-available目录,名称为sql 可以通过vi来修改,命令如下: vi /etc/raddb/mods-available/sql 找到driver = “rlm_sql_null”这一行,修改为driver = “rlm_sql_mysql”。保持并退出。

3.5.8.测试通过数据库做用户认证

  1. 重新以调试方式运行freeradius: radiusd -X
  2. 再打开一个新的终端,运行测试工具命令: radtest test testpwd localhost 1812 testing123 完毕。

4.daloRADIUS部署

4.1.软件下载

Wget http://nchc.dl.sourceforge.net/project/daloradius/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz
#解压
tar xf daloradius-0.9-9.tar.gz 
cd daloradius-0.9-9
#查看安装说明
more INSTALL

4.2.解决依赖

在INSTALL中我们可以看到程序的需求,需要满足这些需求,否则不能正常运行。

Apache 1/2 PHP 4/5 PHP GD PHP DB Abstraction Layer (may require PHP Pear) PHP Mail MySQL 4/5 #安装httpd yum install httpd -y #安装php及组件 yum install php php-mysql php-gd -y #安装 yum install php-pear-DB -y #转移php文件 cp -a daloradius-0.9-9 /var/www/html/daloradius

4.3.导入数据库

cd /var/www/html/daloradius/contrib/db
mysql -uradius -pradpass radius < ./mysql-daloradius.sql

4.4.设置数据库连接

具体操作我们也是查看INSTALL文档。
cd /var/www/html/daloradius/library
vim daloradius.conf.php

#具体根据自己的参数设定

$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'radpass';
$configValues['CONFIG_DB_NAME'] = 'radius';
…………

#这个路径和程序放置路径有关系

$configValues['CONFIG_PATH_DALO_VARIABLE_DATA'] = '/var/www/html/daloradius/var';

4.5. 使用daloRADIUS

具体的主机配置我这里不再介绍,启动Web服务,找一个浏览器输入:http://yourip/daloradius。 从INSTALL文档中可以看到,第一次登录的用户是administrator,密码是radius。如果生产环境使用的话一定要修改以下密码,这个用户的信息在表operators里面。

5.安装中出现的问题及解决方法

在安装freeradius和mariaDB的时候基本上没有问题,但是在安装daloradius的时候,出现了很多问题,问题主要集中在httpd服务器和php配置上。

5.1.登录daloRADIUS提示没有url

首页业务空白,是由于文件存放路径问题造成,一定要放在/var/www/html/下才可。

5.2.登录daloRADIUS出现403 forbbien

提示:“you have no pessmion to access.......” 是由于没有关闭selinux

5.3.登录成功后出现空白页

安装pear和pear db即可解决问题

yum install php-pear
 pear install db

注意,在安装db的时候会提示某个包的安装版本不够,需要使用pear install PEAR更新后可以继续安装DB

5.4.无法读取日志

在日志或其他配置界面,提示没有权限读写文件 /var/www/html/daloradius/library/daloradius.conf.php 需要赋予较高权限,使用如下命令解决 chmod 777 /var/www/html/daloradius/library/daloradius.conf.

5.5.daloradius安装

在daloradius-0.9-9的文件夹中有个”INSTALL”文件,使用文本打开后可以看到大部分安装提示和操作指引。