搭建freeradius+daloradius作为认证服务器

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

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
搭建freeradius+daloradius作为认证服务器
正常开启radius服务器的如下图所示:
搭建freeradius+daloradius作为认证服务器

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');
  2. 建立用户信息:(在此新建用户名为test,密码为testpwd)
    insert into radcheck (username,attribute,op,value) values ('test','Cleartext-Password',':=','testpwd');

  3. 将用户加入组中:
    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里面。
搭建freeradius+daloradius作为认证服务器

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”文件,使用文本打开后可以看到大部分安装提示和操作指引。




     本文转自YANGCHAO1987 51CTO博客,原文链接:http://blog.51cto.com/11555417/2059991,如需转载请自行联系原作者



     本文转自YANGCHAO1987 51CTO博客,原文链接:http://blog.51cto.com/11555417/2059991,如需转载请自行联系原作者


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
关系型数据库 MySQL 数据库
OpenLDAP+FreeRADIUS+MySQL+RP-PPPOE 构建PPPOE服务器
经过几天的奋战,总算搞定这个PPPOE服务器。基本环境:   Host:       LFS-6.
993 0
|
28天前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
|
1月前
|
存储 弹性计算 数据可视化
要将ECS中的文件直接传输到阿里云网盘与相册(
【2月更文挑战第31天】要将ECS中的文件直接传输到阿里云网盘与相册(
415 4
|
1月前
|
SQL 弹性计算 安全
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
当我们通过阿里云的活动购买完云服务器之后,并不是立马就能使用了,还需要我们设置云服务器密码,配置安全组等基本操作之后才能使用,有的用户还需要购买并挂载数据盘到云服务器上,很多新手用户由于是初次使用阿里云服务器,因此并不知道这些设置的操作流程,下面给大家介绍下这些设置的具体操作流程。
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
|
17天前
|
弹性计算
阿里云ECS使用体验
在申请高校学生免费体验阿里云ECS云服务器后的一些使用体验和感受。
|
1月前
|
弹性计算
阿里云3M带宽云服务器并发多大?阿里云3M带宽云服务器测评参考
在探讨云服务器3M带宽能支持多大并发这一问题时,我们首先要明白一个关键点:并发量并非仅由带宽决定,还与网站本身的大小密切相关。一般来说,一个优化良好的普通网站页面大小可能只有几K,为便于计算,我们可以暂且假定每个页面大小为50K。
816 1
|
4天前
|
弹性计算
阿里云ECS的使用心得
本文主要讲述了我是如何了解到ECS,使用ECS的一些经验,以及自己的感悟心得
|
7天前
|
弹性计算 运维 安全
阿里云ecs使用体验
整了台服务器部署项目上线
|
10天前
|
弹性计算 应用服务中间件 Linux
阿里云ECS服务器上从零开始搭建nginx服务器
阿里云ECS服务器上从零开始搭建nginx服务器
|
12天前
|
弹性计算 安全
电子好书发您分享《阿里云第八代企业级ECS实例,为企业提供更安全的云上防护》
阿里云第八代ECS实例,搭载第五代英特尔至强处理器与飞天+CIPU架构,提升企业云服务安全与算力。[阅读详情](https://developer.aliyun.com/ebook/8303/116162?spm=a2c6h.26392459.ebook-detail.5.76bf7e5al1Zn4U) ![image](https://ucc.alicdn.com/pic/developer-ecology/cok6a6su42rzm_f422f7cb775444bbbfc3e61ad86800c2.png)
35 14