Найти в Дзене
Linux | Network | DevOps

Установка сервера Freeradius с веб-интерфейсом Daloradius на Ubuntu

для начала обновляем пакеты

apt update
apt upgrade

Устанавливаем PHP

apt install php5 libapache2-mod-php5 php5-mysql php5-gd php-pear php-db

устанавливаем mysql :

apt install mariadb-server mariadb-client

Устанавливаем Freeradius и пакет для интеграции с mysql:

apt install freeradius
apt install freeradius-mysql

подключаемся к mysql, создаем базу данных и пользователя :

#mysql -u root -p
CREATE DATABASE radius_DB;
CREATE USER 'radius'@'%' IDENTIFIED BY 'password';
GRANT ALL ON radius_DB.* TO 'radius'@'%'
flush privileges;
exit

загружаем схему:

mysql -uradius -p radius_DB < /etc/freeradius/sql/mysql/schema.sql

настраиваем конфиг /etc/freeradius/sql.conf:

# Connection info:
server = "localhost"
port = 3306
login = "radius" # пользователь БД
password = "password" # пароль к БД
radius_db = "radius_DB" # название БД

В /etc/freeradius/radiusd.conf раскомментируем:

$INCLUDE sql.conf

Далее включаем авторизацию через sql. Для этого раскомментируем опцию sql в следующем файле:
/etc/freeradius/sites-available/default (разделы authorize, accounting, session)

Должно прийти к виду :

Uncomment sql on authorize{}
# See “Authorization Queries” in sql.conf
sql
...
Uncomment sql on accounting{}
# See “Accounting queries” in sql.conf
sql
...
Uncomment sql on session{}
# See “Simultaneous Use Checking Queries” in sql.conf
sql
...
Uncomment sql on post-auth{}
# See “Authentication Logging Queries” in sql.conf
sql
...

Далее добавляем клиентов . Клиенты для RADIUS-сервера — это устройства, которые отправляют ему информацию о подключениях (их еще называют NAS — Network Access Server). Добавляем в /etc/freeradius/clients.conf:

client 192.168.1.0/24 {
secret = secret
nastype = other
}

Вместо 192.168.1.0/24 может быть конкретный Ip или dns-имя (оно должно резолвиться сервером)
secret — это ключ, который сообщает клиент
nastype может быть, например, cisco, но почти всегда работает other, если не нужно поддержки специфических расширений

для траблшутинга freeradius используем команды :

service freeradius stop # останавливаем freeradius
freeradius -X - debug mode # запускаем в режиме дебаг

Устанавливаем DaloRadius:

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

Импортируем таблицы:

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

Переносим в папку /var/www/html/

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

Если работаем не из под рута , то правим пермишины :

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

Далее правим конфиг веб интерфейса /var/www/daloradius/library/daloradius.conf.php :

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

Перезагружаем freeradius и apache2:

sudo systemctl restart freeradius.service apache2

теперь вебинтерфейс daloradius должен быть доступен по адресу :

http://ip-address/daloradius/login.php

стандартный логин administrator , пароль radius .