АйТи Фреш
Главная / Статьи / Сети и VPN
Сети и VPN

Кого пускает VPN — устройство или человека: как я выбираю между OpenVPN и WireGuard для компании до 50 мест

Автор: Семёнов Евгений Сергеевич, директор ООО «АйТи-Фреш» · · ~14 мин чтения
Два входа: по ключу устройства и по удостоверению человека — выбор между WireGuard и OpenVPN с MFA
Главный вопрос выбора VPN — кого вы пускаете: устройство или человека.

WireGuard пускает устройство по ключу, OpenVPN может пускать человека по сертификату, паролю и второму фактору. Для корпоративных ноутбуков я ставлю WireGuard, для личных устройств и подрядчиков, где нужен MFA и журнал по людям, — OpenVPN 2.7. Скорость на офисных каналах почти не решает. Ниже — критерии, конфиги, процедура отзыва и кейс на 16 мест.

Главное различие OpenVPN и WireGuard — модель доверия, а не скорость

Если уволенный сотрудник всё ещё может подключиться к серверу, бизнесу уже неважно, какой протокол быстрее в синтетическом тесте. Поэтому, когда ко мне приходят с вопросом «OpenVPN или WireGuard», я сначала спрашиваю: кого мы пускаем — устройство или человека? Именно с этого начинается любой наш проект по VPN и удалённому доступу, а выбор протокола получается уже почти автоматически.

WireGuard аутентифицирует устройство по ключу. В нём нет логинов, паролей и групп каталога — только пары ключей, адреса и AllowedIPs. Криптография зафиксирована: Curve25519, ChaCha20-Poly1305, BLAKE2s, HKDF. Настраивать нечего, ошибиться в выборе шифров невозможно. Но если сотрудник передал разблокированный ноутбук коллеге, сервер не узнает, кто за ним работает. Для корпоративного ноутбука с шифрованием диска, блокировкой экрана и уникальным ключом этот риск для малого бизнеса обычно приемлем.

OpenVPN может аутентифицировать человека. К клиентскому сертификату добавляются логин, пароль и второй фактор через плагин или внешний сервер, в журнале видно имя пользователя, отозванные сертификаты отсекаются через CRL. Цена — более длинный конфиг, своя PKI и больше мест, где можно ошибиться. Сравнение «в лоб» по установке и скорости я уже делал в статье OpenVPN или WireGuard для офиса; здесь разбираю другой вопрос — как выбрать по модели доступа и как потом этим доступом управлять.

WireGuard без встроенного MFA не «дырявый» — это другая модель доверия, где ключ подтверждает устройство. Опасно не это, а отсутствие учёта ключей и процедуры их отзыва.
Памятка: Главное различие OpenVPN и WireGuard — модель доверия, а не скорость — схема
Памятка: Главное различие OpenVPN и WireGuard — модель доверия, а не скорость. Открыть схему в полном размере
Сравнение WireGuard и OpenVPN по модели доверия, MFA, транспорту и журналированию
Протокол выбирают по тому, кого нужно аутентифицировать, а не по скорости.

Что значит «корпоративный VPN» для компании на 10–50 мест

В малом бизнесе слово «корпоративный» я понимаю не как дорогую лицензию, а как управляемость. Кто имеет доступ? К каким адресам и портам? Как отключить человека за пять минут? Где видно, кто когда подключался? Кто проверил резервную копию шлюза? Если на эти вопросы нет ответов, хороший алгоритм шифрования ситуацию не спасёт.

У OpenVPN богаче собственный слой идентификации: UDP и TCP, клиентские сертификаты, проверка логина и пароля через плагины или скрипты (auth-user-pass-verify), индивидуальные настройки через client-config-dir, отзыв через crl-verify. На 23.09.2026 актуальный выпуск — 2.7.7 от 3 сентября, в нём закрыто несколько уязвимостей, в основном в клиенте под Windows; ветка 2.6 ещё получает обновления (2.6.22), но новые внедрения я делаю на 2.7. Для ядра Linux 6.16 и новее модуль ускорения DCO (ovpn) входит в основное ядро и работает только с OpenVPN 2.7; на Debian 13 с ядром 6.12 для него нужен отдельный пакет ovpn-dkms.

WireGuard намеренно не выдаёт сертификатов и не спрашивает пароль. Параметр AllowedIPs часто принимают за ACL, а это не так: он определяет, какие адреса источника допустимы от конкретного peer и куда направлять исходящий трафик. Разрешить бухгалтеру только RDP к одному серверу он не может. Это делается межсетевым экраном на шлюзе, а не надеждой на клиентский конфиг, который пользователь в любой момент может отредактировать.

Как в OpenVPN появляется второй фактор на практике. Самый простой путь для малого офиса — PAM-плагин из пакета OpenVPN и PAM-модуль одноразовых кодов (TOTP) на сервере: клиент присылает логин и пароль с кодом, PAM проверяет и то и другое. Чтобы пользователю не приходилось склеивать пароль с кодом вручную, в клиентский профиль добавляют static-challenge — клиент сам спросит код отдельным полем. Если в компании уже есть RADIUS или сервер одноразовых паролей, OpenVPN подключается к нему через плагин, и учёт вторых факторов остаётся в одном месте. Мелочь, на которой спотыкаются чаще всего: TOTP чувствителен к времени, поэтому на сервере обязателен NTP, а у пользователей — автоматическая синхронизация часов.

Общий конфиг на весь отдел — самая дорогая «экономия времени». После потери одного ноутбука придётся перевыпускать доступ всем, а расследовать события будет невозможно.
Кого пускает VPN — устройство или человека: как я выбираю между OpenVPN и WireGuard для компании до 50 мест — схема
Схема к статье. Открыть схему в полном размере

Когда WireGuard, а когда OpenVPN: мои критерии выбора

WireGuard беру, когда выполнены три условия: устройства принадлежат компании, на них есть шифрование диска и блокировка экрана, а кадровая служба вовремя сообщает об увольнениях. Плюсы тогда ощутимы: туннель мгновенно поднимается после сна ноутбука, спокойно переживает переход с Wi-Fi на LTE, потому что endpoint обновляется по адресу последнего корректно аутентифицированного пакета. PersistentKeepalive = 25 официальная документация называет разумным для peer за NAT, которому нужно принимать входящие после простоя, — ставлю его на клиентах, а не всем подряд.

OpenVPN беру, когда в доступе участвуют личные компьютеры, подрядчики или данные, где мне нужен журнал по конкретным людям и второй фактор. Второй аргумент — сети, где UDP режут: WireGuard работает только по UDP, штатного переключения на TCP у него нет, а OpenVPN умеет TCP/443. Цена TCP известна: поверх нестабильного канала TCP внутри TCP заметно проседает, и интерактивный RDP это чувствует. Поэтому TCP я держу как запасной профиль, а не основной.

Скорость в выборе почти не участвует. OpenVPN без DCO действительно медленнее и сильнее грузит процессор, с DCO разрыв сокращается в разы. Но для офиса с каналом до 300 Мбит/с разница между 700 и 800 Мбит/с на тестовом стенде ничего не значит. Если нужна связка «много филиалов и удалёнщиков без ручной маршрутизации», смотрите на надстройки над WireGuard — вариант с контроллером я разбирал в статье про NetBird на WireGuard.

Если сотрудники работают с личных ноутбуков, WireGuard-ключ на таком устройстве — это ключ от офиса в чужой квартире. Здесь я всегда добавляю второй фактор.
Памятка: Когда WireGuard, а когда OpenVPN: мои критерии выбора — схема
Памятка: Когда WireGuard, а когда OpenVPN: мои критерии выбора. Открыть схему в полном размере

Разбор из практики: психологический центр на 16 рабочих мест

Центр психологического консультирования «Ясный разговор», 16 рабочих мест: шесть сотрудников администрации и бухгалтерии в офисе и десять психологов, из которых семеро часть недели ведут онлайн-сессии из дома. Им нужен доступ к внутренней CRM с карточками клиентов и расписанием, а бухгалтеру — к терминальному серверу с 1С. Проблема была в том, что прежний подрядчик раздал всем один общий WireGuard-конфиг, и шесть из семи психологов работали с личных ноутбуков. Для записей о клиентах психолога это недопустимо: конфиденциальность — основа профессии.

Я выбрал гибрид. Офис подключили к хабу в российском ЦОД со статическим адресом отдельным WireGuard-туннелем: маршрутизатор офиса — наше устройство, ключ на нём, и при переключении на резервный LTE профили сотрудников менять не нужно. Людей перевели на OpenVPN 2.7.7: клиентский сертификат на каждое устройство плюс одноразовый код из приложения-аутентификатора через PAM-плагин. Хаб — Debian 13, 2 vCPU, 2 ГБ RAM; при пике в 11 одновременных подключений нагрузка на процессор не поднималась выше 15 %, поэтому DCO даже не понадобился.

