Сети

MikroTik OpenVPN: pre-logon на Windows Server 2019

Настройка автоматического подключения MikroTik OpenVPN до входа в систему (pre-logon) на Windows Server 2019. Решение проблем с management-hold, PLAP, службой Local System и auth-user-pass. Пошаговое руководство для стабильного VPN.

Как настроить OpenVPN для автоматического подключения до входа в систему (Pre-Logon) на Windows Server 2019 с сервером Mikrotik?

Спецификация системы:

  • ОС: Windows Server 2019
  • OpenVPN: 2.6.17
  • Сервер OpenVPN: Mikrotik

Выполненные действия:

  1. Включена опция “Pre-Logon Access” в настройках OpenVPN.
  2. Служба OpenVPNService настроена на автоматический запуск с правами администратора.
  3. Файлы конфигурации перенесены в папку auto-config.

Проблема: Автоматическое подключение до авторизации в Windows не происходит. При ручном подключении всё работает корректно.

Логи OpenVPN:

2026-01-16 21:06:15 OpenVPN 2.6.17 [git:v2.6.17/fa20154d58ca609b] Windows [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] [DCO] built on Nov 28 2025
2026-01-16 21:06:15 Windows version 10.0 (Windows 10 or greater), amd64 executable
2026-01-16 21:06:15 library versions: OpenSSL 3.6.0 1 Oct 2025, LZO 2.10
2026-01-16 21:06:15 DCO version: N/A
2026-01-16 21:06:15 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:5555
2026-01-16 21:06:15 Need hold release from management interface, waiting...
2026-01-16 21:06:58 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:49703
2026-01-16 21:06:58 MANAGEMENT: CMD 'state on'
2026-01-16 21:06:58 MANAGEMENT: CMD 'log on all'
2026-01-16 21:06:58 MANAGEMENT: CMD 'echo on all'
2026-01-16 21:06:58 MANAGEMENT: CMD 'bytecount 5'
2026-01-16 21:06:58 MANAGEMENT: CMD 'state'

Конфигурация клиента (.ovpn):

dev tun
remote ФФФФФФФФФФФ 1194 tcp
tun-mtu 1500
tls-client
nobind
ping 15
ping-restart 45
persist-tun
persist-key
mute-replay-warnings
verb 3
data-ciphers AES-256-CBC
pull
auth-user-pass
connect-retry 1
reneg-sec 3600
remote-cert-tls server
management 127.0.0.1 5555
management-hold
management-query-passwords

Какие дополнительные настройки или права требуются для работы Pre-Logon? Где может быть ошибка?

Для автоматического подключения OpenVPN до входа в систему (pre-logon) на Windows Server 2019 с сервером Mikrotik отключите management-hold и management-query-passwords в файле .ovpn — именно они заставляют службу ждать команды от GUI, как видно из ваших логов. Настройте службу OpenVPNService на запуск от Local System, включите Pre-Logon Access Provider (PLAP) при установке или через OpenVPN GUI, и используйте auth-user-pass с файлом паролей для обхода интерактивной авторизации. Это решит проблему “Need hold release from management interface”, типичную для mikrotik openvpn в pre-logon режиме — при ручном запуске GUI просто снимает hold.


Содержание


Настройка Pre-Logon Access Provider (PLAP)

Сначала убедитесь, что Pre-Logon Access Provider включен — без него Windows Server 2019 просто не даст OpenVPN запуститься до логина. Вы говорите, что опция “Pre-Logon Access” уже включена, но давайте перепроверим шаг за шагом.

Переустановите OpenVPN 2.6.17 с галочкой “Enable OpenVPN Pre-Logon Access Provider” во время установки. Если уже стоит, правой кнопкой на иконке OpenVPN GUI в трее (даже скрытой), выберите “Advanced Settings” и поставьте галку напротив Pre-Logon Access Provider. Согласно официальной документации OpenVPN, это критично для Windows 10+ (Server 2019 на той же базе).

А теперь вопрос: а служба GUI не мешает? Отключите автозапуск OpenVPN GUI в реестре или диспетчере задач — иначе конфликт с pre-logon. После этого импортируйте ваш .ovpn из Mikrotik и перезапустите службу.


Корректировка конфигурации .ovpn для mikrotik openvpn

Ваша конфигурация — вот корень зла. Строки management 127.0.0.1 5555, management-hold и management-query-passwords предназначены для GUI: они ждут, пока вы вручную подтвердите hold release. В pre-logon нет GUI, так что служба висит вечно, как в логах.

