
Управлять сетью сложно, пока у каждого устройства свои логины и правила. Десятки точек доступа, роутеров, шлюзов — и админ превращается в архивариуса паролей. Менять доступ сотруднику? Делать это на каждом устройстве. Отключить уволенного? То же самое, только наоборот. Ошибиться легко.
Но решение существует давно — централизованная авторизация через RADIUS. Один сервер знает все: кто подключается, к чему имеет доступ и что делает в сети.
Я Лев, специалист продуктовой поддержки в Selectel. В этой статье расскажу, как работает RADIUS, за что отвечает AAA и как развернуть свой сервер на базе FreeRADIUS в облаке — от установки до интеграции с оборудованием MikroTik.
Используйте навигацию, если не хотите читать текст полностью:
Что такое RADIUS
RADIUS (Remote Authentication Dial-In User Service) — классический сетевой протокол, который лежит в основе систем контроля доступа. Проще говоря, это «привратник» вашей сети: проверяет, кто вы, что вам разрешено, и фиксирует все действия. И снова говоря чуть сложнее — решает три ключевые функции, известные как AAA.
Authentication (аутентификация) — проверяет легитимность пользователя, сверяя логин и пароль с базой данных. Поддерживает простые методы вроде PAP, а также более безопасные CHAP и EAP.
Authorization (авторизация) — определяет, к каким ресурсам и сервисам пользователь получает доступ после успешной аутентификации.
Accounting (учет) — ведет журнал всех сессий: когда пользователь вошел, сколько времени провел, сколько трафика израсходовал. Эта информация используется для биллинга, аудита и анализа.
Зачем он нужен и где используется
Главная цель RADIUS — централизация управления доступом. Вместо того чтобы хранить списки пользователей на каждом маршрутизаторе или точке доступа, вы настраиваете один центральный сервер (или кластер), который знает все обо всех. Это повышает безопасность и упрощает администрирование.
Рассмотрим типичные сценарии использования протокола.
Корпоративный Wi-Fi — подключение сотрудников к защищенной сети по единым учетным данным.
VPN-доступ — аутентификация пользователей, подключающихся к корпоративной инфраструктуре извне.
DSL-подключения — исторически один из первых сценариев использования, который применяли интернет-провайдеры.

30+ бесплатных курсов на IT-темы в Академии Selectel
Для начинающих и опытных специалистов.
Материал подготовлен исключительно в образовательных целях. Описанные способы настройки VPN не предназначены для обхода блокировок или иных ограничений, установленных законодательством РФ.
Как работает RADIUS на практике
Когда устройство или пользователь пытаются подключиться к сети, клиент — например, точка доступа, маршрутизатор или VPN-шлюз — обращается к RADIUS-серверу. Обмен строится на трех типах сообщений:
Access-Request — клиент отправляет запрос с данными пользователя (логин, пароль, MAC-адрес, IP и т. д.);
Access-Accept / Access-Reject — сервер сверяет данные с базой и сообщает, разрешен ли доступ;
Accounting-Start / Accounting-Stop — при начале и завершении сессии сервер фиксирует детали соединения для учета и статистики.
Так RADIUS объединяет безопасность и контроль: администратору не нужно вручную вести учет и проверку, а все события централизуются на одном сервере.
Но как именно сервер принимает решение? На уровне пакетов после Access-Request происходит не просто проверка логина и пароля. Сервер может отправить клиенту Access-Challenge — запрос на дополнительную аутентификацию, например, по одноразовому коду. Это делает схему безопасности гибкой и многофакторной.
Где развернуть RADIUS-сервер, способный обрабатывать такие сценарии? RADIUS можно запустить на собственных мощностях — например, в дата-центре компании, однако этот вариант подойдет не для каждого. Альтернативный сценарий — запуск в облаке.
В инфраструктуре Selectel есть готовые инструменты, которые позволяют быстро развернуть RADIUS-сервис и интегрировать его с существующей сетью. Разберемся, как это сделать на практике.

