在本指南中,我们将学习如何在 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 服务器