Гид по технологиям

Установка FreeRADIUS и daloRADIUS на Ubuntu 18.04

• 5 min read • Сеть • Обновлено 24 Nov 2025
FreeRADIUS и daloRADIUS на Ubuntu 18.04
FreeRADIUS и daloRADIUS на Ubuntu 18.04

Важно: команды в примерах выполняются от имени root или через sudo. Замените пароли и имена пользователей на безопасные значения перед использованием в продакшене.

Что такое FreeRADIUS и daloRADIUS

FreeRADIUS — это свободный RADIUS-сервер клиент/серверной архитектуры для централизованной сетевой аутентификации, учёта и авторизации. Поддерживает множество СУБД: OpenLDAP, MySQL, Redis, Microsoft AD, Apache Cassandra, PostgreSQL и другие.

daloRADIUS — это веб-приложение на PHP/JavaScript для управления FreeRADIUS. Подходит для хотспотов и ISP-развёртываний, включает графические отчёты, биллинг, управление пользователями и NAS (устройствами доступа).

FreeRADIUS выступает как бэкенд, daloRADIUS — как фронтенд.

Требования

  • Сервер с Ubuntu 18.04 LTS.
  • Доступ root (пароль root настроен либо вы используете sudo).
  • Доступ в интернет для загрузки пакетов и репозитория daloRADIUS.

План действий (кратко)

  1. Обновить пакеты системы.
  2. Установить стек LAMP (Apache, MariaDB, PHP).
  3. Защитить MariaDB и создать базу radiusdb и пользователя.
  4. Установить FreeRADIUS и подключить его к MySQL.
  5. Установить daloRADIUS и подключить к той же базе.
  6. Проверить состояние служб и войти в веб-интерфейс.

Получение системы в актуальное состояние

Обновите пакетный индекс и установите доступные обновления:

apt-get update -y  
 apt-get upgrade -y

После обновления рекомендуется перезагрузить систему, чтобы применить новые версии ядра и служб.

Установка LAMP (Apache + MariaDB + PHP)

Установите 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

Объяснение: PHP-модули нужны для работы daloRADIUS и взаимодействия с MySQL; apache2 — веб-сервер.

Конфигурация базы данных для 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:

mysql -u root -p

Введите пароль root MariaDB, затем выполните:

MariaDB [(none)]> CREATE DATABASE radiusdb;  
 MariaDB [(none)]> GRANT ALL ON radiusdb.* TO radius@localhost IDENTIFIED BY "password";

Замените “password” на сложный пароль. После этого выполните:

MariaDB [(none)]> FLUSH PRIVILEGES;  
 MariaDB [(none)]> EXIT;

Установка FreeRADIUS

FreeRADIUS доступен в репозитории Ubuntu 18.04. Установите сервер и модули для MySQL:

apt-get install freeradius freeradius-mysql freeradius-utils

Импортируйте схему базы данных FreeRADIUS в созданную базу:

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

Создайте символическую ссылку для модуля sql, чтобы он был включён в конфигурацию:

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

Проверьте таблицы в базе данных:

mysql -u root -p

Затем в MariaDB:

MariaDB [(none)]> use radiusdb;
MariaDB [radiusdb]> show tables;

Вы должны увидеть таблицы вроде nas, radacct, radcheck и т.д.

Далее укажите параметры подключения к базе в модуле SQL FreeRADIUS. Откройте файл:

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"

Сохраните файл и измените владельца/группу:

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
systemctl status freeradius

Ожидаемый статус должен быть Active (running). Если служба не стартует — смотрите раздел «Отладка» ниже.

Установка daloRADIUS

daloRADIUS — веб-интерфейс для управления пользователями, отчётами и биллингом. Установим его из GitHub:

wget https://github.com/lirantal/daloradius/archive/master.zip

Распакуйте архив и переместите в корень веб-сайта Apache:

unzip master.zip
mv daloradius-master /var/www/html/daloradius

Импортируйте таблицы daloRADIUS в базу 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

Дайте права веб-серверу и настройте файл конфигурации:

chown -R www-data:www-data /var/www/html/daloradius/  
 chmod 664 /var/www/html/daloradius/library/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';

Перезапустите службы:

systemctl restart freeradius  
 systemctl restart apache2

Проверьте статус Apache:

