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

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

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

JUQwJUEwJUQwJUIwJUQwJUI3JUQwJUIxJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUJDJTIwJUQwJUJBJUQwJUIwJUQwJUJBJTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUI4JUQxJTgyJUQxJThDJTIwRnJlZVJBRElVUyUyMCVEMCVCOCUyMGRhbG9SQURJVVMlMjAlRDAlQkQlRDAlQjAlMjBEZWJpYW4lMjAxMSUyMCVEMCVCOCUyMCVEMCVCQSVEMCVCMCVEMCVCQSUyMCVEMCVCRCVEMCVCMCVEMSU4MSVEMSU4MiVEMSU4MCVEMCVCRSVEMCVCOCVEMSU4MiVEMSU4QyUyMCVEMCVCNSVEMCVCMyVEMCVCRSUyMCVEMCVCNCVEMCVCQiVEMSU4RiUyMCVEMCVCOCVEMSU4MSVEMCVCRiVEMCVCRSVEMCVCQiVEMSU4QyVEMCVCNyVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4RiUyME15U1FMLiUyMCVEMCU5MiUyMCVEMSU4MCVEMCVCMCVEMCVCQyVEMCVCQSVEMCVCMCVEMSU4NSUyMCVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCRCVEMCVCRSVEMCVCOSUyMCVEMSU4MSVEMSU4MiVEMCVCMCVEMSU4MiVEMSU4QyVEMCVCOCUyMCVEMCVCQyVEMSU4QiUyMCVEMSU4MCVEMCVCMCVEMSU4MSVEMSU4MSVEMCVCQyVEMCVCRSVEMSU4MiVEMSU4MCVEMCVCOCVEMCVCQyUyMCVEMCVCQiVEMCVCOCVEMSU4OCVEMSU4QyUyMCVEMSU4MiVEMCVCRSVEMCVCQiVEMSU4QyVEMCVCQSVEMCVCRSUyMCVEMSU4MyVEMSU4MSVEMSU4MiVEMCVCMCVEMCVCRCVEMCVCRSVEMCVCMiVEMCVCQSVEMSU4MyUyMCVEMCVCOCUyMCVEMCVCRCVEMCVCMCVEMSU4MSVEMSU4MiVEMSU4MCVEMCVCRSVEMCVCOSVEMCVCQSVEMSU4MyVDMiVBMEZyZWVSQURJVVMlMjAlRDAlQjglMjBkYWxvUkFESVVTJTJDJTIwJUQwJUIyJUQwJUIwJUQxJTgwJUQwJUI4JUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTIwJUQwJUI4JUQxJTgxJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQxJThGJTIwZnJlZVJBRFVJUyUyMCVEMSU4MSUyMCVEMCVCRSVEMCVCMSVEMCVCRSVEMSU4MCVEMSU4MyVEMCVCNCVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCNSVEMCVCQyUyMCVEMCVCOCVEMCVCQiVEMCVCOCUyMCVEMSU4MSVEMCVCOCVEMSU4MSVEMSU4MiVEMCVCNSVEMCVCQyVEMCVCMCVEMCVCQyVEMCVCOCUyMCVEMCVCMSVEMSU4MyVEMCVCNCVEMCVCNSVEMSU4MiUyMCVEMSU4MCVEMCVCMCVEMSU4MSVEMSU4MSVEMCVCQyVEMCVCMCVEMSU4MiVEMSU4MCVEMCVCOCVEMCVCMiVEMCVCMCVEMSU4MiVEMSU4QyVEMSU4MSVEMSU4RiUyMCVEMCVCMiUyMCVEMCVCNCVEMSU4MCVEMSU4MyVEMCVCMyVEMCVCOCVEMSU4NSUyMCVEMSU4MSVEMSU4MiVEMCVCMCVEMSU4MiVEMSU4QyVEMSU4RiVEMSU4NS4=

Настройка MySQL

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

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

Создаем базу данных для FreeRADIUS.

SQL
Q1JFQVRFJTIwREFUQUJBU0UlMjByYWRpdXMlM0I=
Q1JFQVRFJTIwVVNFUiUyMCdyYWRpdXMnJTQwJ2xvY2FsaG9zdCclMjBJREVOVElGSUVEJTIwQlklMjAncmFkcGFzcyclM0I=
R1JBTlQlMjBBTEwlMjBPTiUyMHJhZGl1cy4qJTIwVE8lMjAncmFkaXVzJyU0MCdsb2NhbGhvc3QnJTNC
FLUSH PRIVILEGES;

