Метки: linux, mikrotik, radius, debian, tinkerboard, логирование, daloRADIUS, routerboard
Авторизация через радиус на MikroTik, с помощью Asus Tinker Board и Debian 9.12(посмотреть версию софта можно `lsb_release -a`).
/radius add address=192.168.10.50 secret=Test1234 service=login src-address=192.168.10.1 disabled=no
/user aaa set use-radius=yes
address = 192.168.10.50
— это ip, где установлен наш радиус серверsrc-address=192.168.10.1
— это ip откуда будет идти обращение на сервер
apt -y install freeradius freeradius-mysql freeradius-utils
У меня подсеть на МикроТике 192.168.0.0/16,
Добавляем в /etc/freeradius/3.0/clients.conf
client 192.168.0.0/16 {
secret = test1234
shortname = Network_Devices
}
Клиенты с из сети 192.168.1.0/16 авторизируютя на RADIUS-е с паролем test1234
. Имя Network_Devices
будет использована при логировании событий, связанных с этой сетью.
Затем, добавляем в /etc/freeradius/3.0/dictionary.
Всю актуальную информацию по Mikrotik словарю можно найти по этой ссылке.
VENDOR Mikrotik 14988
BEGIN-VENDOR Mikrotik
ATTRIBUTE Mikrotik-Recv-Limit 1 integer
ATTRIBUTE Mikrotik-Xmit-Limit 2 integer
ATTRIBUTE Mikrotik-Group 3 string
ATTRIBUTE Mikrotik-Wireless-Forward 4 integer
ATTRIBUTE Mikrotik-Wireless-Skip-Dot1x 5 integer
ATTRIBUTE Mikrotik-Wireless-Enc-Algo 6 integer
ATTRIBUTE Mikrotik-Wireless-Enc-Key 7 string
ATTRIBUTE Mikrotik-Rate-Limit 8 string
ATTRIBUTE Mikrotik-Realm 9 string
ATTRIBUTE Mikrotik-Host-IP 10 ipaddr
ATTRIBUTE Mikrotik-Mark-Id 11 string
ATTRIBUTE Mikrotik-Advertise-URL 12 string
ATTRIBUTE Mikrotik-Advertise-Interval 13 integer
ATTRIBUTE Mikrotik-Recv-Limit-Gigawords 14 integer
ATTRIBUTE Mikrotik-Xmit-Limit-Gigawords 15 integer
ATTRIBUTE Mikrotik-Wireless-PSK 16 string
ATTRIBUTE Mikrotik-Total-Limit 17 integer
ATTRIBUTE Mikrotik-Total-Limit-Gigawords 18 integer
ATTRIBUTE Mikrotik-Address-List 19 string
ATTRIBUTE Mikrotik-Wireless-MPKey 20 string
ATTRIBUTE Mikrotik-Wireless-Comment 21 string
ATTRIBUTE Mikrotik-Delegated-IPv6-Pool 22 string
ATTRIBUTE Mikrotik-DHCP-Option-Set 23 string
ATTRIBUTE Mikrotik-DHCP-Option-Param-STR1 24 string
ATTRIBUTE Mikrotik-DHCP-Option-Param-STR2 25 string
ATTRIBUTE Mikrotik-Wireless-VLANID 26 integer
ATTRIBUTE Mikrotik-Wireless-VLANIDtype 27 integer
ATTRIBUTE Mikrotik-Wireless-Minsignal 28 string
ATTRIBUTE Mikrotik-Wireless-Maxsignal 29 string
ATTRIBUTE Mikrotik-Switching-Filter 30 string
# MikroTik Values
VALUE Mikrotik-Wireless-Enc-Algo No-encryption 0
VALUE Mikrotik-Wireless-Enc-Algo 40-bit-WEP 1
VALUE Mikrotik-Wireless-Enc-Algo 104-bit-WEP 2
VALUE Mikrotik-Wireless-Enc-Algo AES-CCM 3
VALUE Mikrotik-Wireless-Enc-Algo TKIP 4
VALUE Mikrotik-Wireless-VLANIDtype 802.1q 0
VALUE Mikrotik-Wireless-VLANIDtype 802.1ad 1
END-VENDOR Mikrotik
Теперь создаем пользователя в etc/freeradius/3.0/users:
"test" Cleartext-Password := "test123"
MikroTik-Group := "read"
Перезагружаем сервис Freeradius
/etc/init.d/freeradius restart
Посмотреть статус Freeradius
/etc/init.d/freeradius status
Но так как нигде нельзя посмотреть кто и куда заходил, мне посоветовали попробовать Daloradius -это веб-инструмент управления RADIUS, написанный на PHP.
Установим с начала сервер базы данных(MariaDB)
apt -y install mariadb-server mariadb-client
Вводим:
mysql_secure_installation
Везде прожмакиваем «YES»
После установки создаем базу данных и пользователя для FreeRADIUS / daloRADIUS.
Убедиться , что пользователь базы данных радиуса может получить доступ к базе данных.
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.0.33-0+deb9u7 (cli) (built: Feb 16 2020 15:11:40) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.33-0+deb9u7, Copyright (c) 1999-2017, by Zend Technologies
Чтобы настроить 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, изменив параметры подключения к базе данных в соответствии со средой:
nano /etc/freeradius/3.0/mods-enabled/sql
Раздел 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.
nano /var/www/html/daloradius/library/daloradius.conf.php
Установите имя базы данных, пользователя и пароль для подключения.
Чтобы убедиться, что все работает, перезапустим сервисы radius и apache2.
systemctl restart freeradius.service apache2
Доступ к Radius-server через веб-интерфейс Daloradius
Веб-интерфейс управления daloRADIUS доступен по адресу http://server_ip_или_hostname/daloradius.
Данные для входа по умолчанию:
Username: administrator
Password: radius
Была ошибка при входе "ошибка 500 Internal Server Error" при попытке отобразить http://192.168.1.20/daloradius/dologin.php
PHP Fatal error: Uncaught Error: Class ‘DB’ not found
Выполнил команду
pear install DB
И это решило проблему.
Добавляем MikroTik-Group в таблицу SQL
Войдите на ваш сервер freeRADIUS с пользователем root.
Теперь войдите на ваш сервер MariaDB и выберите базу данных radius.
mysql -uroot -pXXXXXX radius
Чтобы отобразить доступные столбцы в таблице radgroupreply, введите следующую команду
Чтобы создать группу full,write,read введите команду ниже.
MariaDB [radius]> insert into radgroupreply (groupname,attribute,op,value) values ("fullaccess","Mikrotik-Group",":=","full");
MariaDB [radius]> insert into radgroupreply (groupname,attribute,op,value) values ("writeaccess","Mikrotik-Group",":=","write");
MariaDB [radius]> insert into radgroupreply (groupname,attribute,op,value) values ("readaccess","Mikrotik-Group",":=","read");
Чтобы отобразить все записи в таблице radgroupreply, введите команду.
Три группы с атрибутом ответа были успешно созданы
Вставьте пользователя freeRADIUS в таблицу Radcheck
Чтобы вставить пользователя bob, введите следующую команду.
MariaDB [radius]> insert into radcheck (username,attribute,op,value) values ("bob","Cleartext-Password",":=","passme");
Чтобы отобразить все записи в таблице radcheck, введите следующую команду.
Чтобы отобразить пользователя bob в группу fullaccess, введите следующую команду
MariaDB [radius]> insert into radusergroup (username,groupname,priority) values ("bob","fullaccess",10);
Чтобы просмотреть все записи, введите следующую команду.
Добавление пользователя в группу завершено.
PS. Полезная информация и ссылочки
Настройка радиуса, ссылка хабр, доп ссылка, ссылка 2, ссылка 3
Настройка FreeRADIUS и Daloradius, ссылка 2
Добавление пользователя в Daloradius, ссылка 2
Проблема с SQL, ссылка 2
Полезная презентация
PhpMyadmin
Переустановк
В данной статье хотелось бы затронуть мобильную тематику в популярной RouterOS, а именно подключение 3G/4G(LTE) модемов к роутерам компании MikroTik
Продолжить Чтение...Развернутая инструкция по настройке nginx, Gunicorn и SSL для вашего Django проекта в продакшене.
Продолжить Чтение...Кратчайшая минималистичная инструкция по сборке кластера на ESXI и немного про резервирование
Продолжить Чтение...