Здесь будет рассмотрено как установить Radius-сервер FreeRadius с веб интерфейсом Daloradius
Установка пакетов
1. Перед установкой обновляем все пакеты в системе
2. Установим Apache2 и PHP
Модули php5-gd php-pear php-db необходимы для работы веб интерфейса Daloradius
3. Устанавливаем Mysql сервер
4. Устанавливаем FreeRadius
5. Устанавливаем пакет freeradius-mysql
Настройки MySQL
1. Подключаемся к серверу Mysql
2. Далее создаем базу данных radius
3. Назначим полные права пользователю radius
4. Отключаемся от Mysql
5. Импортируем таблицы в базу данных radius
6. Для проверки добавим тестовые значения в таблицу radcheck
7. Теперь нужно добавить Radius клиентов в файл /etc/freeradius/clients.conf
Пример добавления:
Настройка конфигов
1.Открываем файл настроек Freeradius для MySQL
Расположение файла — /etc/freeradius/sql.conf
Редактируем строки до такого вида:
2.Далее открываем файл сайта Freeradius
Расположение файла — /etc/freeradius/sites-enabled/default
Приводим следующие строки к виду:
3.Далее правим основной конфигурационный файл Freeradius и включаем поддержку Mysql
Расположение файла — /etc/freeradius/radiusd.conf
Тест RADIUS-сервера
1. Откройте 2 ssh окна терминала.
В первом окне остановим сервис Freeradius
2. И запустим сервис в режиме debug
3. Теперь открываем второе окно терминала и вводим запрос
Если вывод команды такой:
То все в порядке.
Установка веб интерфейс DaloRadius
1. Скачиваем последнюю версию ПО
2. Распаковываем в текущий каталог
3. Переносим в папку /var/www/
4. Импортируем таблицы в базу данных radius
5. Далее правим конфиг веб интерфейса
Расположение файла — /var/www/daloradius/library/daloradius.conf.php
Редактируем строку $configValues[‘CONFIG_DB_PASS’] = »;
В нее вводим наш пароль к БД
Должно получится так :
Если хотите использовать пользователя отличного от root измените строку
Повторение чужих шагов чтобы понять принцип работы и после уже на основе приобретенного опыта иметь свой собственный. Только так я могу учиться чему-то новому. Зачем с головой уходить в то что уже другими помногу раз используется, проще взять что-то за основу и использовать согласно своим задачам. Вот и сейчас выдалось свободное время и я решил, а почему бы не попробовать посмотреть что такое Radius — сервис, на сколько я понял это сервис на который можно завязать авторизацию на различных устройствах посредством предопределенных учетных записей и прав. Вот и попробую. Только сперва разберу как FreeRadius установить в системе вокруг которой я строю все сервисы: Ubuntu Trusty 14.04.5 Server amd64
Характеристики данной виртуальной машины: CPU = 1, RAM = 1Gb, HDD = 20Gb
$ uname -a && lsb_release -a
Linux srv-server 4.4.0-57-generic #78
14.04.1-Ubuntu SMP Sat Dec 10 00:14:47 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Не забываю указать настройки Локали:
$ sudo nano /etc/profile
Для работы сервиса FreeRadius необходимы следующие пакеты, это Apache2 & MySQL & PHP.
$ sudo apt-get install apache2 mysql-server php5 libapache2-mod-php5 php5-mysql php5-gd php-pear php-db -y
New password for the MySQL "root" user: 712mbddr@
Repeat password for the MySQL "root" user: 712mbddr@
$ sudo nano /etc/apache2/apache2.conf
Сам пакет (FreeRadius) вокруг которого строится заметка я буду устанавливать из дефолтных репозитариев:
$ apt-cache show freeradius | grep Version
$ sudo apt-get install freeradius -y
После того, как пакет установлен, в автоматическом режиме запускается демон слушающий дефолтный порт (udp/1812):
$ sudo netstat -tulpn | grep :1812
udp 0 0 127.0.0.1:18120 0.0.0.0:* 15348/freeradius
udp 0 0 0.0.0.0:1812 0.0.0.0:* 15348/freeradius
Т.к. все настройки FreeRadius удобнее хранить в базе, то вот под это дело и создаю базу данных и специализированного пользователя:
$ mysql -u root -p712mbddr@
mysql> create database dbradius character set utf8 collate utf8_general_ci;
mysql> grant all on dbradius.* to radius@localhost identified by "612mbddr@";
mysql> flush privileges;
mysql> exit;
Для связки FreeRadius и MySQL нужен пакет ориентированный на сопряжение, ставлю его (freeradius-mysql) также из дефолтных репозитариев релиза Ubuntu Trusty:
$ sudo apt-get install freeradius-mysql -y
$ sudo bash -c "mysql -u root -p712mbddr@ dbradius
$ sudo bash -c "mysql -u root -p712mbddr@ dbradius
Чтобы оценить, что FreeRadius работает, делаю как делаю в примерах интернета, а именно добавляю в таблицу radcheck такие атрибуты, как: UserName,Attribute,Value
$ mysql -u root -p712mbddr@
mysql> use dbradius;
mysql> insert into radcheck (UserName,Attribute,Value) VALUES (‘sqltest’,’Password’,’testpwd’);
mysql> exit
- insert → для добавления данных в таблицу
- values → добавление значений
Теперь нужно объяснить сервису FreeRadius все настройки брать из базы данных:
ekzorchik@srv-server:
$ sudo nano /etc/freeradius/sql.conf
Теперь приводим настройки файла сайта FreeRadius к виду:
$ sudo nano /etc/freeradius/sites-enabled/default
# See "Authorization Queries" in sql.conf
# See "Accounting queries" in sql.conf
# See "Simultaneous Use Checking Queries" in sql.conf
# See "Authentication Logging Queries" in sql.conf
Далее правим конфигурационный файл freeradius и включаем поддержку mysql:
$ sudo nano +700 /etc/freeradius/radiusd.conf
Теперь протестируем настройки сервера, для этого понадобится два консольных соединения с сервером или два окна окна терминала: В первом следует остановить демон FreeRadius и после запустить в режим отладки, а уже во втором будем посылать данные на обработку сервису дабы в первом консоли пронаблюдать как изменяется поведение сервиса.
$ sudo service freeradius stop
$ sudo freeradius -X mode
Вывод должен быть таким, как ниже.
$ radtest sqltest testpwd localhost 18128 testing123
Sending Access-Request of id 22 to 127.0.0.1 port 1812
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, >
Вывод без ошибок и статус Access-Accept.
Чтобы подключать клиентов/устройства следует изменять файл: /etc/freeradius/clients.conf
$ sudo service freeradius start
$ sudo nano /etc/freeradius/clients.conf
Теперь обернем FreeRadius Web— интерфейсом DaloRadius, не обязательно для тех кто любит управлять через консоль:
$ tar xfz daloradius-0.9-9.tar.gz
$ sudo mv daloradius-0.9-9 /var/www/html/daloradius
$ mysql -u root -p712mbddr@ dbradius
Создаю свой файл конфигурации описывающий доступ к панели Администрирования:
$ sudo unlink /etc/apache2/sites-available/000-default.conf
$ sudo unlink /etc/apache2/sites-available/default-ssl.conf
$ sudo unlink /etc/apache2/sites-enabled/000-default.conf
$ sudo nano /etc/apache2/sites-available/daloradius.conf
Alias /daloradius /var/www/html/daloradius/
$ sudo a2ensite daloradius.conf
Enabling site daloradius.
To activate the new configuration, you need to run:
service apache2 reload
$ sudo service apache2 reload
Затем правлю конфигурационный файл веб-интерфейса: — /var/www/html/daloradius/library/daloradius.conf.php
$ sudo nano /var/www/html/daloradius/library/daloradius.conf.php
В заключение не забываю поправить права доступа к каталогу Daloraius чтобы он имел такие же права с какими работает сервис apache2:
$ sudo chown -R www-data:www-data /var/www/html/daloradius/
Стандартные логин и пароль к Web-интерфейсу Daloradius → http://IP&DNS/daloradius:
- Логин — administrator
- Пароль — radius
И нажимаю на Login и вот я внутри Web-панели администрирования собственным FreeRadius сервером:
Задача выполнена, я просто повторил инструкцию из интернета, но для повторения то же нужны определенные знания.
Но если хотим изменить на привычный интерфейс, правда советую лучше разбираться с англоязычным интерфейсом чем с кривым русским, то
Изменяем язык:
Config — Global Settings — Language Settings
Primary Language — изменяем English на Russian и нажимаем Apply
В дальнейших заметках я расскажу, как настроить аутентификацию через данный Radius сервис на различных устройствах, а пока на этом все, с уважением автор блога Олло Александр aka ekzorchik.
Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:
Поблагодари автора и новые статьи
будут появляться чаще 🙂
Карта МКБ: 4432-7300-2472-8059
Yandex-деньги: 41001520055047
Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.
Установка в Ubuntu:
Добавляем radius пользователя:
Для использования mysql необходимо раскомментировать строку «$INCLUDE sql.conf»:
Редактируем имя пользователя и пароль для подключения к базе:
Раскомментирование параметров sql:
Перезапустим FreeRADIUS чтобы применить изменения:
Посмотреть запущен ли сервис можно так:
Остановка freeradius и запуск в отладочном (debug) режиме для тестирования:
Пример запуска с указанием директории с файлами конфигурации:
Через tcpdump можно ловить пакеты так:
Детальные логи настраиваются в файле detail.