MAATRIX / Блог / SoftEther или OpenVPN: сравнение возможностей

SoftEther или OpenVPN: сравнение возможностей

MAATRIX

Оба продукта решают одну задачу — зашифрованный туннель между клиентом и сервером, но устроены по-разному: OpenVPN — это один протокол с одним демоном, который делает свою работу двадцать с лишним лет и обкатан на любом дистрибутиве и роутере. SoftEther — это платформа, которая одним процессом умеет говорить сразу на нескольких языках: L2TP/IPsec, SSTP, собственный протокол SoftEther и OpenVPN-совместимый режим. Разберём архитектурную разницу, чем это оборачивается на практике и какой из вариантов выбрать под конкретную задачу.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Архитектура: один протокол против одного сервера с несколькими

OpenVPN — это TUN/TAP-интерфейс, TLS-туннель поверх UDP или TCP и один конфиг на клиента. Сервер openvpn запускается как отдельный процесс на порт (обычно 1194/UDP), и всё, что он умеет — это протокол OpenVPN. Хотите добавить L2TP для телефонов со встроенным клиентом — ставьте отдельный демон StrongSwan или xl2tpd рядом, это два независимых сервиса с разными конфигами и разными портами.

SoftEther построен вокруг concept виртуального Ethernet-хаба: процесс vpnserver создаёт один или несколько виртуальных хабов, а клиенты подключаются к ним через любой из поддерживаемых протоколов — L2TP/IPsec, SSTP, OpenVPN-совместимый клон, MS-SSTP или родной протокол SoftEther поверх HTTPS. Все клиенты разных протоколов оказываются в одной виртуальной сети, с общим SecureNAT или мостом в реальный интерфейс. Это удобно, когда у вас разнородный парк устройств: корпоративный ноутбук на встроенном L2TP, телефон на нативном IPsec, и сервер, которому для обхода DPI-фильтрации нужен трафик, замаскированный под HTTPS.

Плата за гибкость — сложность. У SoftEther есть виртуальные хабы, режимы SecureNAT и Local Bridge, отдельная настройка сертификатов под каждый протокол и консоль vpncmd, в которой легко потеряться, если настраиваете VPN впервые. OpenVPN проще концептуально: один конфиг, один процесс, предсказуемое поведение. Если нужен туннель на одном протоколе без выкрутасов — это чувствуется с первых минут настройки.

Установка и базовая настройка

OpenVPN на Ubuntu ставится из репозитория одной командой, конфиг генерируется через easy-rsa или готовый скрипт вроде openvpn-install.sh:

apt update && apt install -y openvpn easy-rsa

Дальше — генерация CA, серверного и клиентских сертификатов через easy-rsa, серверный .conf с параметрами dev tun, proto udp, port 1194, и клиентские .ovpn-файлы. Весь процесс подробно описан в отдельной статье по установке OpenVPN на VPS — там же разбор типовых ошибок конфигурации.

SoftEther чаще всего собирают из исходников, поскольку готовых пакетов под свежие релизы дистрибутивов не всегда хватает:

apt install -y build-essential libssl-dev libreadline-dev libncurses5-dev cmake
cd /usr/local/src
wget https://github.com/SoftEtherVPN/SoftEtherVPN/releases/download/<версия>/softether-vpnserver-<версия>-linux-x64-64bit.tar.gz
tar xzf softether-vpnserver-*.tar.gz
cd vpnserver && make

После сборки идёт настройка через интерактивную консоль vpncmd: создание виртуального хаба, включение SecureNAT или Local Bridge, включение нужных протоколов (OpenVpnServerStart, IPsecEnable для L2TP, SstpEnable для SSTP). Это на порядок больше шагов, чем у OpenVPN, но результат — один сервер, который сразу закрывает несколько сценариев подключения. Полный процесс сборки и настройки под Ubuntu 24.04 — в пошаговой инструкции по установке SoftEther.

Отдельный плюс SoftEther — если нужен именно SSTP-сервер (например, для встроенного клиента Windows), поднимать его проще через SoftEther, чем городить отдельный SSTP-демон — это разобрано в статье про SSTP через SoftEther.

