SCROLL
Среднее время на прочтение: 5 мин.

Установка FreeRADIUS & daloRADIUS на Debian 11

RADIUS — расширенный протокол удаленной аутентификации пользователей, представляет собой ключевой элемент в обеспечении безопасности и управлении доступом в сетях.

Разберем как установить FreeRADIUS и daloRADIUS на Debian 11 и как настроить его для использования MySQL. В рамках данной статьи мы рассмотрим лишь только установку и настройку FreeRADIUS и daloRADIUS, вариации конфигурации использования freeRADUIS с оборудованием или системами будет рассматриваться в других статьях.

Настройка MySQL

Устанавливаем MySQL сервер.

sudo apt-get install mariadb-server -y
После установки рекомендуется выполнить базовую настройку безопасности MySQL сервера, выполнив команду — mysql_secure_installation.

JUQwJUExJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUIxJUQwJUIwJUQwJUI3JUQxJTgzJTIwJUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQxJTg1JTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwRnJlZVJBRElVUy4=

SQL
CREATE DATABASE radius;
CREATE USER 'radius'@'localhost' IDENTIFIED BY 'radpass';
R1JBTlQlMjBBTEwlMjBPTiUyMHJhZGl1cy4qJTIwVE8lMjAncmFkaXVzJyU0MCdsb2NhbGhvc3QnJTNC
FLUSH PRIVILEGES;

Установка FreeRADIUS

JUQwJUEzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUIwJUQwJUIyJUQwJUJCJUQwJUI4JUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwRnJlZVJBRElVUyUyMCVEMSU4MSUyMCVEMCVCNCVEMCVCRSVEMCVCRiVEMCVCRSVEMCVCQiVEMCVCRCVEMCVCOCVEMSU4MiVEMCVCNSVEMCVCQiVEMSU4QyVEMCVCRCVEMSU4QiVEMCVCQyVEMCVCOCUyMCVEMCVCQyVEMCVCRSVEMCVCNCVEMSU4MyVEMCVCQiVEMSU4RiVEMCVCQyVEMCVCOCUyMG15c3FsJTJDJTIwbGRhcCUzQQ==

sudo apt-get install freeradius freeradius-utils freeradius-mysql freeradius-ldap -y

JUQwJTlGJUQwJUJFJUQxJTgxJUQwJUJCJUQwJUI1JTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUJBJUQwJUI4JTIwJUQwJUI4JUQwJUJDJUQwJUJGJUQwJUJFJUQxJTgwJUQxJTgyJUQwJUI4JUQxJTgwJUQxJTgzJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQxJTg1JUQwJUI1JUQwJUJDJUQxJTgzJTIwUkFESVVTJTIwTXlTUUwlM0E=

bWFyaWFkYiUyMHJhZGl1cyUyMCUzQyUyMCUyRmV0YyUyRmZyZWVyYWRpdXMlMkYzLjAlMkZtb2RzLWNvbmZpZyUyRnNxbCUyRm1haW4lMkZteXNxbCUyRnNjaGVtYS5zcWw=

JUQwJTlGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQwJUI4JUQwJUJDJTIwJUQxJTg3JUQxJTgyJUQwJUJFJTIwJUQxJTgyJUQwJUIwJUQwJUIxJUQwJUJCJUQwJUI4JUQxJTg2JUQxJThCJTIwJUQwJUIyJTIwJUQwJUIxJUQwJUIwJUQwJUI3JUQwJUI1JTIwJUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQxJTg1JTIwKHJhZGl1cyklMkMlMjAlRDAlQjElRDElOEIlRDAlQkIlRDAlQjglMjAlRDElODElRDAlQkUlRDAlQjclRDAlQjQlRDAlQjAlRDAlQkQlRDElOEIlM0E=

SQL
bWFyaWFkYiUyMC1lJTIwJTIydXNlJTIwcmFkaXVzJTNCc2hvdyUyMHRhYmxlcyUzQiUyMg==

JTJCLS0tLS0tLS0tLS0tLS0tLS0tJTJC
| Tables_in_radius |
JTJCLS0tLS0tLS0tLS0tLS0tLS0tJTJC
JTdDJTIwbmFzJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
JTdDJTIwcmFkYWNjdCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
JTdDJTIwcmFkY2hlY2slMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0M=
JTdDJTIwcmFkZ3JvdXBjaGVjayUyMCUyMCUyMCUyMCU3Qw==
JTdDJTIwcmFkZ3JvdXByZXBseSUyMCUyMCUyMCUyMCU3Qw==
| radpostauth      |
| radreply         |
| radusergroup     |
JTJCLS0tLS0tLS0tLS0tLS0tLS0tJTJC

Настройка FreeRADIUS

JUQwJTkyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI4JUQwJUJDJTIwJUQwJUJEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI5JUQwJUJBJUQxJTgzJTIwJUQwJUJEJUQwJUIwJTIwJUQwJUI4JUQxJTgxJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQwJUI1JTIwTXlTUUwlMkZNYXJpYURCLiUyMCVEMCU5NCVEMCVCQiVEMSU4RiUyMCVEMSU4RCVEMSU4MiVEMCVCRSVEMCVCMyVEMCVCRSUyMCVEMCVCRiVEMSU4MCVEMCVCMCVEMCVCMiVEMCVCOCVEMCVCQyUyMCVEMSU4NCVEMCVCMCVEMCVCOSVEMCVCQiUyMCVEMCVCQSVEMCVCRSVEMCVCRCVEMSU4NCVEMCVCOCVEMCVCMyVEMSU4MyVEMSU4MCVEMCVCMCVEMSU4NiVEMCVCOCVEMCVCOCUyMCUyRmV0YyUyRmZyZWVyYWRpdXMlMkYzLjAlMkZtb2RzLWF2YWlsYWJsZSUyRnNxbC4lMjA=

В секции sql {...} указываем:

  • Изменяем — dialect = "sqlite" -> dialect = "mysql"
  • Закоментируем — driver = "rlm_sql_null"
  • Раскментируем — driver = "rlm_sql_${dialect}"

По-умолчанию FreeRADIUS предполагает, что будет использоваться шифрование при использовании MySQL. В нашем случае мы не используем шифрование, поэтому в секции mysql {...} закоментируем выделенные ниже строки:

sed -Ei '/^[\t\s#]*tls\s+\{/, /[\t\s#]*\}/ s/^/#/' /etc/freeradius/3.0/mods-available/sql

JUQwJTk0JUQwJUIwJUQwJUJCJUQwJUI1JUQwJUI1JTIwJUQxJTgzJUQwJUJBJUQwJUIwJUQwJUI2JUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQwJUIwJUQxJTgwJUQwJUIwJUQwJUJDJUQwJUI1JUQxJTgyJUQxJTgwJUQxJThCJTIwJUQwJUJGJUQwJUJFJUQwJUI0JUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTIwJUQwJUJBJTIwJUQwJUExJUQwJUEzJUQwJTkxJUQwJTk0JTJDJTIwJUQwJUJEJUQwJUIwJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJTIwJUQxJTgxJUQwJUI1JUQwJUJBJUQxJTg2JUQwJUI4JUQxJThFJUMyJUEwJTIzJTIwQ29ubmVjdGlvbiUyMGluZm8lM0ElMjAlRDAlQjglMjAlRDAlQkYlRDAlQkUlRDAlQjQlMjAlRDAlQkQlRDAlQjUlRDAlQjklQzIlQTAlRDElODAlRDAlQjAlRDElODElRDAlQkElRDAlQkUlRDAlQkMlRDAlQkMlRDAlQjUlRDAlQkQlRDElODIlRDAlQjglRDElODAlRDElODMlRDAlQjUlRDAlQkMlMjAlRDElODElRDElODIlRDElODAlRDAlQkUlRDAlQkElRDAlQjglMjBzZXJ2ZXIlMkMlMjBwb3J0JTJDJTIwbG9naW4lMkMlMjBwYXNzd29yZCUyQyUyMHJhZGl1c19kYiUyMCVEMCVCOCUyMCVEMCVCNyVEMCVCMCVEMCVCQyVEMCVCNSVEMCVCRCVEMCVCOCVEMCVCQyUyMCVEMCVCNyVEMCVCRCVEMCVCMCVEMSU4NyVEMCVCNSVEMCVCRCVEMCVCOCVEMSU4RiUyMCVEMCVCMiUyMCVEMCVCRCVEMCVCOCVEMSU4NSUyMCVEMCVCRCVEMCVCMCVDMiVBMCVEMSU4MyVEMSU4NyVEMCVCNSVEMSU4MiVEMCVCRCVEMSU4QiVEMCVCNSUyMCVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCRCVEMSU4QiVEMCVCNSUyQyUyMCVEMCVCQSVEMCVCRSVEMSU4MiVEMCVCRSVEMSU4MCVEMSU4QiVEMCVCNSUyMCVEMCVCNyVEMCVCMCVEMCVCNCVEMCVCMCVEMCVCMiVEMCVCMCVEMCVCQiVEMCVCOCUyMCVEMCVCRiVEMSU4MCVEMCVCOCUyMCVEMSU4MSVEMCVCRSVEMCVCNyVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCOCUyMCVEMCVCMSVEMCVCMCVEMCVCNyVEMSU4QiUyMCVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCRCVEMSU4QiVEMSU4NSUyMCVEMCVCOCUyMCVEMCVCOCVEMCVCQyVEMSU4RiUyMCVEMCVCMSVEMCVCMCVEMCVCNyVEMSU4QiUyMCVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCRCVEMSU4QiVEMSU4NS4=

/etc/freeradius/3.0/mods-available/sql
# Connection info:
JTIz
c2VydmVyJTIwJTNEJTIwJTIybG9jYWxob3N0JTIy
port = 3306
bG9naW4lMjAlM0QlMjAlMjJyYWRpdXMlMjI=
cGFzc3dvcmQlMjAlM0QlMjAlMjJyYWRwYXNzJTIy
Li4u
# Database table configuration for everything except Oracle
cmFkaXVzX2RiJTIwJTNEJTIwJTIycmFkaXVzJTIy

Чтобы разрешить клиентам считывать данные из таблицы nas, убедимся что строки ниже не закоментированы:

  • read_clients = yes
  • client_table = "nas"

JUQwJTkyJUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI1JUQwJUJEJUQwJUJEJUQxJThCJUQwJUI5JTIwU1FMJTIwJUQwJUJDJUQwJUJFJUQwJUI0JUQxJTgzJUQwJUJCJUQxJThDJTIwJUQwJUI4JTIwJUQwJUJGJUQxJTgwJUQwJUI4JUQwJUJDJUQwJUI1JUQwJUJEJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUJFJUQwJUJFJUQxJTgyJUQwJUIyJUQwJUI1JUQxJTgyJUQxJTgxJUQxJTgyJUQwJUIyJUQxJTgzJUQxJThFJUQxJTg5JUQwJUI4JUQwJUI1JTIwJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUIwJTIwJUQwJUJEJUQwJUIwJTIwJUQwJUJEJUQwJUI1JUQwJUIzJUQwJUJFJTNB

ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
chown freerad:freerad /etc/freeradius/3.0/mods-enabled/sql

Перезапускаем службу radius:

systemctl restart freeradius
Чтобы запустить radius сервер в debug режиме, нужно сперва остановить его и выполнить команду — freeradius -X

Установка и настройка daloRADIUS (FreeRADIUS GUI)

