Что такое SoftEther VPN и почему он популярен
SoftEther VPN — это свободное кроссплатформенное программное обеспечение для создания виртуальных частных сетей, разработанное как академический проект Университета Цукубы. Название расшифровывается как Software Ethernet, что отражает ключевую идею: программа виртуализирует Ethernet-устройства, позволяя строить гибкие сетевые топологии. Проект распространяется под лицензией Apache 2.0, что означает бесплатное использование как в личных, так и в коммерческих целях.
Главная особенность SoftEther — поддержка сразу нескольких VPN-протоколов в одном продукте: собственного SSL-VPN (VPN over HTTPS), OpenVPN, L2TP/IPsec, Microsoft SSTP, L2TPv3 и EtherIP. Это делает его универсальным инструментом, способным заменить сразу несколько решений. Благодаря встроенной маскировке трафика под обычный HTTPS, SoftEther эффективно обходит файрволы и NAT, что особенно ценно в сетях со строгими ограничениями.
Программа включает серверную и клиентскую части, а также графический менеджер для управления. Сервер работает на Windows, Linux, FreeBSD, macOS и Solaris, клиент — на большинстве популярных ОС, включая мобильные платформы. Встроенные функции Dynamic DNS и NAT Traversal позволяют разворачивать VPN-сервер даже за динамическим IP и без изменения настроек роутера.
Архитектура SoftEther VPN: виртуальные адаптеры, коммутаторы и сессии
В основе SoftEther лежит виртуализация сетевых устройств. На стороне клиента устанавливается Virtual Network Adapter — программный эмулятор Ethernet-адаптера. На сервере создаются Virtual Hub — виртуальные Ethernet-коммутаторы, которые обмениваются кадрами между подключёнными сессиями. VPN-сессия представляет собой виртуальный сетевой кабель, соединяющий адаптер клиента с хабом сервера.
Такая архитектура позволяет строить как Remote-Access VPN (удалённый доступ к LAN), так и Site-to-Site VPN (объединение нескольких офисов). Для связи удалённых сегментов используется функция Local Bridge, которая соединяет Virtual Hub с физическим Ethernet-адаптером, и Cascading Connection, объединяющая несколько хабов в единую L2-сеть. Поддерживаются и традиционные L3-решения на основе IP-маршрутизации.
VPN-сессии устанавливаются поверх TCP/IP и шифруются с помощью SSL. Это обеспечивает конфиденциальность и целостность данных при передаче через интернет. Дополнительно поддерживается UDP-режим с NAT Traversal, что позволяет серверу принимать входящие подключения даже за NAT или файрволом без специальной настройки.
Ключевые возможности и преимущества SoftEther VPN
SoftEther VPN выделяется на фоне аналогов рядом существенных преимуществ:
- Мультипротокольность — один сервер одновременно поддерживает SSL-VPN, OpenVPN, L2TP/IPsec, SSTP, L2TPv3 и EtherIP. Это упрощает миграцию с других решений и обеспечивает совместимость с любыми клиентами.
- Высокая производительность — заявляется пропускная способность класса 1 Гбит/с при низком потреблении CPU и памяти. Оптимизированный SSL-VPN протокол обеспечивает малую задержку и высокую скорость.
- Обход файрволов — VPN over HTTPS маскирует трафик под обычный веб-серфинг, что делает его неотличимым от HTTPS и позволяет обходить даже DPI-фильтры. Дополнительно есть экзотические режимы VPN over ICMP и VPN over DNS.
- Простота развёртывания — встроенные Dynamic DNS и NAT Traversal избавляют от необходимости иметь статический IP и настраивать проброс портов.
- Безопасность — шифрование AES-256 и RSA-4096, поддержка RADIUS и NT Domain аутентификации, сертификатов, а также детальное логирование и межсетевой экран внутри туннеля.
- Кроссплатформенность — сервер и клиент доступны для всех основных ОС, включая Windows, Linux, macOS, Android и iOS.
- Открытый исходный код — позволяет аудировать код и адаптировать под свои нужды.
Установка SoftEther VPN Server: пошаговое руководство
Установка сервера SoftEther может быть выполнена несколькими способами. Рассмотрим наиболее распространённые.
Установка из репозиториев (Linux/FreeBSD)
На FreeBSD достаточно выполнить:
pkg update
pkg upgrade
pkg install softether
sysrc softether_server_enable=yesНа Ubuntu и других дистрибутивах Linux можно использовать официальные пакеты или собрать из исходников. Также доступны готовые Docker-образы, например siomiz/softethervpn.
Установка через Docker
Создайте файл docker-compose.yml со следующим содержимым (замените переменные на свои):
version: '3'
services:
softethervpn:
image: siomiz/softethervpn
cap_add:
- NET_ADMIN
environment:
- PSK=<ваш_PSK>
- USERS=:
- SPW=<пароль_админа>
- HPW=<пароль_хаба>
ports:
- "500:500/udp"
- "4500:4500/udp"
- "1701:1701/tcp"
- "443:443/tcp"
- "1194:1194/udp"
- "5555:5555/tcp"
- "992:992/tcp"Затем выполните docker-compose up -d. После первого запуска скопируйте конфигурационный файл из контейнера, чтобы сохранить настройки между перезапусками:
docker cp softethervpn:/usr/vpnserver/vpn_server.config ./Раскомментируйте строки volumes в docker-compose.yml и перезапустите контейнер.
Установка на Windows
Скачайте установщик с официального сайта и запустите его. Мастер установки проведёт через все этапы, включая настройку брандмауэра.
Настройка SoftEther VPN Server Manager
После установки сервера необходимо выполнить первоначальную настройку через графический менеджер SoftEther VPN Server Manager (доступен для Windows, также есть веб-интерфейс).
- Запустите Server Manager и укажите IP-адрес или имя хоста вашего сервера, порт (по умолчанию 443) и пароль администратора.
- Создайте Virtual Hub — виртуальный коммутатор, к которому будут подключаться клиенты. Задайте имя хаба и пароль администратора хаба.
- Настройте пользователей: создайте учётные записи с логином и паролем, либо подключите внешнюю аутентификацию через RADIUS или NT Domain.
- Включите необходимые протоколы: L2TP/IPsec, OpenVPN, SSTP, SoftEther VPN. Для каждого протокола можно задать порты и параметры шифрования.
- Для OpenVPN нажмите «Generate a Sample Configuration File for OpenVPN Clients» — будет создан файл конфигурации, который можно использовать в любом OpenVPN-клиенте.
- Для SSTP необходимо сгенерировать самоподписанный сертификат и экспортировать его в формате .cer. Этот сертификат нужно импортировать в доверенные корневые центры сертификации на клиентских машинах.
После завершения настройки сервер готов принимать подключения. Убедитесь, что необходимые порты открыты в файрволе.
Подключение через SoftEther VPN Client: Windows, macOS, Linux
Клиентское приложение SoftEther VPN Client Manager доступно для Windows, macOS и Linux. Рассмотрим процесс подключения на примере Windows.
- Скачайте и установите SoftEther VPN Client с официального сайта.
- Запустите Client Manager. В верхней части окна отображаются VPN-подключения, в нижней — информация о виртуальном адаптере.
- Нажмите «Add VPN Connection» и заполните параметры:
- Setting Name — произвольное название, например «Мой VPN».
- Host Name — IP-адрес или доменное имя сервера.
- Port Number — обычно 443 (имитация HTTPS).
- Virtual Hub Name — имя хаба, предоставленное администратором.
- Auth Type — выберите «RADIUS or NT Domain Authentication» или «Standard Authentication» в зависимости от настроек сервера.
- User Name / Password — ваши учётные данные.
- При необходимости откройте «Advanced Settings» для настройки дополнительных параметров: количество TCP-соединений (можно увеличить до 8 для повышения скорости), сжатие данных, UDP-акселерация и другие.
- Сохраните профиль и дважды щёлкните по нему для подключения. Статус изменится с «Connecting» на «Connected».
После подключения проверьте IP-адрес на специализированных сайтах — он должен соответствовать местоположению VPN-сервера. Это подтвердит, что весь трафик идёт через туннель.
Настройка OpenVPN и SSTP поверх SoftEther
SoftEther может выступать в роли полноценной замены OpenVPN-сервера и SSTP-сервера, что удобно при миграции.
OpenVPN
В Server Manager активируйте протокол OpenVPN и укажите порт (по умолчанию 1194 UDP или 443 TCP). Сгенерируйте пример конфигурационного файла для клиентов. Этот файл можно использовать в любом OpenVPN-клиенте (например, OpenVPN GUI или Tunnelblick). SoftEther поддерживает как стандартные, так и обфусцированные режимы OpenVPN, что помогает обходить DPI.
SSTP
SSTP — проприетарный протокол Microsoft, работающий поверх HTTPS (порт 443). Для его использования на сервере необходимо сгенерировать самоподписанный сертификат. Экспортируйте его в формате .cer и импортируйте в хранилище доверенных корневых сертификатов на клиентской машине (Windows: «Manage Computer Certificates» → «Trusted Root Certification Authorities»). После этого создайте VPN-подключение в Windows, указав адрес сервера и учётные данные. SSTP обеспечивает высокую совместимость со встроенными клиентами Windows.
Оба протокола работают через порт 443, что делает их практически неотличимыми от HTTPS-трафика и позволяет обходить большинство файрволов.
Обход блокировок и маскировка трафика
Одной из главных причин популярности SoftEther в странах с интернет-цензурой является его способность маскировать VPN-трафик под обычный HTTPS. Это достигается за счёт использования порта 443 и шифрования, неотличимого от TLS.
Встроенный протокол SoftEther VPN (VPN over HTTPS) работает поверх стандартного HTTPS, поэтому DPI-системы не могут обнаружить в нём признаки VPN. Дополнительно поддерживаются экзотические методы: VPN over ICMP (трафик маскируется под ICMP-эхо-запросы) и VPN over DNS (использует DNS-запросы). Эти методы могут помочь в сетях, где разрешены только ICMP или DNS.
Однако важно понимать ограничения: даже SoftEther не гарантирует защиту от «тяжёлой артиллерии» — государственных систем глубокого анализа трафика, которые могут блокировать все неизвестные протоколы. Тем не менее, для обхода примитивных блокировок и фильтрации по ключевым словам SoftEther показывает высокую эффективность.
Для повышения скрытности рекомендуется:
- Использовать только порт 443 и отключить остальные порты.
- Отключить страницу приветствия сервера (флаг
DisableJsonRpcWebApi trueв конфигурации). - Использовать обфусцированные режимы OpenVPN или собственный протокол SoftEther.
Безопасность и устранение неполадок
SoftEther VPN уделяет большое внимание безопасности. За время существования проекта было выпущено несколько обновлений, закрывающих уязвимости, включая CVE-2023-27395, обнаруженную при аудите с участием Cisco Systems. В версии 4.44 Build 9807 добавлена защита от TunnelCrack — атаки, позволяющей перехватывать VPN-трафик. Рекомендуется всегда использовать последнюю версию.
Типичные проблемы и их решение:
- Ошибка подключения (код 1) — проверьте правильность IP-адреса/имени хоста, порта (обычно 443) и стабильность интернет-соединения.
- SSL 3.0 — не включайте этот устаревший протокол, используйте TLS (по умолчанию).
- UDP Acceleration и NAT Traversal — отключение этих опций может помочь обойти некоторые сетевые ограничения и повысить маскировку.
- Скорость подключения — зависит от базовой скорости интернета, загрузки сервера, расстояния до него и количества TCP-соединений. Увеличение числа соединений (до 8) может повысить пропускную способность.
- Прокси-сервер — если требуется подключение через прокси, укажите параметры HTTP или SOCKS прокси в настройках соединения.
Для диагностики используйте встроенные логи и команду vpncmd для управления сервером из командной строки.
SoftEther VPN в сравнении с другими решениями
SoftEther часто сравнивают с OpenVPN, WireGuard и коммерческими VPN-сервисами. Вот основные отличия:
- OpenVPN — SoftEther включает клон OpenVPN-сервера, что позволяет использовать существующие OpenVPN-клиенты. При этом собственный протокол SoftEther обычно быстрее и лучше маскируется.
- WireGuard — современный протокол с высокой скоростью, но не имеет встроенной маскировки и поддержки нескольких протоколов. SoftEther может работать с WireGuard через сторонние реализации, но нативно его не поддерживает.
- Коммерческие VPN — предлагают простоту использования и готовую инфраструктуру, но SoftEther даёт полный контроль над сервером и не требует ежемесячной платы.
SoftEther особенно полезен для:
- Организаций, которым нужен собственный VPN-сервер с поддержкой разных клиентов.
- Пользователей, желающих обойти блокировки без использования публичных VPN-сервисов.
- Сетевых инженеров, которым нужны гибкие L2/L3 VPN-топологии.
Однако для неопытных пользователей настройка сервера может показаться сложной. В таких случаях проще использовать готовые VPN-сервисы, предоставляющие SoftEther-подключения с уже настроенными серверами.
Вопросы и ответы
Почему стоит выбрать SoftEther VPN вместо других VPN-протоколов?
SoftEther обеспечивает высокую безопасность, поддержку нескольких протоколов (SSL-VPN, OpenVPN, L2TP/IPsec, SSTP, L2TPv3, EtherIP) и функции маскировки, позволяющие скрывать VPN-трафик под вид обычного HTTPS. Это снижает риск обнаружения и блокировки, а также упрощает миграцию с других решений.
Как исправить ошибку SoftEther (код 1): не удалось подключиться к серверу?
Проверьте IP-адрес или имя хоста сервера, убедитесь, что указан правильный порт (чаще всего 443), и что ваше интернет-соединение стабильно. Также проверьте, что сервер запущен и доступен из внешней сети, а учётные данные и имя хаба введены верно.
Могу ли я включить SSL 3.0 для повышения безопасности?
Нет, SSL 3.0 устарел и содержит известные уязвимости. SoftEther по умолчанию использует TLS, что обеспечивает современный уровень безопасности. Включайте SSL 3.0 только в крайних случаях и при явной необходимости, лучше избегать.
Безопасно ли отключить «UDP Acceleration» и «NAT Traversal»?
Да, отключение этих опций безопасно и может помочь обойти некоторые сетевые ограничения, а также повысить уровень маскировки. В некоторых сетях UDP-трафик блокируется или фильтруется, поэтому использование только TCP (через 443 порт) предпочтительнее.
Как настроить несколько VPN-подключений в менеджере?
В SoftEther VPN Client Manager нажмите «Add VPN Connection» для каждого нового подключения и укажите индивидуальные параметры: сервер, порт, имя хаба, учётные данные. Затем вы сможете переключаться между профилями, выбирая нужный и нажимая «Connect».
Почему скорость подключения при использовании SoftEther VPN может меняться?
Скорость зависит от нескольких факторов: базовой скорости вашего интернет-канала, местоположения VPN-сервера, его загрузки, качества маршрута и числа настроенных TCP-соединений. Увеличение количества TCP-соединений (например, до 8) может повысить пропускную способность, но не гарантирует её.
Что делать, если нужно использовать прокси-сервер для подключения к VPN?
В настройках VPN-подключения укажите «Connect via HTTP Proxy Server» или «Connect via SOCKS Proxy Server» и введите адрес и порт прокси, а также при необходимости логин и пароль. Это позволит сначала установить соединение с прокси, а затем уже с VPN-сервером.