Арендуйте сервер под свои задачи!

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Арендовать сервер

Производительность и накладные расходы

OpenVPN в режиме TUN с шифрованием AES-256-GCM неплохо утилизирует один CPU-поток на шифрование, но именно однопоточность исторически была его слабым местом на многоядерных серверах при большом числе одновременных клиентов — с версии 2.4+ ситуация улучшилась за счёт поддержки нескольких потоков обработки, но всё равно уступает решениям, спроектированным под многопоточность с нуля.

SoftEther в своём родном протоколе поддерживает несколько одновременных TCP-сессий на одно соединение (протокольная особенность, ускоряющая передачу на нестабильных или высоколатентных каналах), а также аппаратное ускорение шифрования там, где это доступно. На практике разница в пропускной способности между OpenVPN и SoftEther в родном режиме заметна прежде всего на каналах с большим количеством одновременных подключений или высокой задержкой — на коротких стабильных линках оба варианта дают сопоставимую скорость, ограниченную в первую очередь мощностью процессора и полосой самого канала.

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

Если производительность — приоритет номер один, а мультипротокольность не нужна, стоит присмотреться и к WireGuard: он обгоняет оба варианта по скорости за счёт минималистичного ядра и работы на уровне ядра ОС, но не даёт гибкости SoftEther и SSTP-совместимости. Сравнение разобрано в статье WireGuard или OpenVPN — что выбрать для сервера.

Безопасность и шифрование

Оба решения используют проверенную криптографию на базе OpenSSL: TLS 1.2/1.3 для установления сессии, AES-256-GCM или ChaCha20-Poly1305 для шифрования данных. Здесь принципиальной разницы в стойкости нет — оба проекта достаточно давно на рынке и прошли независимые аудиты.

Разница — в площади атаки. OpenVPN слушает один порт, один процесс, меньше кода — меньше потенциальных уязвимостей и меньше, что нужно патчить. SoftEther как многопротокольная платформа обслуживает несколько протоколов одновременно, у каждого свой код обработки, и исторически у проекта случались уязвимости именно из-за этой сложности (например, в реализации L2TP/IPsec-стека). Обновляйте SoftEther регулярно и не держите включёнными протоколы, которые реально не используете — каждый лишний включённый протокол это лишняя поверхность атаки.

С точки зрения аутентификации у обоих есть сертификаты x.509 и возможность добавить логин/пароль или RADIUS поверх. SoftEther из коробки удобнее для сценариев с сертификатами для нескольких протоколов сразу — если у вас есть внутренний CA, стоит посмотреть на настройку сертификатов для IKEv2/SSTP через Windows CA.

Обход блокировок и маскировка трафика

Здесь у SoftEther есть заметное преимущество: родной протокол SoftEther работает поверх HTTPS на 443-м порту и по трафику визуально похож на обычный TLS-запрос к веб-серверу — DPI-системам сложнее отличить его от обращения к обычному сайту без глубокого анализа паттернов. То же касается SSTP — этот протокол изначально разрабатывался Microsoft именно как VPN поверх HTTPS.

OpenVPN тоже можно запустить на 443/TCP, и это часто помогает от простой блокировки по номеру порта, но сигнатура самого OpenVPN-хендшейка отличается от обычного TLS достаточно, чтобы её распознавали более продвинутые DPI-системы. Для обхода в таких условиях обычно оборачивают OpenVPN-трафик через obfuscation-прокси (stunnel, shadowsocks) или переходят на протоколы, изначально спроектированные под маскировку.

Важно: степень эффективности обхода блокировок сильно зависит от конкретной системы фильтрации на стороне провайдера и меняется со временем — то, что работает сегодня, не гарантированно будет работать через полгода. Если тема обхода блокировок для вас основная, есть смысл сравнить это отдельно применительно к своей стране и провайдеру, а не полагаться на общие утверждения.

Совместимость с клиентами

