для начала обновляем пакеты
apt update
apt upgrade
Устанавливаем PHP
apt install php5 libapache2-mod-php5 php5-mysql php5-gd php-pear php-db
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 .