在 CentOS 7 上安装 freeRADIUS 和 daloRADIUS

RADIUS(远程身份验证和拨入用户服务)是网络协议和软件,用于对拨入用户进行身份验证并授权他们访问所请求的服务。

RADIUS 为连接和使用网络服务的用户提供集中的身份验证、授权和计费 (AAA) 管理。
RADIUS 允许组织在所有远程服务器都可以共享的中央数据库中维护用户配置文件。

RADIUS 服务器主要由 ISP(Internet 服务提供商)用来管理对 Internet 的访问。

freeRADIUS 是一个免费的开源软件,用于实现 RADIUS 服务。

freeRADIUS 没有任何本机 Web 界面。
但是我们有许多第三方 Web 界面可与 freeRADIUS 一起使用。

daloRADIUS 是一个易于使用但先进的 RADIUS Web 界面,旨在管理热点和通用 ISP 部署。

daloRADIUS 是用 PHP 编写的,支持著名的数据库系统。

在本文中,我们将在不禁用 SELinux 的情况下在 CentOS 7 上安装 freeRADIUS 和 daloRADIUS。

更多: zhilu jiaocheng

在 CentOS 7 上安装 PHP

使用 yum 命令安装 PHP(超文本预处理器)和相关包。

[root@radius-01 ~]# yum install -y php php-mysql php-pear php-devel php-common php-gd php-mbstring php-mcrypt php-xml php-pear-DB

重新启动 httpd.service 以加载 PHP 安装所做的更改。

[root@radius-01 ~]# systemctl restart httpd.service

配置 freeRADIUS 以使用 MariaDB 数据库

默认情况下,freeRADIUS 使用平面文件来存储数据。
因此,我们必须将其配置为使用 MariaDB 数据库作为其存储库。

使用以下脚本创建数据库对象。

[root@radius-01 ~]# mysql -u root -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql
Enter password:

我们可以从 /etc/raddb/mods-available/sql 复制 sql 模块或者使用以下脚本创建。

[root@radius-01 ~]# vi /etc/raddb/mods-enabled/sql

其中添加以下行:

sql {
 driver = "rlm_sql_mysql"
 dialect = "mysql"

 # Connection info:
 server = "localhost"
 port = 3306
 login = "radius"
 password = "123"
 # Database table configuration for everything except Oracle
 radius_db = "radius"
 }
# Set to "yes" to read radius clients from the database ("nas" table)
# Clients will ONLY be read on server startup.
read_clients = yes
# Table to keep radius client info
client_table = "nas"

调整文件权限。

[root@radius-01 ~]# chgrp -h radiusd /etc/raddb/mods-enabled/sql

重启radiusd.service。

[root@radius-01 ~]# systemctl restart radiusd.service

在 CentOS 7 上安装 Apache Web 服务器

daloRADIUS 是一个用 PHP 开发的 Web 应用程序。
因此,我们需要使用 PHP 的 Apache Web Server 来部署 daloRADIUS。

使用 yum 命令安装 Apache Web 服务器。

[root@radius-01 ~]# yum install -y httpd

启动并启用 httpd.service 。

[root@radius-01 ~]# systemctl enable httpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@radius-01 ~]# systemctl start httpd.service

Apache Webserver 已成功配置。
建议我们阅读我们之前的文章 CentOS 7 中的 Chroot Apache Web Server 以增加安全性。

安装必备软件包

登录到服务器 radius-01.onitroad.com。

我们在安装 freeRADIUS 和 daloRADIUS 时需要一些实用程序,因此,我们现在使用 yum 命令安装它们。

[root@radius-01 ~]# yum install -y wget unzip

一些准备工作包可以通过 extras yum 存储库获得,因此,我们正在安装 EPEL(企业 Linux 的另外包)yum 存储库。

[root@radius-01 ~]# yum install -y epel-release

使用以下命令构建 yum 缓存。

[root@radius-01 ~]# yum makecache fast

安装环境

  • 主机名 - radius-01.onitroad.com
  • IP 地址 - 192.168.1.158 /24
  • 操作系统 - CentOS 7.6
  • freeRADIUS 版本 - 3.0
  • daloRADIUS 版本 - 1.0

在 CentOS 7 上安装 freeRADIUS

freeRADIUS 和相关软件包可通过 CentOS 基础存储库获得。
因此,我们可以使用 yum 命令轻松安装它。

[root@radius-01 ~]# yum install -y freeradius freeradius-utils freeradius-mysql

启动并启用 radiusd.service 。

[root@radius-01 ~]# systemctl start radiusd.service
[root@radius-01 ~]# systemctl enable radiusd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/radiusd.service to /usr/lib/systemd/system/radiusd.service.

在 Linux 防火墙中允许 RADIUS 服务。

[root@radius-01 ~]# firewall-cmd --permanent --add-service=radius
success
[root@radius-01 ~]# firewall-cmd --reload
success

在 CentOS 7 上安装 daloRADIUS

daloRADIUS 是开源的,并在 GPL 2.0 许可下分发。
它的完整源代码可在 GitHub 上获得。

[root@radius-01 ~]# wget https://github.com/lirantal/daloradius/archive/master.zip

解压下载的文件。

[root@radius-01 ~]# unzip master.zip

将解压后的目录放在 Apache Web 服务器的文档根目录下。

[root@radius-01 ~]# rm -f master.zip
[root@radius-01 ~]# mv daloradius-master/ /var/www/html/daloradius

恢复 SELinux 安全上下文如下。

[root@radius-01 ~]# restorecon -Rv /var/www/html/daloradius/

调整 daloRADIUS 软件的权限和所有权。

[root@radius-01 ~]# chown -R apache:apache /var/www/html/daloradius
[root@radius-01 ~]# chmod -R 664 /var/www/html/daloradius/library/daloradius.conf.php

在 Linux 防火墙中允许 HTTP 服务。

[root@radius-01 ~]# firewall-cmd --permanent --add-service=http
success
[root@radius-01 ~]# firewall-cmd --reload
success

在 MariaDB 数据库中创建 daloRADIUS 对象。

[root@radius-01 ~]# mysql -u root -p radius < /var/www/html/daloradius/contrib/db/fr2-mysql-daloradius-and-freeradius.sql
Enter password:
[root@radius-01 ~]# mysql -u root -p radius < /var/www/html/daloradius/contrib/db/mysql-daloradius.sql
Enter password:

编辑 daloRADIUS 配置文件。

[root@radius-01 ~]# vi /var/www/html/daloradius/library/daloradius.conf.php

并其中定义 MariaDB 数据库密码。

$configValues['CONFIG_DB_PASS'] = '123';

使用客户端浏览器浏览 URL http://radius-01.onitroad.com/daloradius。

使用默认凭据登录,即

用户名:administrator
密码:radius

我们成功在 CentOS 7 上安装了 freeRADIUS 和 daloRADIUS。

在 CentOS 7 上安装 MariaDB

安装最新版本的 MariaDB。

[root@radius-01 ~]# yum install -y mariadb

安装完成后,以root用户连接MariaDB数据库。

[root@radius-01 ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 16
Server version: 10.3.14-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

创建一个数据库,作为我们 RADIUS 服务器的存储库。

MariaDB [(none)]> create database radius;
Query OK, 1 row affected (0.001 sec)

为radius 数据库创建一个数据库所有者。

MariaDB [(none)]> grant all on radius.* to radius@localhost identified by '123';
Query OK, 0 rows affected (0.001 sec)

重新加载权限表。

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.001 sec)

从 MariaDB 提示符退出。

MariaDB [(none)]> exit
Bye
日期:2020-09-17 00:12:41 来源:oir作者:oir