Установка FreeRADIUS

Устанавливаем FreeRADIUS с дополнительными модулями mysql, ldap:

c3VkbyUyMGFwdC1nZXQlMjBpbnN0YWxsJTIwZnJlZXJhZGl1cyUyMGZyZWVyYWRpdXMtdXRpbHMlMjBmcmVlcmFkaXVzLW15c3FsJTIwZnJlZXJhZGl1cy1sZGFwJTIwLXk=

После установки импортируем схему RADIUS MySQL:

bWFyaWFkYiUyMHJhZGl1cyUyMCUzQyUyMCUyRmV0YyUyRmZyZWVyYWRpdXMlMkYzLjAlMkZtb2RzLWNvbmZpZyUyRnNxbCUyRm1haW4lMkZteXNxbCUyRnNjaGVtYS5zcWw=

JUQwJTlGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQwJUI4JUQwJUJDJTIwJUQxJTg3JUQxJTgyJUQwJUJFJTIwJUQxJTgyJUQwJUIwJUQwJUIxJUQwJUJCJUQwJUI4JUQxJTg2JUQxJThCJTIwJUQwJUIyJTIwJUQwJUIxJUQwJUIwJUQwJUI3JUQwJUI1JTIwJUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQxJTg1JTIwKHJhZGl1cyklMkMlMjAlRDAlQjElRDElOEIlRDAlQkIlRDAlQjglMjAlRDElODElRDAlQkUlRDAlQjclRDAlQjQlRDAlQjAlRDAlQkQlRDElOEIlM0E=

SQL
mariadb -e "use radius;show tables;"

+------------------+
JTdDJTIwVGFibGVzX2luX3JhZGl1cyUyMCU3Qw==
JTJCLS0tLS0tLS0tLS0tLS0tLS0tJTJC
JTdDJTIwbmFzJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
JTdDJTIwcmFkYWNjdCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
| radcheck         |
| radgroupcheck    |
| radgroupreply    |
JTdDJTIwcmFkcG9zdGF1dGglMjAlMjAlMjAlMjAlMjAlMjAlN0M=
JTdDJTIwcmFkcmVwbHklMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0M=
| radusergroup     |
+------------------+

Настройка FreeRADIUS

Выполним настройку на использование MySQL/MariaDB. Для этого правим файл конфигурации /etc/freeradius/3.0/mods-available/sql.

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

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

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

c2VkJTIwLUVpJTIwJyUyRiU1RSU1QiU1Q3QlNUNzJTIzJTVEKnRscyU1Q3MlMkIlNUMlN0IlMkYlMkMlMjAlMkYlNUIlNUN0JTVDcyUyMyU1RColNUMlN0QlMkYlMjBzJTJGJTVFJTJGJTIzJTJGJyUyMCUyRmV0YyUyRmZyZWVyYWRpdXMlMkYzLjAlMkZtb2RzLWF2YWlsYWJsZSUyRnNxbA==

JUQwJTk0JUQwJUIwJUQwJUJCJUQwJUI1JUQwJUI1JTIwJUQxJTgzJUQwJUJBJUQwJUIwJUQwJUI2JUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQwJUIwJUQxJTgwJUQwJUIwJUQwJUJDJUQwJUI1JUQxJTgyJUQxJTgwJUQxJThCJTIwJUQwJUJGJUQwJUJFJUQwJUI0JUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTIwJUQwJUJBJTIwJUQwJUExJUQwJUEzJUQwJTkxJUQwJTk0JTJDJTIwJUQwJUJEJUQwJUIwJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJTIwJUQxJTgxJUQwJUI1JUQwJUJBJUQxJTg2JUQwJUI4JUQxJThFJUMyJUEwJTIzJTIwQ29ubmVjdGlvbiUyMGluZm8lM0ElMjAlRDAlQjglMjAlRDAlQkYlRDAlQkUlRDAlQjQlMjAlRDAlQkQlRDAlQjUlRDAlQjklQzIlQTAlRDElODAlRDAlQjAlRDElODElRDAlQkElRDAlQkUlRDAlQkMlRDAlQkMlRDAlQjUlRDAlQkQlRDElODIlRDAlQjglRDElODAlRDElODMlRDAlQjUlRDAlQkMlMjAlRDElODElRDElODIlRDElODAlRDAlQkUlRDAlQkElRDAlQjglMjBzZXJ2ZXIlMkMlMjBwb3J0JTJDJTIwbG9naW4lMkMlMjBwYXNzd29yZCUyQyUyMHJhZGl1c19kYiUyMCVEMCVCOCUyMCVEMCVCNyVEMCVCMCVEMCVCQyVEMCVCNSVEMCVCRCVEMCVCOCVEMCVCQyUyMCVEMCVCNyVEMCVCRCVEMCVCMCVEMSU4NyVEMCVCNSVEMCVCRCVEMCVCOCVEMSU4RiUyMCVEMCVCMiUyMCVEMCVCRCVEMCVCOCVEMSU4NSUyMCVEMCVCRCVEMCVCMCVDMiVBMCVEMSU4MyVEMSU4NyVEMCVCNSVEMSU4MiVEMCVCRCVEMSU4QiVEMCVCNSUyMCVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCRCVEMSU4QiVEMCVCNSUyQyUyMCVEMCVCQSVEMCVCRSVEMSU4MiVEMCVCRSVEMSU4MCVEMSU4QiVEMCVCNSUyMCVEMCVCNyVEMCVCMCVEMCVCNCVEMCVCMCVEMCVCMiVEMCVCMCVEMCVCQiVEMCVCOCUyMCVEMCVCRiVEMSU4MCVEMCVCOCUyMCVEMSU4MSVEMCVCRSVEMCVCNyVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCOCUyMCVEMCVCMSVEMCVCMCVEMCVCNyVEMSU4QiUyMCVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCRCVEMSU4QiVEMSU4NSUyMCVEMCVCOCUyMCVEMCVCOCVEMCVCQyVEMSU4RiUyMCVEMCVCMSVEMCVCMCVEMCVCNyVEMSU4QiUyMCVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCRCVEMSU4QiVEMSU4NS4=

/etc/freeradius/3.0/mods-available/sql
JTIzJTIwQ29ubmVjdGlvbiUyMGluZm8lM0E=
#
server = "localhost"
cG9ydCUyMCUzRCUyMDMzMDY=
login = "radius"
cGFzc3dvcmQlMjAlM0QlMjAlMjJyYWRwYXNzJTIy
...
# Database table configuration for everything except Oracle
radius_db = "radius"

JUQwJUE3JUQxJTgyJUQwJUJFJUQwJUIxJUQxJThCJTIwJUQxJTgwJUQwJUIwJUQwJUI3JUQxJTgwJUQwJUI1JUQxJTg4JUQwJUI4JUQxJTgyJUQxJThDJTIwJUQwJUJBJUQwJUJCJUQwJUI4JUQwJUI1JUQwJUJEJUQxJTgyJUQwJUIwJUQwJUJDJTIwJUQxJTgxJUQxJTg3JUQwJUI4JUQxJTgyJUQxJThCJUQwJUIyJUQwJUIwJUQxJTgyJUQxJThDJTIwJUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQwJUI1JTIwJUQwJUI4JUQwJUI3JTIwJUQxJTgyJUQwJUIwJUQwJUIxJUQwJUJCJUQwJUI4JUQxJTg2JUQxJThCJUMyJUEwbmFzJTJDJTIwJUQxJTgzJUQwJUIxJUQwJUI1JUQwJUI0JUQwJUI4JUQwJUJDJUQxJTgxJUQxJThGJTIwJUQxJTg3JUQxJTgyJUQwJUJFJTIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUJBJUQwJUI4JTIwJUQwJUJEJUQwJUI4JUQwJUI2JUQwJUI1JTIwJUQwJUJEJUQwJUI1JTIwJUQwJUI3JUQwJUIwJUQwJUJBJUQwJUJFJUQwJUJDJUQwJUI1JUQwJUJEJUQxJTgyJUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQxJThCJTNB

  • read_clients = yes
  • client_table = "nas"

JUQwJTkyJUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI1JUQwJUJEJUQwJUJEJUQxJThCJUQwJUI5JTIwU1FMJTIwJUQwJUJDJUQwJUJFJUQwJUI0JUQxJTgzJUQwJUJCJUQxJThDJTIwJUQwJUI4JTIwJUQwJUJGJUQxJTgwJUQwJUI4JUQwJUJDJUQwJUI1JUQwJUJEJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUJFJUQwJUJFJUQxJTgyJUQwJUIyJUQwJUI1JUQxJTgyJUQxJTgxJUQxJTgyJUQwJUIyJUQxJTgzJUQxJThFJUQxJTg5JUQwJUI4JUQwJUI1JTIwJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUIwJTIwJUQwJUJEJUQwJUIwJTIwJUQwJUJEJUQwJUI1JUQwJUIzJUQwJUJFJTNB

