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安装
http://blog.csdn.net/cluniquecui/article/details/42490423
使用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 认证后处理信息,可以包括认证请求成功和拒绝的记录。
- 建立组信息:(在此新建组名称为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');
-
建立用户信息:(在此新建用户名为test,密码为testpwd)
insert into radcheck (username,attribute,op,value) values ('test','Cleartext-Password',':=','testpwd')
; - 将用户加入组中:
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.测试通过数据库做用户认证
- 重新以调试方式运行freeradius:
radiusd -X
- 再打开一个新的终端,运行测试工具命令:
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
#安装httpdyum 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”文件,使用文本打开后可以看到大部分安装提示和操作指引。