Права разделили на шлюзе: психологи видят только веб-интерфейс CRM (TCP 443) и внутренний DNS, бухгалтер — дополнительно RDP к терминальному серверу, администратор — сеть управления. Общий старый ключ удалили в первый же день. Проект занял неделю: два дня на PKI, шлюз и правила, три дня на выдачу профилей с личной встречей или видеозвонком, остальное — документация и инструкция по отзыву.

За три месяца после запуска зафиксировали одну утерю ноутбука: сертификат отозвали, активную сессию завершили через интерфейс управления, на всё ушло шесть минут, в журнале видно, что после этого попыток входа с этого сертификата не было. Ещё два обращения оказались не про VPN: у одного психолога сбились часы на ноутбуке и не проходил одноразовый код, у другого домашний роутер блокировал исходящий UDP — выручил запасной TCP-профиль. Результат хороший, но обеспечили его не протокол, а реестр доступа и отработанная процедура.

Если VPN-сервер стоит в офисе и при аварии меняется публичный IP, WireGuard может не переподключиться сам: имя endpoint разрешается при настройке интерфейса. Нужен перезапуск профиля, скрипт обновления или хаб со статическим адресом.
Схема гибридного VPN: WireGuard для офиса, OpenVPN с MFA для сотрудников на личных устройствах
WireGuard связывает площадки, OpenVPN с MFA пускает людей, права режет шлюз.

Конфигурация: маршруты отдельно, права отдельно

Ниже сокращённый WireGuard-профиль для площадки или корпоративного ноутбука. Через VPN идут только нужные сети, весь интернет — нет. Ключи в примере заменены заглушками; свои генерируйте на самом устройстве с umask 077 и никогда не пересылайте приватный ключ.

[Interface]
PrivateKey = <приватный ключ устройства>
Address = 10.77.0.34/32
DNS = 10.20.0.53

[Peer]
PublicKey = <публичный ключ хаба>
Endpoint = vpn.example.com:51820
AllowedIPs = 10.20.0.15/32, 10.20.0.53/32
PersistentKeepalive = 25
umask 077
wg genkey | tee private.key | wg pubkey > public.key

Разграничение доступа — на хабе, в nftables. Политика цепочки по умолчанию drop, ответы уже установленных соединений разрешены отдельно, сети сотрудников и администраторов разные:

table inet vpn_filter {
  chain forward {
    type filter hook forward priority filter; policy drop;
    ct state established,related accept
    iifname { "wg0", "tun0" } ip saddr 10.78.0.0/24 ip daddr 10.20.0.15 tcp dport 443 accept
    iifname { "wg0", "tun0" } ip saddr 10.78.0.0/24 ip daddr 10.20.0.53 meta l4proto { tcp, udp } th dport 53 accept
    iifname "wg0" ip saddr 10.77.0.8/29 ip daddr { 10.20.0.0/24, 10.20.1.0/24 } accept
  }
}

Серверный профиль OpenVPN длиннее, зато PKI и CRL в него входят естественно. На новом сервере использую только AEAD-шифры и tls-crypt-v2, не возвращаю устаревший BF-CBC ради забытого клиента, маршруты выдаю группам через client-config-dir, а не одним широким push всем. Второй фактор подключаю через PAM-плагин из пакета OpenVPN; путь к нему в Debian проверьте в своей системе командой dpkg -L openvpn.

port 1194
proto udp
dev tun
topology subnet
server 10.78.0.0 255.255.255.0
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/server.crt
key /etc/openvpn/server/server.key
dh none
tls-crypt-v2 /etc/openvpn/server/tc2-server.key
data-ciphers AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305
verify-client-cert require
crl-verify /etc/openvpn/server/crl.pem
plugin /usr/lib/x86_64-linux-gnu/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn
client-config-dir /etc/openvpn/server/ccd
management 127.0.0.1 7505
keepalive 10 120
user nobody
group nogroup
persist-key
persist-tun
При удалении WireGuard peer мало выполнить wg set … remove: изменение живёт только в работающем интерфейсе и пропадёт после перезагрузки. Правьте управляемый конфиг и применяйте его через wg syncconf, фиксируя каждое изменение.

Как отзывать доступ и обслуживать VPN без сюрпризов