systemctl status apache2

Доступ к веб-интерфейсу daloRADIUS

Откройте в браузере:

http://your-server-ip/daloradius/login.php

Вход в daloRADIUS

По умолчанию логин/пароль: administrator / radius. После входа вы увидите панель управления.

Панель управления daloRADIUS

Статус сервера daloRADIUS/FreeRADIUS

Проверка работоспособности

  • Проверьте, что FreeRADIUS слушает порт 1812/1813 (RADIUS) и отвечает.
  • Создайте тестового пользователя в radcheck и попробуйте аутентифицироваться через radclient или точку доступа.

Пример теста с radclient:

echo "User-Name=test,User-Password=testpass" | radclient -x 127.0.0.1 auth testing123

Отладка и типичные проблемы

  • Если FreeRADIUS не стартует, запустите его в режиме отладки:
freeradius -X

Режим -X показывает подробный лог ошибок и помогает найти синтаксические ошибки в конфигурации.

  • Ошибка подключения к MySQL: проверьте лог /var/log/syslog и права доступа пользователя radius к базе radiusdb.
  • Неверные права на файлы daloRADIUS: веб-сервер должен иметь доступ к каталогу и файлам конфигурации.
  • Проверьте версии PHP: устаревшие расширения могут препятствовать работе daloRADIUS.

Безопасность и рекомендации (харднинг)

  • Замените все дефолтные пароли (MariaDB root, radius user, daloRADIUS admin).
  • Ограничьте доступ к панели daloRADIUS по IP и через HTTPS. Установите SSL (Let’s Encrypt).
  • Используйте отдельного пользователя MySQL с минимальными привилегиями для доступа радиус-базы.
  • Регулярно делайте бэкапы базы radiusdb и конфигураций FreeRADIUS.
  • В production отключите удалённый логин MariaDB для root и минимум слушайте localhost.

Резервные варианты и альтернативные подходы

  • Вместо MariaDB можно использовать PostgreSQL — FreeRADIUS поддерживает rlm_sql_postgresql.
  • Если вам не нужен веб-интерфейс, можно управлять пользователями напрямую через SQL или LDAP.
  • Для современных систем рассмотрите Ubuntu 20.04 / 22.04 — пакеты и зависимости там свежее.

Чек-листы по ролям

Администратор сервера:

  • Установить и обновить пакеты.
  • Настроить бэкапы и мониторинг служб.

Системный администратор базы данных:

  • Создать базу radiusdb, настроить пользователя с ограниченными правами.
  • Настроить регулярные дампы.

Сетевой инженер:

  • Проверить связи NAS — FreeRADIUS, убедиться в корректности secret для каждого NAS.
  • Тестировать аутентификацию пользователей.

Критерии приёмки

  • FreeRADIUS активно работает (systemctl status показывает Active).
  • daloRADIUS доступен по HTTPS и авторизация проходит по учетной записи администратора.
  • Тестовая аутентификация через radclient успешно завершается.
  • База radiusdb содержит таблицы FreeRADIUS и таблицы daloRADIUS.

Мини-методология развертывания

  1. Прототип: установите систему в тестовой сети, проверьте аутентификацию для 1–2 NAS.
  2. Интеграция: подключите реальный NAS и профили пользователей.
  3. Продакшен: перенесите конфигурации, включите HTTPS и мониторинг.

Часто встречующиеся вопросы

Q: Можно ли использовать PostgreSQL?
A: Да, FreeRADIUS поддерживает PostgreSQL. Требуется соответствующий модуль rlm_sql_postgresql и адаптация схемы.

Q: Как сменить порт RADIUS?
A: Порты 1812/1813 стандартные; изменение требует правки конфигурации FreeRADIUS и согласования на устройствах NAS.

Полезные ссылки

Резюме

  • FreeRADIUS + daloRADIUS дают готовое решение для централизованной аутентификации и управления доступом.
  • Следуйте указанным шагам: LAMP → MariaDB → FreeRADIUS → daloRADIUS.
  • Обеспечьте безопасность: сильные пароли, HTTPS и минимум привилегий для БД.

Если нужно, могу подготовить конфигурационные сниппеты для PostgreSQL, скрипт резервного копирования radiusdb или пример правил доступа в FreeRADIUS.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро