Протоколы
OpenVPN
Открытый VPN-протокол с 2001 года, использующий OpenSSL и работающий поверх TCP или UDP. Стандарт корпоративного VPN, но в эру DPI постепенно вытесняется WireGuard и xray-протоколами.
Определение
OpenVPN — это VPN-протокол с открытым исходным кодом, разработанный James Yonan в 2001 году и до сих пор активно поддерживаемый OpenVPN Inc. Работает в userspace, использует OpenSSL (или mbedTLS) для криптографии, поддерживает TCP и UDP transport. Лицензия — GPL-2.0.
OpenVPN — это и протокол, и одноимённая референсная имплементация. Существуют альтернативные клиенты (OpenVPN3, Cisco AnyConnect-совместимые сборки, ovpn-rust), но они все совместимы с тем же протоколом.
Архитектура
OpenVPN строится на TLS-сессии для key exchange и контроля + symmetric channel для данных. Шаги соединения:
- TLS-handshake между клиентом и сервером, обычно с проверкой сертификатов с обеих сторон. Внутри TLS — управляющий канал.
- Negotiation параметров: cipher, auth-method, compression, MTU.
- Data channel — симметричное шифрование (AES-256-GCM или ChaCha20-Poly1305 в современных конфигах) поверх того же UDP/TCP, что и TLS.
Протокол использует HMAC для аутентификации управляющих пакетов и tls-auth / tls-crypt для дополнительной защиты от DoS на этапе handshake.
TCP vs UDP
UDP — стандартный режим, TCP — fallback для рестриктивных сетей. Различия:
- OpenVPN over UDP. Низкий overhead, нет TCP-over-TCP проблемы (когда TCP внутри туннеля плохо реагирует на потери). Дефолт.
- OpenVPN over TCP. Работает через любые firewall’ы, которые пропускают HTTPS. Часто ставят на порт 443. Минус — двойной TCP, медленный recovery при потерях.
В современных сетях с активным DPI разница не критична: и UDP, и TCP OpenVPN детектируются по сигнатуре handshake.
OpenVPN и ТСПУ
Классический OpenVPN на 2026 год не работает на мобильных операторах РФ — детектируется и блокируется. Конкретные признаки:
- Первый пакет управляющего канала имеет статичную структуру
P_CONTROL_HARD_RESET_CLIENT_V2, легко детектируется. - Размеры TLS-handshake-пакетов отличаются от браузерных TLS (отсутствие ALPN, специфичный набор cipher suites, отсутствие SNI в большинстве конфигов).
- JA3-отпечаток клиента OpenVPN уникален и присутствует в публичных Threat Intel базах ТСПУ.
Чтобы заставить OpenVPN работать в РФ, нужна обвязка:
tls-crypt-v2— заворачивает управляющий канал в дополнительное шифрование, что чуть помогает с probing’ом, но не с сигнатурой.obfsproxy/stunnel— туннелирование OpenVPN внутри TLS к настоящему сайту.openvpn-xor-patch— неофициальный XOR-патч (используется Proton VPN, Mullvad для шифрования служебных байт).
С учётом сложности конфигурации, большинство current-gen VPN-провайдеров в РФ перешли на WireGuard / VLESS / Shadowsocks-2022. OpenVPN в 2026 — legacy.
Производительность
OpenVPN заметно медленнее WireGuard на одном и том же CPU из-за userspace-обработки и менее эффективной криптографии. Замеры (Intel Xeon E-2276G):
- WireGuard: 940 Mbps.
- OpenVPN UDP + AES-256-GCM: 380 Mbps.
- OpenVPN TCP + AES-256-GCM: 280 Mbps.
Различие в основном из-за того, что WG живёт в ядре Linux, а OpenVPN — в userspace и копирует пакеты через tun-устройство.
Где OpenVPN всё ещё актуален
OpenVPN остаётся стандартом в корпоративных VPN, где DPI не агрессивный, но требуется зрелая инфраструктура: PKI, RADIUS, MFA, гранулярный access control. Сценарии:
- Корпоративный remote access (Cisco AnyConnect-альтернатива).
- VPN-провайдеры за пределами стран с DPI (USA, Canada, Western EU).
- Self-hosted Pi-VPN для домашнего сервера.
- Сценарии, где нужны certificate-based аутентификация и фиксированные клиенты Windows.
Источники
- OpenVPN protocol specification — community.openvpn.net/openvpn/wiki/SecurityOverview.
- OpenVPN repository — github.com/OpenVPN/openvpn.
- The OpenVPN Project — официальная документация.
Связанные термины
- WireGuard — современная замена.
- DPI — что ломает OpenVPN.
- ТСПУ — российский DPI, неравный с OpenVPN.
- Обфускация — обвязки для OpenVPN.