RADIUS-сервер в облаке
В примере поднимем RADIUS-сервер в облаке Selectel, добавим тестового пользователя и подключим виртуальный MikroTik.1. В панели управленияпереходим во вкладку Продукты → Облачные серверы и нажимаем кнопку Создать сервер.


2. Конфигурируем облачный сервер: прописываем имя и выбираем регион с пулом, ОС — Ubuntu 20.04, 1 vCPU, 2 ГБ ОЗУ и 15 ГБ хранилища (будет достаточно базового HDD-диска).

3. В разделе Сеть выбираем Новый публичный IP-адрес и включаем DHCP.

4. Ознакамливаемся с ценой конфигурации и нажимаем Создать сервер.

Подробная инструкция по подключению и работе с серверами — в документации Selectel.
Установка и базовая настройка RADIUS
1. Обновляем репозитории:
sudo apt update && apt upgrade -y
2. Устанавливаем RADIUS-сервис:
sudo apt install freeradius freeradius-utils -y

3. Переходим в директорию конфигурации:
cd /etc/freeradius/3.0

4. Открываем файл клиентов (clients.conf):
nano clients.conf
Внутри — закомментируем строки для localhost:
client localhost
ipaddr
proto
secret
6. Добавляем тестового клиента (пример):
client localhost {
ipaddr = 127.0.0.1
secret = testing123
require_message_authenticator = no
nastype = other
}
7. Сохраняем изменения (Ctrl+O), выходим из файла (Ctrl+X) и открываем файл пользователей:
nano users
8. Находим строки с тестовым логином bob:

И ниже добавляем нашего пользователя, например:

#bob Cleartext-Password := "hello"
# Reply-Message := "Hello, %{User-Name}"
#
#
radius Cleartext-Password := "Selectel"
Reply-Message = "Hello, %{User-Name}"
Проверка RADIUS-сервера
1. Запускаем FreeRADIUS в отладочном режиме:
sudo freeradius -X
Если ошибок нет — останавливаем проверку (Ctrl+C).
2. Запускаем службу и включаем автозапуск:
sudo systemctl start freeradius
sudo systemctl enable freeradius
3. Проверяем состояние:
sudo systemctl status freeradius

4. Запускаем тестовый RADIUS-сервис и убеждаемся, что он работает:

Настройка RADIUS-клиента
Теперь настроим RADIUS-клиент на основе виртуального MikroTik.
1. На официальном сайте MikroTik переходим в раздел Cloud Hosted Router и скачиваем актуальный образ Raw disk image, в нашем случае — 7.20.2 Stable.

2. Переходим в панель, загружаем скачанный образ и создаем из него облачный сервер. Подробнее, как это сделать — на отдельной странице документации.


3. Подключаемся к новому серверу через встроенную панель или по внешнему IP-адресу.
4.Логин — admin, пароль — не установлен, просто нажимаем Enter.

5. Выполняем настройку аутентификации пользователей:
/user aaa set use-radius=yes
6. Создаем клиента на MikroTik:
/radius add address=192.168.1.26 secret=Selectel service=login,hotspot,ppp,wireless timeout=10s
После создания клиента важно вернуться на RADIUS-сервер и добавить адрес MikroTik в файл clients.conf:

7. Перезапускаем службу:
sudo systemctl restart freeradius
8. Проверяем авторизацию — если все указано верно, вход будет успешным:


Важно. По умолчанию мы создали пользователя c правами read. Чтобы выдать права full, в терминале MikroTik выполните команду:
/user aaa set use-radius=yes default-group=full
Что получилось
Мы развернули FreeRADIUS на облачном сервере Ubuntu, добавили тестового пользователя и подключили к серверу виртуальный MikroTik. Теперь у нас есть:
централизованное управление пользователями — все учетные данные хранятся на одном сервере;
масштабируемость — можно подключить десятки точек доступа, коммутаторов и шлюзов;
базовый аудит — FreeRADIUS ведет логи всех входов и попыток авторизации.
Рекомендации перед внедрением в прод
Замените секреты
testing123иSelectelна криптостойкие строки.Настройте файрвол: разрешите UDP-порты 1812/1813 только с IP-адресов доверенных клиентов.