在 Debian 11/Debian 10 上使用 daloRADIUS 安装 FreeRADIUS

在本指南中,我们将学习如何在 Debian 11/Debian 10 上使用 daloRADIUS 安装 FreeRADIUS。

FreeRADIUS 是一个高性能 RADIUS 服务器,支持:

  • 通过本地文件、SQL、Kerberos、LDAP、PAM 等进行身份验证。
  • 强大的策略配置语言。
  • 按任何标准代理和复制请求。
  • 支持多种 EAP 类型; TLS、PEAP、TTLS 等
  • 许多特定于供应商的属性。
  • 字符串属性中的正则表达式匹配。

另一方面,daloRADIUS 是用于管理 FreeRADIUS 服务器的高级 Web 应用程序。 它支持各种数据库后端,如 MySQL、Sqlite、PostgreSQL、MsSQL、MySQL。 它提供访问控制列表等功能,支持与谷歌地图集成,用于热点/接入点的地理位置、图形报告……

在 Debian 11/Debian 10 上使用 daloRADIUS 安装 FreeRADIUS

先决条件

  • 作为先决条件,请确保在 Debian 11/Debian 10 服务器上安装了 LAMP。

在 Debian 11 上安装 LAMP 堆栈

相同的指南可用于 Debian 10。

  • 安装其他所需的 PHP 扩展:
apt install php-mail php-mail-mime php-pear php-xml
  • 安装 PHP Pear DB 库(您现在可以忽略警告):
pear install DB

在 Debian 11/Debian 10 上安装和配置 FreeRADIUS

安装 FreeRADIUS

更新和升级您的系统包;

apt update

FreeRADIUS 软件包在默认的 Debian 11/Debian 10 默认存储库中可用,因此可以通过运行以下命令进行安装;

apt-get install freeradius freeradius-mysql freeradius-utils

安装完成后,默认情况下 FreeRADIUS 正在运行。 它还可以在系统重新启动时运行。

systemctl status freeradius
● freeradius.service - FreeRADIUS multi-protocol policy server      Loaded: loaded (/lib/systemd/system/freeradius.service; enabled; vendor preset: enabled)      Active: active (running) since Mon 2021-10-11 11:32:40 EAT; 1min 26s ago        Docs: man:radiusd(8)              man:radiusd.conf(5)              https://wiki.freeradius.org/              https://networkradius.com/doc/     Process: 16443 ExecReload=/usr/sbin/freeradius $FREERADIUS_OPTIONS -Cxm -lstdout (code=exited, status=0/SUCCESS)     Process: 16444 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)    Main PID: 16067 (freeradius)      Status: "Processing requests"       Tasks: 6 (limit: 1133)      Memory: 79.7M (limit: 2.0G)         CPU: 260ms      CGroup: /system.slice/freeradius.service              └─16067 /usr/sbin/freeradius -f  Oct 11 11:32:44 debian11 freeradius[16443]: Please use tls_min_version and tls_max_version instead of disable_tlsv1_2 Oct 11 11:32:44 debian11 freeradius[16443]: tls: Using cached TLS configuration from previous invocation Oct 11 11:32:44 debian11 freeradius[16443]: tls: Using cached TLS configuration from previous invocation Oct 11 11:32:44 debian11 freeradius[16443]: rlm_mschap (mschap): using internal authentication Oct 11 11:32:44 debian11 freeradius[16443]: Ignoring "sql" (see raddb/mods-available/README.rst) Oct 11 11:32:44 debian11 freeradius[16443]: Ignoring "ldap" (see raddb/mods-available/README.rst) Oct 11 11:32:44 debian11 freeradius[16443]:  # Skipping contents of 'if' as it is always 'false' -- /etc/freeradius/3.0/sites-enabled/inner-tunnel:336 Oct 11 11:32:44 debian11 freeradius[16443]: radiusd: #### Skipping IP addresses and Ports #### Oct 11 11:32:44 debian11 freeradius[16443]: Configuration appears to be OK Oct 11 11:32:44 debian11 systemd[1]: Reloaded FreeRADIUS multi-protocol policy server. 

在 UFW 上打开 FreeRADIUS UDP 端口 2 1812 和 1813。

ufw allow to any port 1812:1813 proto udp

您可以通过运行以下命令来确认端口开放;

ss -alun4 | grep -E '1812|1813'
UNCONN 0      0          127.0.0.1:18120      0.0.0.0:*           UNCONN 0      0            0.0.0.0:1812       0.0.0.0:*           UNCONN 0      0            0.0.0.0:1813       0.0.0.0:*

停止 FreeRADIUS 并在调试模式下运行它以确认它已准备好处理请求。

systemctl stop freeradius
freeradius -X

如果一切顺利,您应该能够看到下面的示例输出(准备处理请求);