RGFsb1JBRElVUyUyMCVFMiU4MCU5NCUyMCVEMSU4RCVEMSU4MiVEMCVCRSUyMCVEMCVCRiVEMSU4MCVEMCVCRSVEMCVCNCVEMCVCMiVEMCVCOCVEMCVCRCVEMSU4MyVEMSU4MiVEMSU4QiVEMCVCOSUyMCVEMCVCMiVEMCVCNSVEMCVCMS0lRDElODElRDAlQjUlRDElODAlRDAlQjIlRDAlQjUlRDElODAlMjBSQURJVVMlMkMlMjAlRDAlQkYlRDElODAlRDAlQjUlRDAlQjQlRDAlQkQlRDAlQjAlRDAlQjclRDAlQkQlRDAlQjAlRDElODclRDAlQjUlRDAlQkQlRDAlQkQlRDElOEIlRDAlQjklMjAlRDAlQjQlRDAlQkIlRDElOEYlMjAlRDElODMlRDAlQkYlRDElODAlRDAlQjAlRDAlQjIlRDAlQkIlRDAlQjUlRDAlQkQlRDAlQjglRDElOEYlMjAlRDElODIlRDAlQkUlRDElODclRDAlQkElRDAlQjAlRDAlQkMlRDAlQjglMjAlRDAlQjQlRDAlQkUlRDElODElRDElODIlRDElODMlRDAlQkYlRDAlQjAlMjAlRDAlQjglMjAlRDElODAlRDAlQjAlRDAlQjclRDAlQjIlRDAlQjUlRDElODAlRDElODIlRDElOEIlRDAlQjIlRDAlQjAlRDAlQkQlRDAlQjglRDElOEYlRDAlQkMlRDAlQjglMjAlRDAlQjglRDAlQkQlRDElODIlRDAlQjUlRDElODAlRDAlQkQlRDAlQjUlRDElODItJUQwJUJGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUI5JUQwJUI0JUQwJUI1JUQxJTgwJUQwJUJFJUQwJUIyLg==

Устанавливаем необходимые пакеты:

YXB0LWdldCUyMGluc3RhbGwlMjBhcGFjaGUyJTIwYXBhY2hlMi11dGlscyUyMHBocDcuNCUyMGxpYmFwYWNoZTItbW9kLXBocDcuNCUyMHBocDcuNC0lN0JjdXJsJTJDZ2QlMkNjb21tb24lMkNteXNxbCUyQ21ic3RyaW5nJTJDeG1sJTdEJTIwcGhwLWdkJTIwcGhwLWRiJTIwcGhwLW1haWwlMjBwaHAtbWFpbC1taW1lJTIwZ2l0JTIwLXk=

JUQwJTk3JUQwJUIwJUQwJUIzJUQxJTgwJUQxJTgzJUQwJUI2JUQwJUIwJUQwJUI1JUQwJUJDJTIwZGFsb1JBRElVUyUyMCVEMCVCOCVEMCVCNyUyMCVEMSU4MCVEMCVCNSVEMCVCRiVEMCVCRSVEMCVCNyVEMCVCOCVEMSU4MiVEMCVCRSVEMSU4MCVEMCVCOCVEMSU4RiUyMGdpdGh1YiUzQQ==

cd /var/www
git clone https://github.com/lirantal/daloradius.git
cd daloradius/

JUQwJTk4JUQwJUJDJUQwJUJGJUQwJUJFJUQxJTgwJUQxJTgyJUQwJUI4JUQxJTgwJUQxJTgzJUQwJUI1JUQwJUJDJTIwJUQwJUJEJUQwJUI1JUQwJUJFJUQwJUIxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJUQxJThCJUQwJUI1JTIwJUQxJTgxJUQxJTg1JUQwJUI1JUQwJUJDJUQxJThCJTIwJUQwJUIyJTIwJUQxJTgwJUQwJUIwJUQwJUJEJUQwJUI1JUQwJUI1JTIwJUQxJTgxJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQxJTgzJUQxJThFJTIwJUQwJUIxJUQwJUIwJUQwJUI3JUQxJTgzJTIwJUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQxJTg1JTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwRnJlZVJBRFVJUyUzQQ==

mysql -u root radius < /var/www/daloradius/contrib/db/fr3-mariadb-freeradius.sql
bXlzcWwlMjAtdSUyMHJvb3QlMjByYWRpdXMlMjAlM0MlMjAlMkZ2YXIlMkZ3d3clMkZkYWxvcmFkaXVzJTJGY29udHJpYiUyRmRiJTJGbWFyaWFkYi1kYWxvcmFkaXVzLnNxbA==
В случае если столкнетесь с ошибкой "Нет такого файла или каталога", то проверяйте в каталоге /var/www/daloradius/contrib/db/ названия файлов. С новыми релизами, возможны изменения в именовании поставляемых файлов sql.

JUQwJTlGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQwJUI4JUQwJUJDJTIwJUQxJTg3JUQxJTgyJUQwJUJFJTIwJUQwJUIxJUQwJUIwJUQwJUI3JUQwJUIwJTIwJUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQxJTg1JTIwKHJhZGl1cyklMkMlMjAlRDAlQjElRDElOEIlRDAlQkIlRDAlQjAlMjAlRDElODAlRDAlQjAlRDElODElRDElODglRDAlQjglRDElODAlRDAlQjUlRDAlQkQlRDAlQjAlMjAlRDAlQjQlRDAlQkUlRDAlQkYlRDAlQkUlRDAlQkIlRDAlQkQlRDAlQjglRDElODIlRDAlQjUlRDAlQkIlRDElOEMlRDAlQkQlRDElOEIlRDAlQkMlRDAlQjglMjAlRDElODIlRDAlQjAlRDAlQjElRDAlQkIlRDAlQjglRDElODYlRDAlQjAlRDAlQkMlRDAlQjglMjBkYWxvUkFEVUlTJTNB

SQL
bWFyaWFkYiUyMC1lJTIwJTIydXNlJTIwcmFkaXVzJTNCc2hvdyUyMHRhYmxlcyUzQiUyMg==
JTJCLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJTJC
| Tables_in_radius       |
JTJCLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJTJC
JTdDJTIwYmF0Y2hfaGlzdG9yeSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
JTdDJTIwYmlsbGluZ19oaXN0b3J5JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
JTdDJTIwYmlsbGluZ19tZXJjaGFudCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
| billing_paypal         |
JTdDJTIwYmlsbGluZ19wbGFucyUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
JTdDJTIwYmlsbGluZ19wbGFuc19wcm9maWxlcyUyMCU3Qw==
| billing_rates          |
JTdDJTIwY3VpJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
| dictionary             |
| hotspots               |
| invoice                |
| invoice_items          |
| invoice_status         |
| invoice_type           |
JTdDJTIwbmFzJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
JTdDJTIwbm9kZSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
JTdDJTIwb3BlcmF0b3JzJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
JTdDJTIwb3BlcmF0b3JzX2FjbCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
| operators_acl_files    |
| payment                |
| payment_type           |
JTdDJTIwcHJveHlzJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
JTdDJTIwcmFkYWNjdCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
JTdDJTIwcmFkY2hlY2slMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0M=
JTdDJTIwcmFkZ3JvdXBjaGVjayUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
| radgroupreply          |
| radhuntgroup           |
JTdDJTIwcmFkaXBwb29sJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
JTdDJTIwcmFkcG9zdGF1dGglMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0M=
JTdDJTIwcmFkcmVwbHklMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0M=
JTdDJTIwcmFkdXNlcmdyb3VwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
JTdDJTIwcmVhbG1zJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
JTdDJTIwdXNlcmJpbGxpbmZvJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
| userinfo               |
JTdDJTIwd2ltYXglMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0M=
JTJCLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJTJC

Копируем файл конфигурации daloRADIUS из примера и применяем к нему соответствующие права доступа:

cp /var/www/daloradius/app/common/includes/daloradius.conf.php.sample app/common/includes/daloradius.conf.php

chown www-data:www-data /var/www/daloradius/app/common/includes/daloradius.conf.php
chmod 0664 /var/www/daloradius/app/common/includes/daloradius.conf.php

В файле конфигурации /var/www/daloradius/app/common/includes/daloradius.conf.php, указываем подключение к базе данных FreeRADUIS:

/var/www/daloradius/app/common/includes/daloradius.conf.php
$configValues['CONFIG_DB_ENGINE'] = 'mysqli';
JTI0Y29uZmlnVmFsdWVzJTVCJ0NPTkZJR19EQl9IT1NUJyU1RCUyMCUzRCUyMCdsb2NhbGhvc3QnJTNC
JTI0Y29uZmlnVmFsdWVzJTVCJ0NPTkZJR19EQl9QT1JUJyU1RCUyMCUzRCUyMCczMzA2JyUzQg==
$configValues['CONFIG_DB_USER'] = 'radius';
JTI0Y29uZmlnVmFsdWVzJTVCJ0NPTkZJR19EQl9QQVNTJyU1RCUyMCUzRCUyMCdyYWRwYXNzJyUzQg==
JTI0Y29uZmlnVmFsdWVzJTVCJ0NPTkZJR19EQl9OQU1FJyU1RCUyMCUzRCUyMCdyYWRpdXMnJTNC

Создаем необходимые рабочие каталоги и применяем к ним соответствующие права доступа:

mkdir -p /www/daloradius/var/{log,backup}

Y2hvd24lMjAtUiUyMHd3dy1kYXRhJTNBd3d3LWRhdGElMjAlMkZ3d3clMkZkYWxvcmFkaXVzJTJGdmFy
Y2htb2QlMjAtUiUyMDc3NSUyMCUyRnd3dyUyRmRhbG9yYWRpdXMlMkZ2YXI=

JUQwJTlGJUQwJUJFJUQxJTgwJUQxJTgyJUQwJUIwJUQwJUJCJTIwb3BlcmF0b3JzJTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQwJUI1JUQxJTgyJTIwJUQxJTgwJUQwJUIwJUQwJUIxJUQwJUJFJUQxJTgyJUQwJUIwJUQxJTgyJUQxJThDJTIwJUQwJUJEJUQwJUIwJTIwJUQwJUJGJUQwJUJFJUQxJTgwJUQxJTgyJUQxJTgzJTIwODAwMCUyQyUyMCVEMCVCMCUyMHVzZXJzJTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQwJUI1JUQxJTgyJTIwJUQxJTgwJUQwJUIwJUQwJUIxJUQwJUJFJUQxJTgyJUQwJUIwJUQxJTgyJUQxJThDJTIwJUQwJUJEJUQwJUIwJTIwODAlMkMlMjAlRDAlQjIlMjAlRDElODQlRDAlQjAlRDAlQjklRDAlQkIlRDAlQjUlMjAlRDAlQkElRDAlQkUlRDAlQkQlRDElODQlRDAlQjglRDAlQjMlRDElODMlRDElODAlRDAlQjAlRDElODYlRDAlQjglRDAlQjglMjAlRDAlQkYlRDAlQkUlRDElODAlRDElODIlRDAlQkUlRDAlQjIlMjAlMkZldGMlMkZhcGFjaGUyJTJGcG9ydHMuY29uZiUyMCVEMCVCRSVEMCVCMSVEMSU4QSVEMSU4RiVEMCVCMiVEMCVCQiVEMSU4RiVEMCVCNSVEMCVCQyUyMCVEMSU4MSVEMCVCQiVEMSU4MyVEMSU4OCVEMCVCMCVEMSU4MiVEMSU4QyUyMCVEMCVCNCVEMCVCRSVEMCVCRiVEMCVCRSVEMCVCQiVEMCVCRCVEMCVCOCVEMSU4MiVEMCVCNSVEMCVCQiVEMSU4QyVEMCVCRCVEMSU4QiVEMCVCOSUyMCVEMCVCRiVEMCVCRSVEMSU4MCVEMSU4MiUyMCVFMiU4MCU5NCUyMDgwMDAlM0E=

/etc/apache2/ports.conf
# If you just change the port or add more ports here, you will likely also
JTIzJTIwaGF2ZSUyMHRvJTIwY2hhbmdlJTIwdGhlJTIwVmlydHVhbEhvc3QlMjBzdGF0ZW1lbnQlMjBpbg==
# /etc/apache2/sites-enabled/000-default.conf

TGlzdGVuJTIwODA=
Listen 8000

<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwTGlzdGVuJTIwNDQz
JTNDJTJGSWZNb2R1bGUlM0U=

Настройка виртуальных хостов для operators и users:

cat << EOF > /etc/apache2/sites-available/daloradius_operators.conf
JTNDVmlydHVhbEhvc3QlMjAqJTNBODAwMCUzRQ==
JTIwJTIwJTIwJTIwRG9jdW1lbnRSb290JTIwJTJGdmFyJTJGd3d3JTJGZGFsb3JhZGl1cyUyRmFwcCUyRm9wZXJhdG9ycw==

    ErrorLog \${APACHE_LOG_DIR}/daloradius_operators.error.log
    CustomLog \${APACHE_LOG_DIR}/daloradius_operators.access.log combined

    <Directory /var/www/daloradius/app/operators>
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwT3B0aW9ucyUyMC1JbmRleGVzJTIwJTJCRm9sbG93U3ltTGlua3M=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwQWxsb3dPdmVycmlkZSUyME5vbmU=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwUmVxdWlyZSUyMGFsbCUyMGdyYW50ZWQ=
JTIwJTIwJTIwJTIwJTNDJTJGRGlyZWN0b3J5JTNF

    <Directory /var/www/daloradius>
        Require all denied
JTIwJTIwJTIwJTIwJTNDJTJGRGlyZWN0b3J5JTNF
JTNDJTJGVmlydHVhbEhvc3QlM0U=
EOF
cat << EOF > /etc/apache2/sites-available/daloradius_users.conf
JTNDVmlydHVhbEhvc3QlMjAqJTNBODAlM0U=
JTIwJTIwJTIwJTIwRG9jdW1lbnRSb290JTIwJTJGdmFyJTJGd3d3JTJGZGFsb3JhZGl1cyUyRmFwcCUyRnVzZXJz

JTIwJTIwJTIwJTIwRXJyb3JMb2clMjAlNUMlMjQlN0JBUEFDSEVfTE9HX0RJUiU3RCUyRmRhbG9yYWRpdXNfdXNlcnMuZXJyb3IubG9n
    CustomLog \${APACHE_LOG_DIR}/daloradius_users.access.log combined

    <Directory /var/www/daloradius/app/users>
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwT3B0aW9ucyUyMC1JbmRleGVzJTIwJTJCRm9sbG93U3ltTGlua3M=
        AllowOverride None
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwUmVxdWlyZSUyMGFsbCUyMGdyYW50ZWQ=
    </Directory>

JTIwJTIwJTIwJTIwJTNDRGlyZWN0b3J5JTIwJTJGdmFyJTJGd3d3JTJGZGFsb3JhZGl1cyUzRQ==
        Require all denied
    </Directory>
</VirtualHost>
EOF
По возможности правильней использовать SSL соединение, но в рамках данной статьи не будет рассмотрено.

JUQwJTlFJUQxJTgyJUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUIwJUQwJUI5JUQxJTgyJTIwJUQwJUJGJUQwJUJFLSVEMSU4MyVEMCVCQyVEMCVCRSVEMCVCQiVEMSU4NyVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4RSUyQyUyMCVEMCVCMiVEMCVCQSVEMCVCQiVEMSU4RSVEMSU4NyVEMCVCMCVEMCVCNSVEMCVCQyUyMCVEMSU4MSVEMCVCRSVEMCVCNyVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCRCVEMSU4QiVEMCVCNSUyMCVEMCVCMiVEMCVCOCVEMSU4MCVEMSU4MiVEMSU4MyVEMCVCMCVEMCVCQiVEMSU4QyVEMCVCRCVEMSU4QiVEMCVCNSUyMCVEMSU4NSVEMCVCRSVEMSU4MSVEMSU4MiVEMSU4QiUyMCVEMCVCOCUyMCVEMCVCRiVEMCVCNSVEMSU4MCVEMCVCNSVEMCVCNyVEMCVCMCVEMCVCRiVEMSU4MyVEMSU4MSVEMCVCQSVEMCVCMCVEMCVCNSVEMCVCQyUyMCVEMSU4MSVEMCVCQiVEMSU4MyVEMCVCNiVEMCVCMSVEMSU4MyUyMGFwYWNoZSUzQQ==

a2dissite 000-default
YTJlbnNpdGUlMjBkYWxvcmFkaXVzX3VzZXJzLmNvbmYlMjBkYWxvcmFkaXVzX29wZXJhdG9ycy5jb25m
systemctl restart apache2

JUQwJUExJUQwJUI4JUQxJTgxJUQxJTgyJUQwJUI1JUQwJUJDJUQwJUIwJTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQwJUI1JUQxJTgyJTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQwJUJEJUQwJUIwJTIwJUQwJUJGJUQwJUJFJTIwJUQxJTgxJUQwJUJCJUQwJUI1JUQwJUI0JUQxJTgzJUQxJThFJUQxJTg5JUQwJUI4JUQwJUJDJTIwJUQwJUIwJUQwJUI0JUQxJTgwJUQwJUI1JUQxJTgxJUQwJUIwJUQwJUJDJTNB

  • RADIUS management — http://<ip>:8000/
  • User portal — http://<ip>

JUQwJUEzJUQxJTg3JUQwJUI1JUQxJTgyJUQwJUJEJUQxJThCJUQwJUI1JTIwJUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQwJUI1JTIwJUQwJUJGJUQwJUJFLSVEMSU4MyVEMCVCQyVEMCVCRSVEMCVCQiVEMSU4NyVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4RSUzQQ==

  • Логин — administrator
  • Пароль — radius
 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ

Обсуждение

6 комментариев
  • Уже некоторое время пытаюсь поднять сервер радиус, есть проблема которою не смог решить пока. Как сделать чтобы сервер радиус позволял поднимать только одну сессию на пользователя?

  • GRANT SELECT ON radius.* TO ‘radius’@’localhost’;

    Тут ошибка из-за которой нельзя сделать запись в бд, вместо select нужно вписать insert или all

    • Это ответ на комментарий Алибек

      Верно, вчера это упустил при редактировании, т.к. тоже ловил ошибку коннекта к БД, на тестовом стенде поправил. в статье забыл указать. Спасибо.

  • перед установкой на ubuntu 22.04 и старше нужно добавить репозиторий с php7.4

    sudo add-apt-repository ppa:ondrej/php
    sudo apt-get update

    и установить диалог

    sudo apt install dialog

    А в остальном все супер, спасибо!

  • Куча ошибок в конфигах все переделывать нужно.

    mysql -u root radius < /var/www/daloradius/contrib/db/fr3-mysql-freeradius.sql
    mysql -u root radius < /var/www/daloradius/contrib/db/mysql-daloradius.sql — тут mariadb должно быть

    Listen 80
    Listen 8080 — вместо 8000

    Alias /operators /var/www/daloradius/app/operators
    — тут 8000

    И даже после всех исправлений не работает, любое действие приводит к ошибке 500.

    • Это ответ на комментарий Алибек

      Да действительно, ошибки в мануале были. Пересмотрел, все поправил, теперь все будет ок, если следовать по шагам.