OpenVPN требует стороннее приложение практически на любой платформе — официальный клиент OpenVPN Connect, либо сторонние вроде Tunnelblick на macOS или OpenVPN GUI на Windows. Это дополнительный шаг для пользователя, зато конфиг переносим между платформами почти без изменений.

SoftEther выигрывает там, где важна встроенная поддержка без установки приложений: L2TP/IPsec поддерживается нативно в Windows, macOS, iOS и Android — телефон можно подключить средствами системы. SSTP нативно встроен в Windows начиная с Vista. Родной протокол SoftEther всё же требует официального клиента, но он кроссплатформенный и относительно лёгкий.

КритерийOpenVPNSoftEther
Протоколов на одном сервере15+ (L2TP/IPsec, SSTP, OpenVPN-клон, SoftEther, MS-SSTP)
Встроенная поддержка в ОСНет, нужен клиентДа (L2TP, SSTP)
Маскировка под HTTPSЧерез доп. обвязкуИз коробки (SoftEther-протокол, SSTP)
Сложность настройкиНизкаяСредняя-высокая
МногопоточностьС 2.4+ частичноДа, включая multi-TCP на сессию
Площадь атакиМеньше (1 протокол)Больше (несколько протоколов)
Зрелость на роутерах (MikroTik, Keenetic)ШирокаяОграниченная

Отдельно стоит учитывать роутеры и embedded-устройства: OpenVPN поддерживается практически везде — на MikroTik, Keenetic, OpenWRT есть готовые пакеты и веб-интерфейсы. SoftEther на таких платформах либо не встречается вообще, либо требует ручной сборки, что для домашнего роутера обычно неоправданно.

Когда выбирать что

Берите OpenVPN, если: нужен один предсказуемый протокол без лишних деталей, конфиг должен работать на роутере или embedded-устройстве, важна минимальная площадь атаки и простое сопровождение, а обход блокировок не главная задача (или решается отдельно через stunnel/shadowsocks).

Берите SoftEther, если: нужно закрыть несколько типов клиентов одним сервером — часть на встроенном L2TP, часть на SSTP, часть на кастомном протоколе с маскировкой под HTTPS; принципиально важна работа через 443-й порт без явных признаков VPN-хендшейка; готовы вложиться в более сложную настройку ради гибкости.

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

Арендуйте сервер под свои задачи!

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Арендовать сервер

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.

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

Можно ли на одном сервере одновременно поднять и SoftEther, и отдельный OpenVPN?

Технически да, но обычно не нужно — SoftEther уже умеет обслуживать OpenVPN-совместимых клиентов через свой виртуальный хаб. Отдельный классический OpenVPN-демон имеет смысл держать только как независимый резервный канал на другом порту.

Какой вариант быстрее — SoftEther или OpenVPN?

Однозначного ответа нет: на коротких стабильных каналах разница обычно в пределах погрешности, на высоколатентных или с большим числом клиентов SoftEther может выигрывать за счёт multi-TCP-сессий. Тестируйте на своём канале, а не на чужих цифрах.

SoftEther сложнее в поддержке — стоит ли оно того для одного личного устройства?

Обычно нет. Для одного-двух личных устройств проще и надёжнее OpenVPN или WireGuard — меньше деталей, которые могут сломаться при обновлении.

Работает ли SoftEther на роутерах вроде MikroTik или Keenetic?

Нативной поддержки SoftEther-протокола там нет. Роутер можно подключить к SoftEther-серверу только через один из совместимых протоколов — L2TP/IPsec или OpenVPN-режим, которые эти роутеры поддерживают штатно.

Нужен ли SoftEther, если единственная цель — обход блокировок по DPI?

Часто да, поскольку родной протокол SoftEther и SSTP маскируются под HTTPS без дополнительной обвязки. Но эффективность зависит от конкретной системы фильтрации у вашего провайдера и может меняться со временем — держите план Б.

Что проще обновлять и патчить в долгосрочной перспективе?

OpenVPN — меньше движущихся частей, меньше кода, обновление одного пакета через apt. SoftEther требует пересборки из исходников при переходе на новую версию, если нет готового пакета под ваш дистрибутив.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →