如何在 Ubuntu 20.04 上安装 FreeRADIUS 和 Daloradius
什么是免费 RADIUS 服务器?
RADIUS 是一种 AAA(身份验证、授权和计费)协议,有助于控制网络访问。换句话说,RADIUS 协议用于网络访问服务器 (NAS) 和身份验证服务器之间的连接管理。
两端(NAC-NAS 或 NAS-Authentication 服务器)之间的连接在网络层成功协商后通过交换包含 NAS 标识、身份验证端口号等必要信息的数据包启动。
简单来说,RADIUS 可以从认证服务器向请求访问的设备提供认证、授权和帐户信息。
FreeRADIUS 支持 AAA 协议的所有这三个功能 - 身份验证、授权和计费。为了控制可以连接到什么类型的网络访问,FreeRADIUS 使用不同的模块。例如,如果 NAS 是路由器,则它无法向用户提供任何身份验证,这意味着在这种情况下,只有 PPP 或 PPTP 客户端模块执行授权,其余步骤由其他模块处理。
FreeRADIUS 还为帐户、用户等所有重要数据库提供支持,包括 MariaDB/MySQL、PostgreSQL、Microsoft SQL Server、Oracle 数据库等。
什么是daloRADIUS?
daloRADIUS 是一个先进的 Web 界面,为最终用户和系统管理员提供完整的用户管理以及自动化等最新功能。它简化了 FreeRADIUS 安装的日常管理。
daloRADIUS 可用于配置系统/NAS 参数、创建新用户帐户和管理 NAS。它是唯一为最终用户和管理员提供完整用户管理的界面。
为什么选择daloRADIUS?
它为 FreeRADIUS 服务器带来了现代化的 Web 界面,并具有最终用户和管理员的自动化等最新功能,所有这些都可以从一个地方完成。它使网络管理员可以更轻松地从任何可以访问互联网的设备管理其网络,同时赋予最终用户对其登录凭据和连接首选项的权力。
在本指南中,您将学习如何在 Ubuntu 20.04 LTS 上安装 FreeRADIUS 并使用 daloRADIUS 作为 Web 界面。
先决条件
- Ubuntu 20.04 LTS 的全新服务器
- 具有 sudo 权限的用户
更新您的系统
通过 SSH 以 root 用户连接到服务器,并通过运行以下命令更新系统的所有软件包:
sudo apt-get update -y
sudo apt-get upgrade -y
服务器更新后,您可以继续下一步。
安装 Apache Web 服务器
通过运行以下命令安装 apache Web 服务器和必要的模块:
sudo apt install apache2 -y
安装完成后,启动Apache服务并使其随系统启动:
sudo systemctl start apache2
sudo systemctl enable apache2
要验证对 Apache 的外部访问,请使用您最喜欢的 Web 浏览器在单独的选项卡中访问 http://your-server-ip 来访问 Apache 默认页面。您应该看到 Apache 默认页面
为 FreeRADIUS 安装 MariaDB 数据库服务器
MariaDB 是一个开源数据库管理系统,将用作 FreeRADIUS 的后端存储。在本指南中,freeRADIUS 将使用 MariaDB 来存储用户帐户、设置等。
通过运行以下命令安装 MariaDB 服务器:
sudo apt install software-properties-common mariadb-server mariadb-client -y
安装完成后,启动MariaDB服务并使其随系统启动:
sudo systemctl start mysql
sudo systemctl enable mysql
为了确保 MariaDB 安装的安全,您可以在出现提示时提供 root 密码来运行下面的 mysql_secure_installation 脚本。这将删除匿名用户帐户、禁用远程根登录、禁止空密码等。建议预先配置此选项,以便为未来的部署奠定坚实的安全基础。
mysql_secure_installation
您可以通过运行以下命令来验证 MariaDB 服务器的状态:
sudo systemctl status mariadb
为 FreeRADIUS 安装 PHP 8
我们需要安装daloRADIUS Web 界面所需的PHP 8。默认情况下,Ubuntu 20.04 LTS 存储库中提供 PHP 7,但 PHP 8 不提供。我们需要添加第三方 PPA 才能获取最新版本的 PHP。
sudo add-apt-repository ppa:ondrej/php
通过运行以下命令更新您的存储库:
sudo apt update -y
添加 PPA 后,您可以通过运行以下命令来安装 PHP 8 和其他必要的模块:
sudo apt install php8.0 libapache2-mod-php8.0
sudo apt install php-gd php-mail php-mail-mime php-mysql php-pear php-db php-mbstring php-xml php-curl
通过运行以下命令检查 PHP 的版本并验证安装:
php -v
安装完成后重启Apache
sudo systemctl restart apache2
安装 FreeRADIUS
现在满足所有先决条件,您可以继续安装 FreeRADIUS。默认情况下,FreeRADIUS 软件包在存储库中可用,您可以通过运行以下命令来显示 Ubuntu 中可用的 freeradius 版本:
sudo apt policy freeradius
您将得到类似于下面的输出
您可以通过运行以下命令来安装 FreeRADIUS 服务器:
sudo apt-get install freeradius freeradius-mysql freeradius-utils -y
为了快速检查 FreeRADIUS 是否已启动并正在运行,我们将在调试模式下运行 FreeRADIUS。
要在调试模式下运行 freeRADIUS,请使用以下命令:
sudo systemctl stop freeradius
sudo freeradius -X
输出应如下所示:
可以在底部看到“Ready to process requests”这一行,说明FreeRADIUS安装成功。
为 FreeRADIUS 创建数据库
现在 FreeRADIUS 已启动并运行,让我们为 FreeRADIUS 创建一个数据库。为此,我们将使用 MariaDB 控制台。
要访问 MariaDB 控制台,请运行以下命令:
mysql -u root -p
当提示使用 MariaDB 服务器进行身份验证时,输入 root 密码。
运行以下命令创建 freeRADIUS 数据库:
CREATE DATABASE radius;
通过执行以下查询授予对新创建的数据库的权限,并将 $trongp@ss 替换为您的密码。
GRANT ALL ON radius.* to radius@localhost IDENTIFIED BY "$trongp@ss";
通过运行以下命令重新加载权限并退出 MariaDB 控制台:
FLUSH PRIVILEGES;
quit;
创建数据库后,您需要导入预构建的数据库架构,其中包括 FreeRADIUS MySQL 表。
您现在应该修改 daloradius.conf 文件来调整 MySQL 数据库,如下所示:
sudo nano /var/www/html/daloradius/library/daloradius.conf.php
使用以下命令重新启动 FreeRADIUS 服务:
sudo systemctl restart freeradius
安装daloRADIUS Web界面
我们将安装daloRADIUS Web 界面,以便使用浏览器配置FreeRADIUS 服务器。执行以下命令从Github存储库下载daloRADIUS
wget https://github.com/lirantal/daloradius/archive/master.zip
下载完成后,解压存档。
unzip master.zip
将解压的文件夹移动到网站的根目录。
mv daloradius-master /var/www/html/daloradius
将预构建的数据库架构导入到上面创建的 FreeRADIUS 数据库
sudo mysql -u root -p radius< contrib/db/fr2-mysql-daloradius-and-freeradius.sql
sudo mysql -u root -p radius< contrib/db/mysql-daloradius.sql
然后,为daloradius配置文件设置正确的权限并更改daloradius安装目录的权限。
sudo chown -R www-data:www-data /var/www/html/daloradius
sudo chmod -R 755 /var/www/html/daloradius
sudo chmod 664 /var/www/html/daloradius/library/daloradius.conf.php
现在,您应该在从浏览器访问 daloRADIUS Web 界面之前使用您首选的配置设置修改 daloradius.conf 文件。
sudo nano /var/www/html/daloradius/library/daloradius.conf.php
使用以下命令重新启动 FreeRADIUS 服务:
sudo systemctl restart freeradius
访问daloRADIUS Web界面
要访问 daloradius Web 界面,请在浏览器中打开http://ip-address/daloradius/login.php。系统将提示您输入用户名和密码。默认用户名是administrator,默认密码是radius
登录到 daloradius Web 界面后,您可以开始添加用户、虚拟 RADIUS 服务器、EAP 类型等。您还可以创建新用户和组,用于使用 FreeRADIUS 中提供的 EAP 身份验证类型对用户进行身份验证。
结论
在本教程中,我们学习了如何在 Ubuntu 20.04 LTS 服务器上使用 daloRADIUS Web 界面安装 FreeRADIUS。此外,我们学习了如何导入预构建的数据库模式。虽然本教程是为 Ubuntu 20.04 LTS 服务器编写的,但只需进行少量修改,它也应该适用于其他 Ubuntu 或 Debian 发行版。