... listen {   	type = "acct"   	ipv6addr = ::   	port = 0    limit {    	max_connections = 16    	lifetime = 0    	idle_timeout = 30    } } listen {   	type = "auth"   	ipaddr = 127.0.0.1   	port = 18120 } Listening on auth address * port 1812 bound to server default Listening on acct address * port 1813 bound to server default Listening on auth address :: port 1812 bound to server default Listening on acct address :: port 1813 bound to server default Listening on auth address 127.0.0.1 port 18120 bound to server inner-tunnel Listening on proxy address * port 57303 Listening on proxy address :: port 59574 Ready to process requests 

创建 FreeRADIUS 数据库和数据库用户

以 root 用户身份登录 MySQL。

mysql -u root -p

创建数据库和数据库用户。

create database radius;
grant all privileges on radius.* to [email protected] identified by '[email protected]';

重新加载权限表以影响更改。

flush privileges; quit

导入 FreeRADIUS 默认数据库架构

创建数据库后,导入位于下面的 FreeRADIUS 默认数据库架构 /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql 到我们上面创建的 RADIUS 数据库。

mysql -u root -p radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql

通过创建一个符号链接来启用 FreeRADIUS SQL 模块 sql module 在下面 /etc/freeradius/3.0/mods-available/mods-enabled.

ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/

设置 FreeRADIUS 数据库连接详细信息

打开启用的 SQL 模块并配置 radius 数据库连接详情如下图;

... sql { ...         #dialect = "sqlite"         dialect = "mysql" ...          # Connection info:         #         server = "localhost"         port = 3306         login = "radius"         password = "[email protected]"          # Database table configuration for everything except Oracle         radius_db = "radius"

Save 更改并退出配置文件。

找到线路, # read_clients = yes 并取消注释以启用 FreeRADIUS 服务器从数据库读取客户端。

sed -i '/read_clients = yes/s/^#//' /etc/freeradius/3.0/mods-enabled/sql

这将更新如下所示的行;

...         # Set to 'yes' to read radius clients from the database ('nas' table)         # Clients will ONLY be read on server startup.         read_clients = yes ...

将启用的 SQL 模块(符号链接)的所有权用户和组更改为 freerad,如下所示。

chown -h freerad.freerad /etc/freeradius/3.0/mods-enabled/sql

完成后,重新启动 FreeRADIUS 服务,

systemctl restart freeradius

在 Debian 11/Debian 10 上安装和配置 daloRADIUS

安装 daloRADIUS

要获得最新版本的 daloRADIUS,您必须从 Sourceforge 下载页面下载存档。

下载存档后,运行以下命令将其解压缩。

apt install zip -y
unzip daloradius-1.1-2.zip

接下来,您需要将提取的 daloRADIUS 文件夹移动到 Web 服务器的根目录。

cp -r daloradius /var/www/html/

导入 daloRADIUS 数据库架构

daloRADIUS 附带其默认 MySQL 表。

您需要将这些表导入到我们上面创建的 FreeRADIUS 数据库中。

mysql -u root -p radius < /var/www/html/daloradius/contrib/db/fr2-mysql-daloradius-and-freeradius.sql
mysql -u root -p radius < /var/www/html/daloradius/contrib/db/mysql-daloradius.sql

将 daloRADIUS Web 配置文件的所有权配置为 Apache web用户如下图;

chown -R www-data.www-data /var/www/html/daloradius/

配置daloRADIUS主配置文件的权限为 664 如下所示;

chmod 664 /var/www/html/daloradius/library/daloradius.conf.php

配置 daloRADIUS 数据库连接设置

打开daloRADIUS配置文件进行编辑和设置数据库连接参数。

vim /var/www/html/daloradius/library/daloradius.conf.php
... $configValues['DALORADIUS_VERSION'] = '1.1-2'; $configValues['DALORADIUS_DATE'] = '08 Aug 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'; < RADIUS database user $configValues['CONFIG_DB_PASS'] = '[email protected]'; < radius user password $configValues['CONFIG_DB_NAME'] = 'radius'; < RADIUS database ...

Save 配置文件并重新启动 FreeRADIUS。

systemctl restart freeradius

daloRADIUS 配置完成。

访问 daloRADIUS Web 界面

现在,导航到浏览器并使用地址访问 daloRADIUS https://server_IP/daloradius.

如果 ufw 正在运行,请打开端口;

ufw allow 80/tcp

您应该登陆登录页面。

默认的默认登录密码 Administrator 用户是 radius.

要重置 daloRADIUS 管理员密码,请导航到 Config > Operators > List Operators > Operator Info > Reset the password and > Apply.

这就是您可以在 Debian 11/Debian 10 上使用 daloRADIUS 轻松安装 FreeRADIUS 的方法。尽情享受吧。

在 Debian 11 上安装鳄梨酱

在 Debian 11 上安装 BackupPC

在 Debian 11 上从源代码安装 Zabbix 服务器