NPS RADIUS-сервер на Windows: 802.1X, VPN и MFA без сторонних продуктов
Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. За 15+ лет я видел десятки офисов, где Wi-Fi защищён одним общим паролем, а VPN работает на локальных учётках router OS. Увольняешь сотрудника — начинается квест «меняем пароль и рассылаем всем остальным». Между тем встроенная роль Windows Server под названием NPS закрывает эти задачи бесплатно и с интеграцией в Active Directory. В статье разберу, как я всегда разворачиваю NPS для среднего офиса — с рабочими примерами политик и типовыми граблями.
Что такое NPS и какие задачи он решает
Network Policy Server — серверная роль в Windows, которая реализует протокол RADIUS и функции Network Access Protection. На практике она выступает «охранником» на границе между сетевым железом и Active Directory: коммутатор, точка доступа или VPN-сервер спрашивают NPS, можно ли пустить конкретного пользователя или устройство, и по какому VLAN его направить.
Типовой набор задач, которые мы в АйТи Фреш закрываем через NPS:
- Корпоративный Wi-Fi на 802.1X — сотрудники входят по доменной учётке или сертификату, а не по общему паролю.
- VPN-аутентификация для OpenVPN, SoftEther, MikroTik, Cisco ASA — без создания отдельных учёток на железе.
- Port-based авторизация на коммутаторах HP/Aruba/Cisco — неизвестные устройства отправляются в карантинный VLAN.
- Многофакторная аутентификация — связка NPS с Multifactor.ru, Cisco Duo или Яндекс.Ключ через RADIUS-агент.
- Централизованное логирование всех подключений с IP-адресом, временем и MAC клиента.
Лицензионно NPS встроен в стоимость любого Windows Server Standard/Datacenter. Отдельных клиентских лицензий на сетевые устройства не требуется, а пользователи уже покрыты доменными CAL.
Подготовка сервера и установка роли
Обычно я выделяю под NPS отдельную виртуальную машину: 2 vCPU, 4 ГБ RAM, 60 ГБ SSD, Windows Server 2022 Standard. На Dell Xeon Platinum 8280 в нашем дата-центре МТС одна такая VM спокойно обрабатывает 1500 RADIUS-запросов в минуту. Присоединяем к домену, ставим последние обновления, фиксированный IP. Установка роли:
Install-WindowsFeature NPAS -IncludeManagementTools
# Регистрация NPS в AD, чтобы он мог читать атрибуты пользователей
netsh nps add registeredserver domain=corp.example.ru server=NPS01
Если NPS не зарегистрирован в AD — он работает, но не видит членство в группах и выдаёт странные отказы типа «Access-Reject без причины». Регистрация обязательна.
RADIUS-клиенты: добавляем сетевое оборудование
RADIUS-клиент в терминологии NPS — это сетевое устройство, которое присылает запросы аутентификации: коммутатор, контроллер Wi-Fi, VPN-сервер. Каждое устройство добавляется с shared secret, который потом прописывается и на стороне железа.
# Добавляем контроллер Wi-Fi Aruba
netsh nps add client name="Aruba-WLC-01" address=10.10.10.5 `
sharedsecret="A1b2C3d4E5f6G7h8i9J0kLmN" vendor="Aruba Networks"
# Добавляем коммутатор для 802.1X
netsh nps add client name="HP-5400-Core" address=10.10.0.2 `
sharedsecret="Qw3Rt5Yu7Io9Op1AsDfGhJkL" vendor="RADIUS Standard"
На shared secret я всегда задаю не менее 20 случайных символов. Слабые секреты типа «radius123» — самая популярная дыра в корпоративных сетях, я проверял на десятках аудитов.
Сетевые политики: кого и куда пускать
Сетевая политика (Network Policy) — это правило, которое связывает условия (группа пользователя, тип подключения, время) с результатом (разрешить/запретить и какие атрибуты вернуть). Порядок политик критичен: NPS обрабатывает их сверху вниз и останавливается на первой подходящей.
| Политика | Условия | Результат |
|---|---|---|
| Wi-Fi Employees | Группа Domain Users, NAS Type=Wireless | PEAP/EAP-TLS, VLAN 10 |
| Wi-Fi Guests | Группа GuestWiFi, MAC-Auth | VLAN 99, сессия 8 ч |
| VPN Admins | Группа VPN_Admins | MS-CHAP-v2, без рестрикций |
| VPN Users | Группа VPN_Users | PEAP, рабочее время 8–20 |
| 802.1X Domain PC | Computer NT-Group Domain Computers | EAP-TLS, VLAN 20 |
| Deny by default | Любое другое | Отказ, лог |
Для EAP-TLS нужен сертификат на стороне NPS (из корпоративного AD CS) и сертификат на клиенте — автоэнроллмент закрывает эту задачу без вмешательства администратора.
Пример: Wi-Fi 802.1X с EAP-TLS
Рабочий сценарий: сотрудник открывает ноутбук, подключение к SSID «Corp-Wi-Fi» происходит автоматически, без ввода пароля. За этим стоит связка AD CS (выдача сертификата компьютеру) + NPS (проверка сертификата) + контроллер Wi-Fi (передача запроса).
# Порядок действий
1. В AD CS создаём шаблон Computer-802.1X
2. GPO включает автоэнроллмент для OU с ноутбуками
3. На NPS добавляем контроллер Wi-Fi как RADIUS-клиент
4. Создаём Connection Request Policy "Wireless-Corp"
5. Создаём Network Policy "Wi-Fi Employees" с EAP-TLS
6. На контроллере Wi-Fi настраиваем SSID "Corp-Wi-Fi" с типом WPA2-Enterprise
7. Shared secret и IP NPS прописываем на контроллере
Я всегда ставлю в Connection Request Policy условие на VSA «Tunnel-Type=VLAN», а в Network Policy возвращаю атрибут Tunnel-Private-Group-ID с номером VLAN — так одним SSID можно раскладывать пользователей по разным VLAN на основе членства в группе.
MFA через NPS: Multifactor и альтернативы
Федеральный закон 152-ФЗ и отраслевые требования всё чаще просят двухфакторной аутентификации для удалённого доступа. NPS умеет это через RADIUS-плагины. В 2025 году у нас на практике самые востребованные варианты:
- Multifactor.ru — российский сервис с NPS-агентом, push-уведомления в мобильное приложение.
- Рутокен MFA — OTP через JaCarta или TOTP-генератор, полностью on-premise.
- Самописный RADIUS-прокси — для тех, кто хочет свой TOTP без стороннего облака.
После установки NPS-плагина Multifactor в свойствах Network Policy в разделе Settings → Vendor Specific добавляется атрибут «Multifactor-Auth-Required=true». После успешной первичной аутентификации по паролю плагин инициирует второй фактор и возвращает в NPS окончательное решение.
Мини-кейс: производство металлопроката, 180 сотрудников
В феврале 2026 к нам обратился клиент — производство металлопроката в Химках. Две точки доступа Aruba, контроллер, коммутатор Aruba 2930 — всё настроено на WPA2-PSK с паролем «Summer2024», который уже полгода не менялся и утёк в открытый чат бывших сотрудников. Задача — перевести всё на 802.1X с сертификатами и добавить MFA на OpenVPN для удалёнки.
Мы развернули NPS на виртуалке Hyper-V в ядре Xeon Platinum 8280, интегрировали с существующим AD CS (сертификаты для компьютеров и ноутбуков уже были), настроили Connection Request Policy и Network Policy с EAP-TLS. На контроллере Aruba поднастроили WPA2-Enterprise, а старый PSK-SSID оставили в режиме гостевого VLAN на 30 дней для плавной миграции.
Для OpenVPN добавили плагин Multifactor, все сотрудники установили мобильное приложение и прошли активацию. Итог за четыре рабочих дня: 0 обращений в саппорт по Wi-Fi за первую неделю, 2 обращения по VPN-MFA (оба — неустановленное приложение на новом телефоне). Стоимость работ — 95 000 рублей плюс подписка Multifactor 18 000 в год.
Диагностика: когда NPS молчит
Главный источник правды — Event Log. Открываем eventvwr.msc → Custom Views → Server Roles → Network Policy and Access Services. Ключевые события:
- 6272 — пользователь успешно аутентифицирован. В тексте видны имя политики, IP, MAC.
- 6273 — отказ. В поле Reason Code указана конкретная причина: «The user attempted to use an authentication method that is not enabled» и т.п.
- 6274 — запрос отброшен (dropped), обычно из-за несовпадения shared secret.
- 6278 — пользователь прошёл аутентификацию, но не соответствует ни одной Network Policy.
Дополнительно держу включённым IAS-лог в C:\Windows\System32\LogFiles\ — текстовый формат, удобно грепать при массовых проблемах. Для захвата трафика — netsh trace start capture=yes provider=Microsoft-Windows-NPS tracefile=c:\nps.etl, потом анализ в Network Monitor или Wireshark с плагином ETL.
Отказоустойчивость и масштабирование
Один NPS — это single point of failure. Для критичных инфраструктур я всегда ставлю пару: NPS01 и NPS02, на разных хостах виртуализации, желательно в разных серверных стойках. На сетевом железе добавляются оба RADIUS-сервера с одинаковыми shared secret, и оборудование само переключается при недоступности первого.
# Экспорт конфигурации NPS01 для копирования на NPS02
Export-NpsConfiguration -Path C:\nps-config.xml
# На NPS02 импортируем
Import-NpsConfiguration -Path \\NPS01\share\nps-config.xml
Для больших инфраструктур (3000+ устройств) добавляем Remote RADIUS Server Groups — NPS принимает запрос и проксирует его в выделенные серверы аутентификации. Это же используется для связи с MFA-облаками без прямого выхода сетевого железа в интернет.
Поднимем NPS с 802.1X и MFA под ключ
Корпоративный RADIUS на Windows Server за 3–5 рабочих дней. Wi-Fi 802.1X с сертификатами, VPN-аутентификация, MFA через Multifactor или JaCarta, отказоустойчивая пара NPS — всё под ваше оборудование. Работаю с Aruba, Cisco, MikroTik, HP, Ubiquiti.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — частые вопросы по NPS
- Что такое NPS в Windows Server?
- Network Policy Server — это роль Windows Server, реализующая RADIUS и Network Access Protection. Она отвечает за централизованную аутентификацию и авторизацию пользователей и устройств для VPN, Wi-Fi 802.1X, коммутаторов с port-based security и других сетевых сервисов.
- Какой протокол EAP выбрать для Wi-Fi?
- Для корпоративного Wi-Fi рекомендую EAP-TLS с сертификатами на клиентах — это самый защищённый вариант. PEAP-MSCHAPv2 проще внедрить, но требует надёжного пароля и защищён слабее. Для гостевых сетей — отдельный SSID без NPS.
- Нужно ли ставить NPS на контроллер домена?
- Можно, но лучше держать NPS на отдельном сервере. На DC нагрузка и риски выше, плюс в больших инфраструктурах обычно поднимают пару NPS за балансировщиком или настраивают RADIUS-прокси.
- Сколько клиентов выдержит один NPS?
- Для офиса до 500 устройств хватает одного NPS на 2 vCPU и 4 ГБ RAM. При 1000+ клиентов с частой переаутентификацией разворачивают два сервера и настраивают отказоустойчивость на стороне сетевого оборудования.
- Как диагностировать отказ в RADIUS-аутентификации?
- Смотрите Event Log → Custom Views → Server Roles → Network Policy and Access Services. Событие 6273 — отказ с причиной, 6272 — успех. Параллельно проверяем совпадение shared secret на коммутаторе и NPS, и что клиент попадает под корректную политику.