Как установить FreeRADIUS и Daloradius на Debian 10 (Buster)

Как установить FreeRADIUS и Daloradius на Debian 10 (Buster)

В этом руководстве обсуждается, как установить FreeRADIUS и Daloradius на Debian 10 (Buster) Linux. RADIUS – это сетевой протокол, используемый для удаленной аутентификации, авторизации и учета пользователей. FreeRADIUS – это RADIUS-сервер с открытым исходным кодом, обычно используемый в Linux, Unix и встроенных системах.

daloRADIUS – это веб-инструмент управления RADIUS, написанный на PHP. Он был создан для упрощения управления и администрирования RADIUS-серверов и точек доступа (NAS). Он поставляется с мощной графической системой отчетности и учета, выставления счетов и расширенными функциями управления пользователями.

Наши дальнейшие действия помогут вам установить и настроить как freeRADIUS, так и daloRADIUS в Debian 10 Linux.

Обновление и подготовка ОС

apt update && sudo apt -y upgrade

Установка сервера базы данных

Мы будем использовать MariaDB, но можно использовать любой другой поддерживаемый сервер базы данных. Установите MariaDB на Debian 10.

apt -y install mariadb-server mariadb-client
mysql_secure_installation

После установки создайте базу данных и пользователя для FreeRADIUS / daloRADIUS.

$  mysql -u root -p

CREATE DATABASE radius;
GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "Strong_Radius_Password";
FLUSH PRIVILEGES;
\q

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

$ mysql -u radius -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 48
Server version: 10.3.17-MariaDB-0+deb10u1 Debian 10

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| radius             |
+--------------------+
2 rows in set (0.001 sec)

MariaDB [(none)]> QUIT
Bye

Установка веб-сервера Apache2 и PHP

apt -y install apache2
apt -y install php libapache2-mod-php php-{gd,common,mail,mail-mime,mysql,pear,mbstring,xml,curl}

Проверьте версию установленного PHP, чтобы убедиться, что установка прошла успешно.

$ php -v
PHP 7.3.9-1~deb10u1 (cli) (built: Oct 15 2019 10:33:23) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.9, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.9-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies

Установка FreeRADIUS на Debian 10

Пакеты FreeRADIUS доступны в репозиториях Debian по умолчанию. Специальной предпосылки для этой установки не существует.

Чтобы установить, просто запустите команду:

apt -y install freeradius freeradius-mysql freeradius-utils

Запустите сервис после установки:

systemctl enable --now freeradius.service

Проверим статус службы:

$ 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 Thu 2019-10-15 21:10:22 UTC; 26min ago
      Docs: man:radiusd(8)
            man:radiusd.conf(5)
            http://wiki.freeradius.org/
            http://networkradius.com/doc/
  Main PID: 15918 (freeradius)
     Tasks: 6 (limit: 4719)
    Memory: 10.6M
    CGroup: /system.slice/freeradius.service
            └─15918 /usr/sbin/freeradius
.......

Настройка FreeRADIUS на Debian 10

Чтобы настроить FreeRADIUS на использование MariaDB, выполните следующие действия.

1 – Импорт схемы базы данных Radius для заполнения базы данных радиусов:

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

2 – настроить радиус:

Сначала вы должны создать символическую ссылку для модуля SQL.

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

Сконфигурируйте модуль SQL, изменив параметры подключения к базе данных в соответствии с вашей средой:

vim /etc/freeradius/3.0/mods-enabled/sql

Раздел sql должен выглядеть примерно так:

sql {
driver = "rlm_sql_mysql"
dialect = "mysql"

# Connection info:

server = "localhost"
port = 3306
login = "radius"
password = "StrongradIusPass"

# Database table configuration for everything except Oracle

radius_db = "radius"
}

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

# Table to keep radius client info
client_table = "nas"

Затем поменяйте группу справа /etc/freeradius/3.0/mods-enabled/sql:

chgrp -h freerad /etc/freeradius/3.0/mods-available/sql 
chown -R freerad: freerad /etc/freeradius/3.0/mods-enabled/sql

Перезапустите сервис радиус:

systemctl restart freeradius

Установка и настройка Daloradius

Вы можете использовать Daloradius для управления сервером радиуса через веб-интерфейс. Это необязательная конфигурация, которую вы можете выбрать в зависимости от вашего варианта использования.

Загрузите архив релиза daloradius с Github.

apt -y install wget unzip
cd /usr/src/
wget https://github.com/lirantal/daloradius/archive/master.zip
unzip master.zip
mv daloradius-master/ daloradius
cd daloradius

Импорт таблиц Daloradius MySQL

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

Переместить папку daloradius в путь в /var/www/html

cd ..
mv daloradius /var/www/html/

Затем измените разрешения для папки http и установите правильные разрешения для файла конфигурации daloradius.

chown -R www-data:www-data /var/www/html/daloradius/
chmod 664 /var/www/html/daloradius/library/daloradius.conf.php

Теперь вы должны изменить файл daloradius.conf.php, чтобы настроить информацию базы данных MySQL.

vim /var/www/html/daloradius/library/daloradius.conf.php

Установите имя базы данных, пользователя и пароль для подключения.

$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'Strong_Radius_Password';
$configValues['CONFIG_DB_NAME'] = 'radius';

Чтобы убедиться, что все работает, перезапустите сервисы radius и apache2.

systemctl restart freeradius.service apache2

Доступ к Radius-server через веб-интерфейс Daloradius

Веб-интерфейс управления daloRADIUS доступен по адресу http://server _ ip _ или _ hostname/daloradius.

Данные для входа по умолчанию:
Username: administrator
Password: radius


Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.