bG4lMjAtcyUyMCUyRmV0YyUyRmZyZWVyYWRpdXMlMkYzLjAlMkZtb2RzLWF2YWlsYWJsZSUyRnNxbCUyMCUyRmV0YyUyRmZyZWVyYWRpdXMlMkYzLjAlMkZtb2RzLWVuYWJsZWQlMkY=
chown freerad:freerad /etc/freeradius/3.0/mods-enabled/sql

JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI3JUQwJUIwJUQwJUJGJUQxJTgzJUQxJTgxJUQwJUJBJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUJCJUQxJTgzJUQwJUI2JUQwJUIxJUQxJTgzJTIwcmFkaXVzJTNB

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

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

DaloRADIUS — это продвинутый веб-сервер RADIUS, предназначенный для управления точками доступа и развертываниями интернет-провайдеров.

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

YXB0LWdldCUyMGluc3RhbGwlMjBhcGFjaGUyJTIwYXBhY2hlMi11dGlscyUyMHBocDcuNCUyMGxpYmFwYWNoZTItbW9kLXBocDcuNCUyMHBocDcuNC0lN0JjdXJsJTJDZ2QlMkNjb21tb24lMkNteXNxbCUyQ21ic3RyaW5nJTJDeG1sJTdEJTIwcGhwLWdkJTIwcGhwLWRiJTIwcGhwLW1haWwlMjBwaHAtbWFpbC1taW1lJTIwZ2l0JTIwLXk=

Загружаем daloRADIUS из репозитория github:

cd /var/www
Z2l0JTIwY2xvbmUlMjBodHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZsaXJhbnRhbCUyRmRhbG9yYWRpdXMuZ2l0
Y2QlMjBkYWxvcmFkaXVzJTJG

JUQwJTk4JUQwJUJDJUQwJUJGJUQwJUJFJUQxJTgwJUQxJTgyJUQwJUI4JUQxJTgwJUQxJTgzJUQwJUI1JUQwJUJDJTIwJUQwJUJEJUQwJUI1JUQwJUJFJUQwJUIxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJUQxJThCJUQwJUI1JTIwJUQxJTgxJUQxJTg1JUQwJUI1JUQwJUJDJUQxJThCJTIwJUQwJUIyJTIwJUQxJTgwJUQwJUIwJUQwJUJEJUQwJUI1JUQwJUI1JTIwJUQxJTgxJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQxJTgzJUQxJThFJTIwJUQwJUIxJUQwJUIwJUQwJUI3JUQxJTgzJTIwJUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQxJTg1JTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwRnJlZVJBRFVJUyUzQQ==

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

Проверим что база данных (radius), была расширена дополнительными таблицами daloRADUIS:

SQL
bWFyaWFkYiUyMC1lJTIwJTIydXNlJTIwcmFkaXVzJTNCc2hvdyUyMHRhYmxlcyUzQiUyMg==
+------------------------+
| Tables_in_radius       |
JTJCLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJTJC
JTdDJTIwYmF0Y2hfaGlzdG9yeSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
JTdDJTIwYmlsbGluZ19oaXN0b3J5JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
| billing_merchant       |
JTdDJTIwYmlsbGluZ19wYXlwYWwlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0M=
JTdDJTIwYmlsbGluZ19wbGFucyUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
| billing_plans_profiles |
| billing_rates          |
JTdDJTIwY3VpJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
JTdDJTIwZGljdGlvbmFyeSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
JTdDJTIwaG90c3BvdHMlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0M=
JTdDJTIwaW52b2ljZSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
JTdDJTIwaW52b2ljZV9pdGVtcyUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
| invoice_status         |
| invoice_type           |
| nas                    |
JTdDJTIwbm9kZSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
| operators              |
JTdDJTIwb3BlcmF0b3JzX2FjbCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
JTdDJTIwb3BlcmF0b3JzX2FjbF9maWxlcyUyMCUyMCUyMCUyMCU3Qw==
JTdDJTIwcGF5bWVudCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
| payment_type           |
JTdDJTIwcHJveHlzJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
JTdDJTIwcmFkYWNjdCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
JTdDJTIwcmFkY2hlY2slMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0M=
| radgroupcheck          |
| radgroupreply          |
| radhuntgroup           |
JTdDJTIwcmFkaXBwb29sJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
JTdDJTIwcmFkcG9zdGF1dGglMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0M=
JTdDJTIwcmFkcmVwbHklMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0M=
JTdDJTIwcmFkdXNlcmdyb3VwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
| realms                 |
| userbillinfo           |
JTdDJTIwdXNlcmluZm8lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0M=
JTdDJTIwd2ltYXglMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0M=
+------------------------+

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

Y3AlMjAlMkZ2YXIlMkZ3d3clMkZkYWxvcmFkaXVzJTJGYXBwJTJGY29tbW9uJTJGaW5jbHVkZXMlMkZkYWxvcmFkaXVzLmNvbmYucGhwLnNhbXBsZSUyMGFwcCUyRmNvbW1vbiUyRmluY2x1ZGVzJTJGZGFsb3JhZGl1cy5jb25mLnBocA==

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
JTI0Y29uZmlnVmFsdWVzJTVCJ0NPTkZJR19EQl9FTkdJTkUnJTVEJTIwJTNEJTIwJ215c3FsaSclM0I=
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'radpass';
JTI0Y29uZmlnVmFsdWVzJTVCJ0NPTkZJR19EQl9OQU1FJyU1RCUyMCUzRCUyMCdyYWRpdXMnJTNC

JUQwJUExJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJEJUQwJUI1JUQwJUJFJUQwJUIxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJUQxJThCJUQwJUI1JTIwJUQxJTgwJUQwJUIwJUQwJUIxJUQwJUJFJUQxJTg3JUQwJUI4JUQwJUI1JTIwJUQwJUJBJUQwJUIwJUQxJTgyJUQwJUIwJUQwJUJCJUQwJUJFJUQwJUIzJUQwJUI4JTIwJUQwJUI4JTIwJUQwJUJGJUQxJTgwJUQwJUI4JUQwJUJDJUQwJUI1JUQwJUJEJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQwJUJBJTIwJUQwJUJEJUQwJUI4JUQwJUJDJTIwJUQxJTgxJUQwJUJFJUQwJUJFJUQxJTgyJUQwJUIyJUQwJUI1JUQxJTgyJUQxJTgxJUQxJTgyJUQwJUIyJUQxJTgzJUQxJThFJUQxJTg5JUQwJUI4JUQwJUI1JTIwJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUIwJTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQwJUIwJTNB

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

Y2hvd24lMjAtUiUyMHd3dy1kYXRhJTNBd3d3LWRhdGElMjAlMkZ3d3clMkZkYWxvcmFkaXVzJTJGdmFy
chmod -R 775 /www/daloradius/var

JUQwJTlGJUQwJUJFJUQxJTgwJUQxJTgyJUQwJUIwJUQwJUJCJTIwb3BlcmF0b3JzJTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQwJUI1JUQxJTgyJTIwJUQxJTgwJUQwJUIwJUQwJUIxJUQwJUJFJUQxJTgyJUQwJUIwJUQxJTgyJUQxJThDJTIwJUQwJUJEJUQwJUIwJTIwJUQwJUJGJUQwJUJFJUQxJTgwJUQxJTgyJUQxJTgzJTIwODAwMCUyQyUyMCVEMCVCMCUyMHVzZXJzJTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQwJUI1JUQxJTgyJTIwJUQxJTgwJUQwJUIwJUQwJUIxJUQwJUJFJUQxJTgyJUQwJUIwJUQxJTgyJUQxJThDJTIwJUQwJUJEJUQwJUIwJTIwODAlMkMlMjAlRDAlQjIlMjAlRDElODQlRDAlQjAlRDAlQjklRDAlQkIlRDAlQjUlMjAlRDAlQkElRDAlQkUlRDAlQkQlRDElODQlRDAlQjglRDAlQjMlRDElODMlRDElODAlRDAlQjAlRDElODYlRDAlQjglRDAlQjglMjAlRDAlQkYlRDAlQkUlRDElODAlRDElODIlRDAlQkUlRDAlQjIlMjAlMkZldGMlMkZhcGFjaGUyJTJGcG9ydHMuY29uZiUyMCVEMCVCRSVEMCVCMSVEMSU4QSVEMSU4RiVEMCVCMiVEMCVCQiVEMSU4RiVEMCVCNSVEMCVCQyUyMCVEMSU4MSVEMCVCQiVEMSU4MyVEMSU4OCVEMCVCMCVEMSU4MiVEMSU4QyUyMCVEMCVCNCVEMCVCRSVEMCVCRiVEMCVCRSVEMCVCQiVEMCVCRCVEMCVCOCVEMSU4MiVEMCVCNSVEMCVCQiVEMSU4QyVEMCVCRCVEMSU4QiVEMCVCOSUyMCVEMCVCRiVEMCVCRSVEMSU4MCVEMSU4MiUyMCVFMiU4MCU5NCUyMDgwMDAlM0E=