WireGuard требует дисциплины вокруг ключей. В реестре храню публичный ключ, туннельный адрес, владельца, серийный номер устройства, дату выдачи и статус; приватный ключ остаётся только на устройстве. wg show all dump годится для мониторинга, но поле latest handshake — не пользовательская сессия: молчащий peer может быть исправен, а украденный разблокированный ноутбук выглядит как штатный.

У OpenVPN отзыв тоже не сводится к записи в CRL. Новый вход будет отклонён, но действующее соединение надо закрыть через интерфейс управления (management), иначе оно проживёт до переподключения. Этот шаг я всегда вписываю в инструкцию увольнения. Параллельно блокируются учётная запись, почта и устройство — VPN не должен быть единственной линией обороны. Про то, почему обычные «удалёнки» вроде AnyDesk не заменяют такой контроль, я писал в разборе безопасности утилит удалённого доступа.

Приоритеты такие. Сначала инвентаризация и уникальные ключи или сертификаты, затем правила на шлюзе и процедура отзыва, потом мониторинг и резервная копия конфигурации шлюза. На тонкую настройку шифров, ручной MTU и погоню за гигабитом можно не тратить время, пока замеры не показали реальную проблему. А вот обновления откладывать нельзя: у OpenVPN с июля по сентябрь 2026 вышли три выпуска ветки 2.7 (2.7.5, 2.7.6, 2.7.7) с исправлениями уязвимостей, и клиенты на Windows обновлять нужно так же, как сервер.

Не переносите приватные ключи WireGuard между устройствами и не пересылайте готовые профили через мессенджеры. Один профиль — одно управляемое устройство.
Памятка: Как отзывать доступ и обслуживать VPN без сюрпризов — схема
Памятка: Как отзывать доступ и обслуживать VPN без сюрпризов. Открыть схему в полном размере
Чек-лист отзыва доступа к VPN при потере устройства: CRL, management, wg syncconf, блокировка учётки
Отзыв доступа — это процедура из нескольких шагов, а не одна команда.

Частые вопросы

Что безопаснее: OpenVPN или WireGuard?

Оба пригодны при актуальных версиях и правильной эксплуатации. WireGuard уменьшает риск ошибиться в криптографии, OpenVPN лучше интегрируется с пользовательской аутентификацией и MFA. Общие ключи и несвоевременный отзыв опаснее выбора протокола.

Можно ли использовать WireGuard без MFA?

Да, на корпоративном устройстве с шифрованием диска, блокировкой экрана и уникальным ключом, который можно быстро отозвать. Для личных устройств и подрядчиков я добавляю второй фактор через OpenVPN или внешний контроллер доступа.

Заменяет ли AllowedIPs межсетевой экран?

Нет. AllowedIPs определяет допустимые адреса источника от peer и маршрутизацию, но не ограничивает порты и сервисы. Права задаются правилами nftables или межсетевого экрана на шлюзе.

Нужен ли DCO для OpenVPN в малом офисе?

Обычно нет: на 10–20 одновременных подключений и канале до 300 Мбит/с процессор не становится узким местом. DCO работает только с OpenVPN 2.7 и входит в ядро Linux начиная с 6.16.

Как быстро отозвать доступ в OpenVPN?

Отозвать сертификат и обновить CRL, затем закрыть активную сессию через интерфейс управления, заблокировать учётную запись и проверить журнал. CRL сам по себе действующее соединение не разрывает.

Можно ли оставить OpenVPN 2.6?

Ветка 2.6 ещё получает обновления (2.6.22), но для новых внедрений я выбираю 2.7.x и обновляюсь на последние выпуски с исправлениями безопасности.

Столкнулись с похожей задачей? Обращайтесь — решим

Если у вас происходит что-то из описанного в этой статье — или любая другая проблема с ИТ-инфраструктурой, — обращайтесь в любое время. Мои специалисты и я лично разберём ситуацию, найдём настоящую причину и доведём до решения.

Возьмёмся и за разовую задачу, и за постоянное обслуживание. Первичная консультация — бесплатно и без обязательств.

📞 +7 903 729-62-41 💬 MAX: +7 903 729-62-41 ✈ Telegram @ITfresh_Boss

С уважением, Семёнов Евгений Сергеевич, директор «АйТи Фреш» — IT-аутсорсинг для компаний до 50 рабочих мест, 15+ лет практики

Источники

© ООО «АйТи-Фреш» · Москва · Все статьи