Что такое SoftEther VPN и почему он популярен
SoftEther VPN — это бесплатное, мультипротокольное VPN-решение с открытым исходным кодом, разработанное в Университете Цукубы (Япония). Оно позиционируется как гибкая альтернатива OpenVPN, предлагая более широкий набор протоколов и лучшую производительность в некоторых сценариях. Основное преимущество SoftEther — поддержка практически всех распространённых туннельных протоколов: L2TP/IPsec, MS-SSTP, EtherIP, L2TPv3, OpenVPN и собственного протокола SoftEther VPN, который маскируется под HTTPS-трафик. Это делает его идеальным инструментом для обхода блокировок и обеспечения безопасного доступа к ресурсам.
В отличие от OpenVPN, SoftEther не требует наличия TUN/TAP-устройств в ядре операционной системы. Он работает на любых VPS/VDS, включая виртуальные машины с ограниченной поддержкой сетевых драйверов. Это существенно упрощает развёртывание на дешёвых хостингах и в облачных средах. Кроме того, SoftEther поддерживает передачу данных не только по TCP/UDP, но и через имитацию ICMP (ping) и DNS-запросов, что позволяет обходить фильтрацию трафика в сетях с жёсткими ограничениями.
Клиентское и серверное ПО доступно для всех популярных операционных систем: Windows, Linux, macOS, FreeBSD и Solaris. Установка из исходных кодов в UNIX-системах максимально упрощена и не требует глубоких знаний компиляции. Всё это делает SoftEther привлекательным выбором как для корпоративных сетей, так и для частных пользователей, заботящихся о конфиденциальности.
Компоненты SoftEther VPN: сервер, клиент, мост и инструменты управления
Программный пакет SoftEther состоит из нескольких компонентов, каждый из которых выполняет свою функцию:
- VPN Server — основной серверный компонент, который включает в себя сам сервер, мост и (в Windows-версии) графический менеджер. Он обеспечивает создание виртуальных хабов, управление пользователями и протоколами.
- VPN Bridge — компонент для соединения локальных сетей через VPN-туннели. Позволяет объединять несколько офисов или филиалов в единую сеть.
- VPN Server Manager — графическая утилита для Windows, предназначенная для администрирования локальных и удалённых VPN-серверов. Это самый удобный способ управления, особенно для начинающих администраторов.
- vpncmd — консольная утилита для управления сервером, мостом и клиентом. Доступна в UNIX-системах и Windows. Позволяет выполнять все операции через командную строку, что удобно для автоматизации.
- VPN Client — клиентское ПО для подключения к VPN-серверу. Поддерживает все протоколы SoftEther, включая собственный, L2TP/IPsec, SSTP и OpenVPN.
В UNIX-системах vpncmd устанавливается вместе с сервером, а в Windows входит в состав VPN Server Manager. Для управления удалёнными серверами можно использовать любой из этих инструментов, подключаясь по протоколу SoftEther или через SSH-туннель.
Подготовка сервера: требования и установка на Linux
Перед установкой SoftEther VPN Server убедитесь, что ваш сервер соответствует минимальным требованиям: 1 ГБ оперативной памяти, 10 ГБ дискового пространства и статический IP-адрес. Для работы с Docker достаточно 512 МБ ОЗУ, но для активного использования лучше иметь больше.
Установка из исходных кодов на CentOS или Ubuntu/Debian включает несколько шагов. Сначала установите компилятор и инструменты сборки:
# CentOS
yum groupinstall -y "Development Tools"
# Ubuntu/Debian
apt-get install -y build-essentialЗатем скачайте исходники с официального сайта SoftEther. Например, для версии v4.27-9666-beta:
cd /usr/local
wget http://www.softether-download.com/files/softether/v4.27-9666-beta-2018.04.21-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.27-9666-beta-2018.04.21-linux-x64-64bit.tar.gz
tar -zxvf softether-vpnserver-v4.27-9666-beta-2018.04.21-linux-x64-64bit.tar.gz
cd vpnserver
makeВо время компиляции вам будет предложено принять лицензионное соглашение — отвечайте утвердительно (выберите 1). После сборки установите права доступа:
chmod 600 *
chmod 700 vpnserver
chmod 700 vpncmdПроверьте совместимость системы с помощью встроенного инструмента проверки:
./vpncmd
# Выберите пункт 3 (VPN Tools), затем выполните команду checkЕсли все проверки пройдены (All checks passed), можно переходить к настройке.
Быстрый старт с Docker: развёртывание за 5 минут
Для тех, кто предпочитает контейнеризацию, SoftEther можно развернуть в Docker за несколько минут. Это особенно удобно для тестирования или быстрого запуска на облачных VPS. Используйте готовый образ siomiz/softethervpn.
Создайте файл docker-compose.yaml со следующей конфигурацией (замените значения в угловых скобках на свои):
version: '3'
services:
softethervpn:
container_name: 'softethervpn'
image: siomiz/softethervpn
cap_add:
- NET_ADMIN
environment:
- PSK= # pre-shared key для IPsec
- "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.yaml и перезапустите контейнер. Теперь вы можете подключаться к серверу через VPN Server Manager для Windows или использовать встроенные протоколы.
Первичная настройка: пароль администратора и виртуальные хабы
После установки SoftEther необходимо выполнить начальную настройку. Запустите сервер:
./vpnserver startЗатем войдите в консоль управления:
./vpncmd
# Выберите пункт 1 (Management of VPN Server or VPN Bridge)
# Укажите localhost (или localhost:порт, если 443 занят)Первым делом установите пароль администратора сервера:
VPN Server>ServerPasswordSetВведите и подтвердите пароль. Далее создайте виртуальный хаб — это изолированная среда со своими пользователями, протоколами и политиками безопасности. На одном сервере может быть до 4096 хабов. Удалите стандартный хаб DEFAULT и создайте свой:
VPN Server>HubDelete
Name of Virtual Hub to delete: DEFAULT
VPN Server>HubCreate
Name of Virtual Hub to be created: VPN_1После создания хаб появится в списке (команда HubList). Переключитесь на управление хабом:
VPN Server>Hub VPN_1Теперь создайте пользователя и задайте ему пароль:
VPN Server/VPN_1>UserCreate
User Name: denni
VPN Server/VPN_1>UserPasswordSet
User Name: denniЭти действия можно выполнить и через графический менеджер, но консоль даёт больше контроля и возможностей для автоматизации.
Настройка протоколов: L2TP/IPsec, OpenVPN, SSTP и SoftEther VPN
SoftEther поддерживает множество протоколов, что позволяет подключаться с любых устройств. Рассмотрим настройку каждого из них.
L2TP/IPsec — стандартный протокол для Windows, macOS, iOS и Android. Для его активации достаточно включить IPsec в настройках сервера и указать pre-shared key (PSK). В Docker-образе PSK задаётся через переменную окружения. Клиенты подключаются по адресу сервера с указанием имени пользователя и пароля.
OpenVPN — популярный протокол, который SoftEther поддерживает из коробки. В VPN Server Manager выберите «Enable OpenVPN Clone Server» и нажмите «Generate a Sample Configuration File for OpenVPN Clients». Полученный файл можно использовать в любом OpenVPN-клиенте. Это удобно для пользователей, привыкших к OpenVPN.
SSTP (Secure Socket Tunneling Protocol) — протокол от Microsoft, работающий поверх HTTPS (порт 443). Он отлично маскируется под обычный веб-трафик. Для настройки SSTP необходимо сгенерировать самоподписанный сертификат на сервере, экспортировать его в формате .cer и импортировать в доверенные корневые центры сертификации на клиентской машине. После этого создаётся VPN-подключение SSTP.
SoftEther VPN — собственный протокол, который также работает через 443 порт и имитирует HTTPS. Он обеспечивает наилучшую производительность и устойчивость к блокировкам. Для подключения используйте официальный клиент SoftEther VPN Client.
Все протоколы можно использовать одновременно, что даёт гибкость при выборе способа подключения.
Управление виртуальными хабами и пользователями
Виртуальные хабы — это ключевая концепция SoftEther. Каждый хаб работает как отдельный VPN-сервер со своими настройками, пользователями и политиками безопасности. Хабы изолированы друг от друга, но могут быть объединены через мосты или каскадные соединения.
Для создания хаба используйте команду HubCreate, для удаления — HubDelete. Просмотр списка хабов и их статистики — HubList. Управление пользователями внутри хаба осуществляется командами UserCreate, UserDelete, UserPasswordSet, UserList. Каждому пользователю можно назначить группу, полное имя и описание.
Группы позволяют применять одинаковые политики безопасности к нескольким пользователям. Например, можно ограничить пропускную способность, разрешить доступ только к определённым ресурсам или установить срок действия пароля. Политики задаются через команду SecurityPolicySet или через графический интерфейс.
Для организации доступа к локальной сети за сервером используйте Local Bridge или SecureNAT. Local Bridge работает через TAP-устройство и требует поддержки TUN/TAP в ядре. Если она отсутствует, используйте SecureNAT — встроенный NAT и DHCP-сервер, который не требует дополнительных драйверов. SecureNAT настраивается командой SecureNatEnable и позволяет клиентам получать IP-адреса из заданного диапазона.
Обеспечение безопасности: шифрование, сертификаты и скрытие сервера
Безопасность — критически важный аспект при развёртывании VPN-сервера. SoftEther предоставляет несколько уровней защиты.
Шифрование — все протоколы используют современные алгоритмы (AES-256, RSA-4096 и другие). Для собственного протокола SoftEther и SSTP используется TLS, что обеспечивает защиту от прослушивания.
Аутентификация — помимо паролей, можно использовать сертификаты. SoftEther поддерживает создание и импорт сертификатов для пользователей и групп. Это повышает безопасность, так как сертификаты сложнее подделать.
Скрытие сервера — чтобы не привлекать внимание, отключите веб-интерфейс приветствия. В файле vpn_server.config найдите параметр bool DisableJsonRpcWebApi и установите его в true. Также рекомендуется закрыть все неиспользуемые порты, оставив только 443 (для SSTP и SoftEther VPN). Это снижает поверхность атаки и делает сервер менее заметным.
Брандмауэр — настройте файрвол на сервере, разрешив только необходимые порты. Для Docker используйте проброс портов только тех сервисов, которые реально нужны.
Мониторинг — регулярно просматривайте логи сервера (команда LogFileList) и статистику подключений (SessionList). Это поможет выявить подозрительную активность.
Автозапуск и обслуживание сервера
Чтобы VPN-сервер запускался автоматически после перезагрузки системы, создайте systemd-юнит или скрипт автозапуска. Для CentOS/Ubuntu можно использовать следующий подход:
Создайте файл /etc/systemd/system/softether.service:
[Unit]
Description=SoftEther VPN Server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop
PIDFile=/usr/local/vpnserver/vpnserver.pid
Restart=on-failure
[Install]
WantedBy=multi-user.targetЗатем выполните:
systemctl daemon-reload
systemctl enable softether
systemctl start softetherДля Docker-контейнера автозапуск настраивается через restart: always в docker-compose.yaml.
Регулярно обновляйте SoftEther до последней версии, чтобы получать исправления безопасности и новые функции. Следите за официальным сайтом проекта и репозиторием GitHub.
Также полезно настроить резервное копирование конфигурационного файла vpn_server.config. В Docker это делается через volume, как описано выше. В обычной установке можно добавить задачу cron для копирования файла в безопасное место.
Решение типичных проблем и рекомендации по выбору
При работе с SoftEther могут возникать типичные проблемы. Рассмотрим их и способы решения.
Ошибка подключения к консоли (Error code: 2) — возникает, если порт 443 занят другим приложением. Используйте альтернативный порт (992, 1194, 5555) при подключении: localhost:992.
Не работает TUN/TAP — если ваш VPS не поддерживает TUN/TAP, используйте SecureNAT вместо Local Bridge. Это не требует дополнительных драйверов.
Проблемы с SSTP — убедитесь, что сертификат импортирован в доверенные корневые центры на клиенте. Также проверьте, что порт 443 открыт и не блокируется файрволом.
Медленное соединение — проверьте настройки шифрования и выберите протокол с меньшими накладными расходами. SoftEther VPN обычно быстрее, чем OpenVPN.
При выборе между SoftEther и OpenVPN учитывайте следующие факторы:
- Простота установки — SoftEther проще в установке на VPS без TUN/TAP.
- Мультипротокольность — SoftEther поддерживает больше протоколов из коробки.
- Производительность — SoftEther часто показывает более высокую скорость благодаря оптимизации.
- Сообщество — OpenVPN имеет более широкое сообщество и документацию, но SoftEther активно развивается.
Если вам нужен универсальный VPN-сервер с возможностью обхода блокировок, SoftEther — отличный выбор.
Вопросы и ответы
Какие протоколы поддерживает SoftEther VPN Server?
SoftEther поддерживает L2TP/IPsec, MS-SSTP, EtherIP, L2TPv3, OpenVPN и собственный протокол SoftEther VPN. Это позволяет подключаться с любых устройств и обходить блокировки, так как трафик может маскироваться под HTTPS.
Можно ли использовать SoftEther на VPS без TUN/TAP?
Да, SoftEther работает на любых VPS, даже без поддержки TUN/TAP. Для этого используется режим SecureNAT, который не требует дополнительных драйверов. Это одно из главных преимуществ перед OpenVPN.
Как настроить автозапуск SoftEther VPN Server?
Для обычной установки создайте systemd-юнит, как показано в статье. Для Docker добавьте restart: always в docker-compose.yaml. Это обеспечит автоматический запуск после перезагрузки.
Как скрыть факт использования VPN-сервера?
Отключите веб-интерфейс приветствия, установив DisableJsonRpcWebApi true в конфигурации. Также закройте неиспользуемые порты, оставив только 443. Используйте протоколы SSTP или SoftEther VPN, которые маскируются под HTTPS.
Какие порты нужно открыть для работы SoftEther?
Основные порты: 443 (SSTP, SoftEther VPN), 992 (SoftEther VPN), 1194 (OpenVPN), 5555 (SoftEther VPN), 500/4500/1701 (L2TP/IPsec). Для минимальной конфигурации достаточно 443.
Можно ли создать несколько виртуальных хабов на одном сервере?
Да, SoftEther позволяет создавать до 4096 виртуальных хабов. Каждый хаб изолирован и имеет своих пользователей, настройки и политики безопасности. Это удобно для разделения клиентов или отделов.
Как обновить SoftEther VPN Server?
Скачайте новую версию с официального сайта, остановите сервер, замените файлы и запустите заново. В Docker просто обновите образ и перезапустите контейнер. Сохраняйте конфигурационный файл для переноса настроек.