RADIUS сервер
RADIUS (Remote Authentication in Dial-In User Service) — протокол для реализации протокола AAA (аутентификации (Authentication), авторизации (Authorization) и сбора сведений об использованных ресурсах (Accounting)), разработанный для передачи сведений между сервером и клиентским оборудованием. Используется, например, при аутентификации пользователей wi-fi, Раздел VPN: Что это такое VPN, в прошлом, dialup-подключений, и других подобных случаях. Описан в стандартах RFC 2865 и RFC 2866.
Протокол RADIUS согласно стандарту:
- Базируется на UDP протоколе.
iptables -A INPUT -p udp -m multiport --dport 1812,1813 -j ACCEPT
- Без состояний (stateless)
- Предоставляет более 50 пар атрибут/значение с возможностью создавать специфичные для производителя пары
Существует несколько реализация RADIUS серверов, ниже некоторые из них
- Internet Authentication Service (IAS) встроенный в Windows Server.
- FreeRADIUS. Сборка под Windows: FreeRADIUS.net
Инсталляция FreeRADIUS
FreeRADIUS в связке с MySQL
Web интрефейсы для управления пользователями FreeRADIUS
- Инсталлируем
aptitude install freeradius freeradius-mysql
- Сделаем резервную копию конфигурационных файлов
cp -r /etc/freeradius /etc/freeradius.backup
Создадим базу данных radius, пользователя и таблицы
mysql -uroot -p mysql> create database radius; GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'your_password'; mysql -uroot -p radius < /etc/freeradius/sql/mysql/schema.sql mysql -uroot -p radius < /etc/freeradius/sql/mysql/nas.sql
Создадим тестового пользователя
INSERT INTO radcheck (UserName, Attribute, VALUE) VALUES ('myuser', 'Password', 'mypassword');
Правим настройки Движок БД MySQL для сервера radius в файле /etc/freeradius/sql.conf.
database = "mysql" login = "radius" password = "password" readclients = yes
Далее в файле /etc/freeradius/sites-enabled/default и файле inner-tunnel указываем, что сервер radius должен подключаться к MYSQL.
# See "Authorization Queries" in sql.conf sql # See "Accounting queries" in sql.conf sql # See "Simultaneous Use Checking Queries" in sql.conf sql # See "Authentication Logging Queries" in sql.conf sql
в /etc/freeradius/radiusd.conf раскоментируем строку в секции modules, тем самым включая поддержку MYSQL в radius
$INCLUDE sql.conf
Тестируем, что получилось
/etc/init.d/freeradius stop freeradius -X
- Тест из консоли как для внешнего устройства
radtest usertest testpw 192.168.10.10 0 423966 Sending Access-Request of id 94 to 192.168.10.10 port 1812 User-Name = "usertest" User-Password = "testpw" NAS-IP-Address = 127.0.1.1 NAS-Port = 0 Message-Authenticator = 0x00000000000000000000000000000000 rad_recv: Access-Accept packet from host 192.168.10.10 port 1812, id=94, length=20
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах