如何在 Ubuntu 18.04 LTS 上安装 FreeRADIUS 和 daloRADIUS
本教程适用于这些操作系统版本
- Ubuntu 20.04(Focal Fossa)
- Ubuntu 18.04(仿生海狸)
在此页
- 要求
- 开始
- 安装 LAMP 服务器
- 为 FreeRADIUS 配置数据库
- 安装 FreeRADIUS
- 安装 daloRADIUS
- 访问 daloRADIUS 网络界面
FreeRADIUS 是一种免费的开源客户端/服务器协议,可在系统上提供集中式网络身份验证。它是一款高性能且功能丰富的 RADIUS 服务器,附带服务器和客户端、开发库和 RADIUS 相关实用程序。 RADIUS 允许您维护用户配置文件并跟踪使用情况以便从中央服务器进行计费。它提供对各种数据库的支持,包括 OpenLDAP、MySQL、Redis、Microsoft AD、Apache Cassandra、PostgreSQL 等。
daloRADIUS 是一个基于 Web 的应用程序,用于管理 RADIUS 服务器。它是一个基于 Web 的高级应用程序,用于管理热点和 ISP 部署。它是用 PHP 和 JavaScript 编写的,支持 MySQL、PostgreSQL、SQLite、MsSQL 作为数据库后端。它具有一组丰富的功能,例如访问控制列表、图形报告、计费引擎、图形报告和会计、创建、删除和编辑用户、创建、删除和编辑 HotSpot、创建、删除和编辑 NAS 等等更多的。
FreeRADIUS 作为后端,而 daloRADIUS 作为前端。
在本教程中,我将逐步说明如何在 Ubuntu 18.04 LTS 上安装 FreeRADIUS 服务器和 Daloradius Web 客户端。
要求
- 一台运行 Ubuntu 18.04 的服务器。
- 在您的服务器上设置了根密码。
入门
首先,使用以下命令将系统包更新到最新版本:
apt-get update -y
apt-get upgrade -y
更新所有包后,重新启动系统以应用所有配置更改。
安装 LAMP 服务器
首先,您需要将 Apache、MariaDB、PHP 和其他所需的软件包安装到您的系统中。您可以使用以下命令安装所有这些:
apt-get install apache2 mariadb-server php libapache2-mod-php php-mail php-mail-mime php-mysql php-gd php-common php-pear php-db php-mbstring php-xml php-curl unzip wget -y
安装所有软件包后,您可以继续下一步。
为 FreeRADIUS 配置数据库
默认情况下,MariaDB 是不安全的。所以你需要先保护它。您可以使用以下命令保护它:
mysql_secure_installation
如下图所示回答所有问题:
Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
接下来,您需要为 FreeRADIUS 创建数据库和用户。为此,请使用以下命令登录到 MariaDB shell:
mysql -u root -p
在出现提示时输入您的 root 密码,然后使用以下命令创建数据库和用户:
MariaDB [(none)]> CREATE DATABASE radiusdb;
MariaDB [(none)]> GRANT ALL ON radiusdb.* TO IDENTIFIED BY "password";
接下来,使用以下命令刷新权限并退出 MariaDB shell:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
完成后,您可以继续下一步。
安装自由半径
默认情况下,FreeRADIUS 在 Ubuntu 18.04 默认存储库中可用。您可以使用以下命令安装它:
apt-get install freeradius freeradius-mysql freeradius-utils
安装后,使用以下命令导入 freeradius MySQL 数据库模式:
mysql -u root -p radiusdb < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
出现提示时提供您的 radius 数据库用户密码,然后按 Enter 键导入数据库模式。
接下来,您需要为 sql 模块创建一个符号链接。您可以使用以下命令执行此操作:
ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
接下来,登录到 MariaDB shell 并使用以下命令检查创建的表:
mysql -u root -p
出现提示时输入您的根密码。登录后,使用以下命令将数据库更改为 radiusdb:
MariaDB [(none)]> use radiusdb;
接下来,使用以下命令列出创建的表:
MariaDB [radiusdb]> show tables;
您应该看到以下输出:
+--------------------+
| Tables_in_radiusdb |
+--------------------+
| nas |
| radacct |
| radcheck |
| radgroupcheck |
| radgroupreply |
| radpostauth |
| radreply |
| radusergroup |
+--------------------+
接下来,使用以下命令退出 MariaDB shell:
MariaDB [radiusdb]> EXIT;
接下来,您需要在 freeradius SQL 模块中定义数据库连接详细信息。您可以通过编辑 /etc/freeradius/3.0/mods-enabled/sql 文件来实现:
nano /etc/freeradius/3.0/mods-enabled/sql
根据您的数据库进行以下更改:
sql {
driver = "rlm_sql_mysql"
dialect = "mysql"
# Connection info:
server = "localhost"
port = 3306
login = "radius"
password = "password"
# Database table configuration for everything except Oracle
radius_db = "radiusdb"
}
read_clients = yes
client_table = "nas"
完成后保存并关闭文件。然后,使用以下命令更改 /etc/freeradius/3.0/mods-enabled/sql 的所有权:
chgrp -h freerad /etc/freeradius/3.0/mods-available/sql
chown -R freerad:freerad /etc/freeradius/3.0/mods-enabled/sql
最后,重新启动 freeradius 服务以应用所有配置更改:
systemctl restart freeradius
您还可以使用以下命令验证 freeradius 状态:
systemctl status freeradius
您应该看到以下输出:
? freeradius.service - FreeRADIUS multi-protocol policy server
Loaded: loaded (/lib/systemd/system/freeradius.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2019-08-07 09:20:34 UTC; 14s ago
Docs: man:radiusd(8)
man:radiusd.conf(5)
http://wiki.freeradius.org/
http://networkradius.com/doc/
Process: 45159 ExecStart=/usr/sbin/freeradius $FREERADIUS_OPTIONS (code=exited, status=0/SUCCESS)
Process: 45143 ExecStartPre=/usr/sbin/freeradius $FREERADIUS_OPTIONS -Cxm -lstdout (code=exited, status=0/SUCCESS)
Main PID: 45161 (freeradius)
Tasks: 6 (limit: 4650)
CGroup: /system.slice/freeradius.service
??45161 /usr/sbin/freeradius
完成后,您可以继续下一步。
安装 daloRADIUS
接下来,您需要安装 daloRADIUS 以从 Web 浏览器管理 FreeRADIUS。
首先,使用以下命令从 Git 存储库下载最新版本的 daloRADIUS:
wget https://github.com/lirantal/daloradius/archive/master.zip
下载后,使用以下命令解压缩下载的文件:
unzip master.zip
接下来,使用以下命令将提取的目录移动到 Apache Web 根目录:
mv daloradius-master /var/www/html/daloradius
接下来,使用以下命令将 daloRADIUS mysql 表导入 radiusdb:
cd /var/www/html/daloradius
mysql -u root -p radiusdb < contrib/db/fr2-mysql-daloradius-and-freeradius.sql
mysql -u root -p radiusdb < contrib/db/mysql-daloradius.sql
接下来,使用以下命令为 daloradius 目录授予适当的权限:
chown -R www-data:www-data /var/www/html/daloradius/
chmod 664 /var/www/html/daloradius/library/daloradius.conf.php
接下来,打开 daloradius.conf.php 文件并定义数据库连接详细信息:
nano /var/www/html/daloradius/library/daloradius.conf.php
进行以下与您的数据库相匹配的更改:
$configValues['DALORADIUS_VERSION'] = '1.1-1';
$configValues['DALORADIUS_DATE'] = '28 Jul 2019';
$configValues['FREERADIUS_VERSION'] = '2';
$configValues['CONFIG_DB_ENGINE'] = 'mysqli';
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'password';
$configValues['CONFIG_DB_NAME'] = 'radiusdb';
保存并关闭文件。然后,使用以下命令重新启动 freeradius 和 apache 服务:
systemctl restart freeradius
systemctl restart apache2
您还可以使用以下命令检查 Apache Web 服务的状态:
systemctl status apache2
您应该看到以下命令:
? apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
??apache2-systemd.conf
Active: active (running) since Wed 2019-08-07 09:25:56 UTC; 4min 25s ago
Process: 45483 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS)
Process: 45489 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 45505 (apache2)
Tasks: 11 (limit: 4650)
CGroup: /system.slice/apache2.service
??45505 /usr/sbin/apache2 -k start
??45510 /usr/sbin/apache2 -k start
??45511 /usr/sbin/apache2 -k start
??45512 /usr/sbin/apache2 -k start
??45513 /usr/sbin/apache2 -k start
??45517 /usr/sbin/apache2 -k start
??45519 /usr/sbin/apache2 -k start
??45520 /usr/sbin/apache2 -k start
??45521 /usr/sbin/apache2 -k start
??45527 /usr/sbin/apache2 -k start
??45528 /usr/sbin/apache2 -k start
Aug 07 09:25:55 openshift systemd[1]: Starting The Apache HTTP Server...
Aug 07 09:25:56 openshift systemd[1]: Started The Apache HTTP Server.
完成后,您可以继续下一步。
访问 daloRADIUS Web 界面
FreeRADIUS 和 daloRADIUS 现已安装和配置。是时候访问 daloRADIUS Web 界面了。要访问 Web inetrface,请打开您的 Web 浏览器并输入 URL http://your-server-ip/daloradius/login.php。您将被重定向到 daloRADIUS 登录页面:

现在,以管理员/radius 身份提供默认用户名和密码,然后单击“登录”按钮。您应该在以下页面中看到 daloRADIUS 默认仪表板:


恭喜!您已在 Ubuntu 18.04 服务器上成功安装和配置 FreeRADIUS 和 daloRADIUS。有关更多信息,您可以访问 https://github.com/lirantal/daloradius 上的官方文档。如果您有任何问题,请随时问我。