Откройте .ovpn в блокноте и закомментируйте (добавьте # перед строкой) или удалите эти три строки:

# management 127.0.0.1 5555
# management-hold
# management-query-passwords

Сохраните в C:\Program Files\OpenVPN\config\ (или вашу auto-config). Для Mikrotik добавьте remote-cert-tls server уже есть — хорошо, но убедитесь в TLS-совместимости: на роутере проверьте /ppp profile вашего OpenVPN, чтобы tls-version не был слишком свежим для 2.6.17. Форум OpenVPN подтверждает: без этого auth-user-pass не сработает до логина.

Если трафик не пойдет после подключения, добавьте pull-filter ignore "redirect-gateway" — Mikrotik иногда пушит маршруты агрессивно.


Настройка службы OpenVPNService

Служба на автоматическом запуске с админом — это полдела, но для pre-logon она должна быть чистой службой без GUI-зависимостей.

  1. services.msc → OpenVPNService → Свойства → Тип запуска: Автоматически.
  2. Вкладка “Войти в систему” → Local System account (не пользователь!).
  3. Зависимости: добавьте в реестре HKLM\SYSTEM\CurrentControlSet\Services\OpenVPNService параметр ImagePath с путем к openvpnserv.exe --config your.ovpn.

Перезапустите службу. Русскоязычное руководство по автоподключению советует: если в логах все равно waiting, создайте bat-файл с net start OpenVPNService и запланируйте в Task Scheduler на “При запуске системы” с правами SYSTEM.

Почему это работает? Local System видит сеть до логина, в отличие от юзер-аккаунта.


Права доступа и учетная запись Local System

OpenVPNService под Local System должна читать все файлы в config без вопросов. Ваша папка auto-config — ок, но проверьте:

  • Правой кнопкой на C:\Program Files\OpenVPN\config\ → Свойства → Безопасность → Добавить “SYSTEM” с полным доступом.
  • Файл паролей (см. ниже) тоже в config, с правами только SYSTEM+Administrators.

На Server 2019 иногда глючит UAC — отключите для службы в secpol.msc → Локальные политики → Права пользователя → “Вход в службу как” → добавьте NT AUTHORITY\SYSTEM.

Обсуждение на Reddit подчеркивает: без этого Mikrotik-сервер отвергает подключение из-за прав на certs.

Быстрый тест: запустите службу вручную от SYSTEM через PsExec (psexec -s -i services.msc).


Авторизация с Mikrotik: auth-user-pass

Mikrotik OpenVPN требует username/password, а auth-user-pass без файла ждет ввода. Создайте pass.txt в config:

your_username
your_password

В .ovpn замените auth-user-pass на auth-user-pass pass.txt. На Mikrotik в /ppp secret убедитесь, что профиль matches (service=ovpn, profile=openvpn).

Документация Mikrotik предупреждает: без key-direction и tls-auth клиент зависнет. Добавьте в .ovpn:

tls-auth ta.key 1

Генерируйте ta.key на Mikrotik: /certificate export-certificate ta.ovpn.

Теперь pre-logon увидит creds автоматически — никаких промптов.


Тестирование, логи и устранение неисправностей

Перезагрузите сервер. В логах (C:\Program Files\OpenVPN\log\) должно быть “Initialization Sequence Completed” без waiting. Если нет:

  • verb 4 в .ovpn для детальных логов.
  • Проверьте Event Viewer → Windows Logs → System на ошибки PLAP.
  • Task Manager на старте: ищите openvpnserv.exe под SYSTEM.

Типичные косяки с mikrotik openvpn: poll error (UDP вместо TCP? Ваш tcp — ок), duplicate packets (добавьте mute-replay-warnings). Если не пингует — route add вручную или push route на роутере.

Хабр Q&A делится: на Server 2019 Task Scheduler с триггером “Startup” бьет на 100%. Тестируйте в безопасном режиме — если работает, виноват софт.

Удалось? Теперь весь домен доступен до Ctrl+Alt+Del.


Источники

  1. Access Server: Configure “Start Before Logon” (SBL) / “Pre-Logon Access Provider” (PLAP) using OpenVPN GUI
  2. r/OpenVPN: OpenVPN on boot before login Windows
  3. r/OpenVPN: How to have OpenVPN connect automatically before the login screen?
  4. Start Before Login (User Auth) - OpenVPN Forum
  5. Enable OpenVPN Pre-Logon Access Provider - OpenVPN Forum
  6. Автоматическое подключение к OpenVPN в Windows
  7. Автоматический запуск OpenVPN из под Windows
  8. OpenVPN - RouterOS - MikroTik Documentation

Заключение

Настройка mikrotik openvpn для pre-logon на Windows Server 2019 сводится к отключению management-hold, переходу на службу Local System с PLAP и auth-user-pass файлом — после этого автоматическое подключение заработает стабильно, без ожидания логина. Главная ошибка в вашем случае — GUI-зависимые директивы в .ovpn, которые блокируют службу. Протестируйте после правок, и если логи чистые, сервер готов к доменной авторизации. Удачи с настройкой openvpn windows server 2019!

Авторы
Проверено модерацией
Модерация