/etc/apache2/ports.conf
# If you just change the port or add more ports here, you will likely also
JTIzJTIwaGF2ZSUyMHRvJTIwY2hhbmdlJTIwdGhlJTIwVmlydHVhbEhvc3QlMjBzdGF0ZW1lbnQlMjBpbg==
JTIzJTIwJTJGZXRjJTJGYXBhY2hlMiUyRnNpdGVzLWVuYWJsZWQlMkYwMDAtZGVmYXVsdC5jb25m

Listen 80
TGlzdGVuJTIwODAwMA==

<IfModule ssl_module>
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwTGlzdGVuJTIwNDQz
JTNDJTJGSWZNb2R1bGUlM0U=

JTNDSWZNb2R1bGUlMjBtb2RfZ251dGxzLmMlM0U=
        Listen 443
JTNDJTJGSWZNb2R1bGUlM0U=

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

cat << EOF > /etc/apache2/sites-available/daloradius_operators.conf
<VirtualHost *:8000>
JTIwJTIwJTIwJTIwRG9jdW1lbnRSb290JTIwJTJGdmFyJTJGd3d3JTJGZGFsb3JhZGl1cyUyRmFwcCUyRm9wZXJhdG9ycw==

JTIwJTIwJTIwJTIwRXJyb3JMb2clMjAlNUMlMjQlN0JBUEFDSEVfTE9HX0RJUiU3RCUyRmRhbG9yYWRpdXNfb3BlcmF0b3JzLmVycm9yLmxvZw==
JTIwJTIwJTIwJTIwQ3VzdG9tTG9nJTIwJTVDJTI0JTdCQVBBQ0hFX0xPR19ESVIlN0QlMkZkYWxvcmFkaXVzX29wZXJhdG9ycy5hY2Nlc3MubG9nJTIwY29tYmluZWQ=

JTIwJTIwJTIwJTIwJTNDRGlyZWN0b3J5JTIwJTJGdmFyJTJGd3d3JTJGZGFsb3JhZGl1cyUyRmFwcCUyRm9wZXJhdG9ycyUzRQ==
        Options -Indexes +FollowSymLinks
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwQWxsb3dPdmVycmlkZSUyME5vbmU=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwUmVxdWlyZSUyMGFsbCUyMGdyYW50ZWQ=
JTIwJTIwJTIwJTIwJTNDJTJGRGlyZWN0b3J5JTNF

    <Directory /var/www/daloradius>
        Require all denied
    </Directory>
</VirtualHost>
RU9G
cat << EOF > /etc/apache2/sites-available/daloradius_users.conf
<VirtualHost *:80>
    DocumentRoot /var/www/daloradius/app/users

JTIwJTIwJTIwJTIwRXJyb3JMb2clMjAlNUMlMjQlN0JBUEFDSEVfTE9HX0RJUiU3RCUyRmRhbG9yYWRpdXNfdXNlcnMuZXJyb3IubG9n
JTIwJTIwJTIwJTIwQ3VzdG9tTG9nJTIwJTVDJTI0JTdCQVBBQ0hFX0xPR19ESVIlN0QlMkZkYWxvcmFkaXVzX3VzZXJzLmFjY2Vzcy5sb2clMjBjb21iaW5lZA==

    <Directory /var/www/daloradius/app/users>
        Options -Indexes +FollowSymLinks
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwQWxsb3dPdmVycmlkZSUyME5vbmU=
        Require all granted
JTIwJTIwJTIwJTIwJTNDJTJGRGlyZWN0b3J5JTNF

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

Отключаем сайт по-умолчанию, включаем созданные виртуальные хосты и перезапускаем службу apache:

YTJkaXNzaXRlJTIwMDAwLWRlZmF1bHQ=
a2ensite daloradius_users.conf daloradius_operators.conf
c3lzdGVtY3RsJTIwcmVzdGFydCUyMGFwYWNoZTI=

Система будет доступна по следующим адресам:

  • 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.

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

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