Что такое SoftEther VPN Server и почему он удобен
SoftEther VPN Server — это мультипротокольный VPN-сервер с открытым исходным кодом, который поддерживает сразу несколько технологий туннелирования: собственный SSL-VPN протокол, L2TP/IPsec, OpenVPN, MS-SSTP, EtherIP и L2TPv3. Благодаря этому один сервер может обслуживать клиентов с самыми разными устройствами и операционными системами без необходимости разворачивать отдельные службы для каждого протокола.
Ключевая особенность SoftEther — способность маскировать VPN-трафик под обычный HTTPS. Собственный протокол SSL-VPN работает поверх TCP-порта 443 и визуально неотличим от защищённого веб-трафика, что позволяет обходить строгие сетевые фильтры и DPI-системы, которые блокируют классические VPN-решения. Кроме того, SoftEther умеет передавать данные через ICMP (ping) и DNS-запросы, что может быть полезно в сетях с жёсткими ограничениями.
Ещё одно преимущество — нетребовательность к виртуализации. В отличие от OpenVPN, которому требуются TUN/TAP-устройства в ядре, SoftEther работает на любых VPS/VDS, включая самые дешёвые тарифы с ограниченной функциональностью ядра. Это делает его идеальным выбором для быстрого развёртывания на облачных серверах.
Программное обеспечение SoftEther состоит из нескольких компонентов: сервер, мост (Bridge), клиент и утилита управления vpncmd. Для Windows доступен графический менеджер VPN Server Manager, который значительно упрощает администрирование. Все компоненты распространяются бесплатно под лицензией GPLv2, что позволяет использовать их в коммерческих проектах без дополнительных отчислений.
Подготовка к установке: системные требования и выбор платформы
Перед установкой SoftEther VPN Server важно определиться с платформой. Проект исторически начинался с Windows, и для этой ОС доступен самый полный набор инструментов, включая графический менеджер. Однако серверная часть одинаково хорошо работает и на Linux-системах, где управление осуществляется через консольную утилиту vpncmd.
Для Windows Server потребуется:
- Windows Server 2019, 2022 или более новый релиз (проверяйте совместимость конкретной сборки SoftEther);
- права локального администратора;
- статический IP-адрес или зарезервированный внешний адрес;
- открытые порты в брандмауэре Windows и на уровне хостинг-провайдера.
Для Linux (CentOS, Ubuntu, Debian) потребуется:
- компилятор и базовые утилиты сборки (build-essential или Development Tools);
- доступ к терминалу с правами root;
- те же требования к сетевым портам.
Выбор платформы зависит от ваших задач. Если VPN-сервер будет единственной службой на машине и важен минимальный расход ресурсов, Linux-сервер с SoftEther или WireGuard обычно выгоднее. Windows Server имеет смысл, когда на этом же сервере уже работает другая Windows-инфраструктура или графическое управление критически важно.
Перед установкой убедитесь, что порты TCP 443, 992, 1194, 5555 и UDP 500, 4500 не заняты другими службами. На Windows Server часто конфликтует IIS, который по умолчанию слушает 443-й порт. Проверить занятость порта можно командой Get-NetTCPConnection -LocalPort 443 в PowerShell или netstat -tulpn в Linux.
Установка SoftEther VPN Server на Windows Server
Установка на Windows Server максимально проста и не требует дополнительных зависимостей. Скачайте дистрибутив с официального сайта SoftEther Project, выбрав компонент SoftEther VPN Server, платформу Windows и архитектуру (обычно 64-bit Intel).
Запустите установщик от имени администратора. На экране выбора компонентов отметьте только SoftEther VPN Server — Bridge в большинстве случаев не нужен. Согласитесь с лицензией и укажите каталог установки (по умолчанию C:\Program Files\SoftEther VPN Server). Установщик автоматически зарегистрирует службу Windows SEVPNSERVER и настроит её автозапуск.
После завершения установки проверьте статус службы командой:
Get-Service -Name "SEVPNSERVER"Статус должен быть Running. Если служба не стартовала, загляните в Event Viewer — чаще всего причина в занятом порту или запрете политикой безопасности.
По окончании установки мастер предложит запустить VPN Server Manager. Соглашайтесь — дальнейшая настройка через графический интерфейс значительно удобнее, чем работа с консолью. При первом подключении к серверу (localhost) система попросит задать пароль администратора. Обязательно установите сложный пароль — это единственная точка защиты всей конфигурации.
Установка SoftEther VPN Server на Linux (CentOS, Ubuntu, Debian)
На Linux установка требует компиляции из исходников, но процесс максимально автоматизирован. Сначала установите инструменты сборки:
Для CentOS/RHEL:
yum groupinstall -y "Development Tools"Для Ubuntu/Debian:
apt-get install -y build-essentialЗатем перейдите в каталог /usr/local и скачайте архив с исходным кодом с официального сайта SoftEther. Например, для версии 4.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Распакуйте архив и перейдите в каталог vpnserver:
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Проверьте совместимость системы с SoftEther, запустив ./vpncmd и выбрав раздел 3 (VPN Tools), затем выполните команду check. Если все проверки пройдены (All checks passed), сервер готов к работе. Запустите его командой ./vpnserver start.
Первоначальная настройка: пароль администратора и виртуальные хабы
После запуска сервера необходимо выполнить начальную настройку. На Windows это делается через VPN Server Manager, на Linux — через консольную утилиту vpncmd. Рассмотрим оба варианта.
Настройка через VPN Server Manager (Windows):
- Запустите менеджер и укажите адрес сервера (localhost или удалённый IP).
- При первом подключении задайте пароль администратора.
- В главном окне создайте виртуальный хаб — логическую единицу, к которой подключаются пользователи. Нажмите "Create a New Virtual Hub" и задайте имя, например MAIN.
- Внутри хаба перейдите в "Manage Users" и создайте пользователя с парольной аутентификацией или сертификатом.
Настройка через vpncmd (Linux):
- Запустите
./vpncmd, выберите раздел 1 (Management of VPN Server or VPN Bridge). - Укажите
localhost(илиlocalhost:992, если порт 443 занят). - Установите пароль администратора командой
ServerPasswordSet. - Удалите стандартный хаб DEFAULT командой
HubDelete, затем создайте новый командойHubCreate VPN_1. - Перейдите в управление хабом командой
Hub VPN_1. - Создайте пользователя командой
UserCreate, затем задайте пароль командойUserPasswordSet.
Виртуальный хаб — это изолированный VPN-сервер со своими пользователями, политиками безопасности и настройками протоколов. На одном физическом сервере можно создать до 4096 хабов, которые не взаимодействуют друг с другом, если их специально не объединить мостом. Это удобно для разделения клиентов по отделам или уровням доступа.
Настройка протоколов: L2TP/IPsec, SSTP, OpenVPN и собственный SSL-VPN
Одно из главных преимуществ SoftEther — возможность одновременно использовать несколько протоколов на одном сервере. Клиент сам выбирает, какой протокол ему удобнее, в зависимости от устройства и сетевых условий.
Собственный протокол SoftEther (SSL-VPN): Работает поверх TCP-порта 443 и маскируется под HTTPS. Для подключения требуется установить SoftEther VPN Client на устройство. Этот протокол обеспечивает максимальную производительность и совместимость, но требует установки дополнительного ПО.
L2TP/IPsec: Поддерживается встроенными клиентами Windows, iOS, Android и macOS. Для включения в VPN Server Manager перейдите в настройки хаба → IPsec/L2TP Settings, включите L2TP over IPsec и задайте Pre-Shared Key (PSK). На Linux это делается командой IPsecEnable. Важно открыть UDP-порты 500 и 4500 в брандмауэре. L2TP чувствителен к точному совпадению PSK, поэтому при проблемах проверяйте ключ на клиенте.
SSTP: Протокол на базе HTTPS, который хорошо проходит через строгие фильтры, так как использует тот же порт 443. Встроен в Windows, настройка сводится к созданию VPN-подключения типа SSTP с указанием адреса сервера. SoftEther автоматически различает SSTP и собственный SSL-VPN трафик на одном порту.
OpenVPN: SoftEther может работать как OpenVPN-сервер, что позволяет подключаться любым OpenVPN-клиентом. Это удобно для миграции с существующей OpenVPN-инфраструктуры без замены клиентского ПО.
Для включения OpenVPN-режима на Linux используется команда OpenVpnEnable yes /PORTS:1194. На Windows — через графический интерфейс в настройках хаба.
Настройка SecureNAT и локального моста для доступа в интернет
Чтобы клиенты VPN могли выходить в интернет через сервер, необходимо настроить либо SecureNAT, либо локальный мост (Local Bridge). Выбор зависит от ваших задач и возможностей виртуализации.
SecureNAT — это встроенный механизм, который включает виртуальный DHCP-сервер и NAT. Он не требует TUN/TAP-устройств и работает на любых VPS/VDS. Включить SecureNAT можно в настройках хаба: в VPN Server Manager — вкладка SecureNAT, на Linux — команда SecureNatEnable. По умолчанию виртуальная сеть использует подсеть 192.168.30.0/24, но её можно изменить. SecureNAT удобен для быстрого развёртывания, но даёт меньше контроля над маршрутизацией.
Local Bridge — это мост между виртуальным хабом и физическим сетевым интерфейсом сервера. Он позволяет клиентам VPN получить доступ к локальной сети, как будто они находятся в ней физически. Для создания моста на Linux используется команда:
BridgeCreate VPN_1 -device:vpn -tap:yesПосле этого в системе появится интерфейс tap_vpn, которому нужно назначить IP-адрес. На Windows мост создаётся через графический интерфейс, но требует установки драйвера TAP (обычно идёт в комплекте с SoftEther).
Если вы планируете использовать VPN для доступа к внутренним ресурсам (например, RDP), Local Bridge предпочтительнее. Для простого выхода в интернет достаточно SecureNAT. В некоторых случаях можно комбинировать оба подхода, но это требует более тонкой настройки маршрутизации.
Настройка брандмауэра и портов: Windows и Linux
Правильная настройка брандмауэра — критический шаг для работы VPN-сервера. Ошибки здесь — самая частая причина проблем с подключением.
Windows Server: Встроенный брандмауэр Windows по умолчанию блокирует входящие соединения к новым службам. Добавьте правила через PowerShell:
New-NetFirewallRule -DisplayName "SoftEther Admin/SSL-VPN" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
New-NetFirewallRule -DisplayName "SoftEther IPsec IKE" -Direction Inbound -Protocol UDP -LocalPort 500 -Action Allow
New-NetFirewallRule -DisplayName "SoftEther IPsec NAT-T" -Direction Inbound -Protocol UDP -LocalPort 4500 -Action Allow
New-NetFirewallRule -DisplayName "SoftEther OpenVPN" -Direction Inbound -Protocol UDP -LocalPort 1194 -Action AllowЕсли сервер находится за облачным файрволом (security group у хостинг-провайдера), те же порты нужно открыть и там — брандмауэр Windows отвечает только за уровень ОС.
Linux (iptables/firewalld): Для CentOS/RHEL с firewalld:
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --add-port=500/udp
firewall-cmd --permanent --add-port=4500/udp
firewall-cmd --permanent --add-port=1194/udp
firewall-cmd --reloadДля Ubuntu/Debian с ufw:
ufw allow 443/tcp
ufw allow 500/udp
ufw allow 4500/udp
ufw allow 1194/udp
ufw enableНе забудьте также открыть порты на уровне хостинг-провайдера, если используете облачный сервер. В панели управления хостингом обычно есть раздел "Security Groups" или "Firewall Rules".
Подключение клиентов: настройка SoftEther Client и встроенных VPN-клиентов
SoftEther поддерживает несколько способов подключения, и выбор зависит от устройства и предпочтений пользователя.
SoftEther VPN Client (родной протокол): Скачайте и установите SoftEther VPN Client на устройство. Создайте новое подключение, указав:
- имя подключения (произвольное);
- адрес сервера (внешний IP или домен);
- порт (по умолчанию 443 или 5555);
- имя виртуального хаба (например, MAIN);
- логин и пароль пользователя.
После сохранения подключения просто дважды кликните по нему — соединение установится за секунды. Этот способ даёт максимальную производительность и доступ ко всем функциям SoftEther.
Встроенные клиенты ОС (L2TP/IPsec): На Windows, iOS, Android и macOS можно настроить VPN-подключение без установки дополнительного ПО. В настройках VPN выберите тип L2TP/IPsec PSK, укажите адрес сервера, Pre-Shared Key из настроек хаба, логин и пароль. Этот способ удобен для мобильных устройств, но L2TP может блокироваться в сетях со строгим NAT.
SSTP (Windows): В оснастке "Подключения" Windows создайте VPN-подключение типа SSTP, укажите адрес сервера. SoftEther слушает SSTP на том же 443-м порту, что и админку, автоматически различая трафик. SSTP хорошо проходит через строгие фильтры, так как выглядит как обычный HTTPS.
OpenVPN: Если у вас уже есть OpenVPN-клиенты, их можно подключить к SoftEther, указав адрес сервера и порт 1194. Для этого на сервере должен быть включён OpenVPN-режим.
После подключения клиент получает IP-адрес из пула SecureNAT (например, 192.168.30.x) и может выходить в интернет через сервер. Если настроен Local Bridge, клиент также получает доступ к локальной сети сервера.
Диагностика типичных проблем и резервное копирование
Даже при правильной настройке могут возникать проблемы. Рассмотрим самые частые и способы их решения.
Клиент подключается, но нет интернета. Проверьте, включён ли SecureNAT в хабе, и что виртуальный DHCP реально раздаёт адреса. В VPN Server Manager посмотрите вкладку SecureNAT → Status. На Linux выполните SecureNatStatus. Если SecureNAT выключен, а Local Bridge не настроен, клиент не получит маршрут по умолчанию.
Служба стартует и сразу падает. Чаще всего это конфликт портов — что-то другое на сервере уже слушает 443 (например, IIS). Проверьте занятость порта: на Windows Get-NetTCPConnection -LocalPort 443, на Linux netstat -tulpn | grep 443. Если порт занят, измените порт SoftEther в конфигурации или остановите конфликтующую службу.
L2TP не поднимается, а SoftEther-протокол работает. Обычно причина в UDP 500/4500, заблокированных провайдерским NAT, либо в неверном PSK на стороне клиента. L2TP чувствителен к точному совпадению ключа — проверьте его на сервере и клиенте.
После перезагрузки сервера VPN не поднимается. Убедитесь, что служба SEVPNSERVER (Windows) или скрипт автозапуска (Linux) настроены правильно. На Windows служба должна быть в режиме Automatic. На Linux создайте systemd-юнит или добавьте команду запуска в rc.local.
Резервное копирование конфигурации. Вся конфигурация SoftEther хранится в одном файле — vpn_server.config в каталоге установки. Для бэкапа достаточно скопировать этот файл. На Windows:
Copy-Item "C:\Program Files\SoftEther VPN Server\vpn_server.config" "D:\Backups\vpn_server_$(Get-Date -Format yyyyMMdd).config"Восстановление — остановить службу, заменить файл, запустить службу заново. Это удобно для переноса конфигурации на другой сервер.
Вопросы и ответы
Нужна ли лицензия для использования SoftEther VPN Server?
Нет, SoftEther VPN Server и Client распространяются бесплатно под открытой лицензией GPLv2 с дополнительными условиями проекта. Это означает, что вы можете использовать их в коммерческих проектах без оплаты. Отдельно оплачивается только аренда сервера и лицензия операционной системы (если используется Windows Server).
Можно ли одновременно использовать несколько протоколов на одном сервере?
Да, это одна из ключевых особенностей SoftEther. Родной протокол SSL-VPN, L2TP/IPsec, SSTP и OpenVPN-режим работают параллельно на одном инстансе. Клиент сам выбирает, какой протокол использовать, в зависимости от устройства и настроек. Это позволяет обслуживать пользователей с Windows, macOS, iOS, Android и Linux без развёртывания нескольких серверов.
Чем VPN Server Manager отличается от vpncmd?
VPN Server Manager — это графическая утилита для Windows, которая является визуальной надстройкой над тем же API, что и консольная утилита vpncmd. Всё, что можно сделать в графическом интерфейсе, можно выполнить и в консоли, но для разовой настройки GUI обычно быстрее и снижает риск опечаток. На Linux доступен только vpncmd, но он предоставляет все необходимые функции.
Работает ли SoftEther через строгий DPI-фильтр?
Собственный протокол SoftEther и SSTP работают поверх TCP-порта 443 и визуально похожи на обычный HTTPS-трафик. В большинстве случаев они проходят там, где блокируется классический OpenVPN на нестандартных портах. Однако стопроцентной гарантии не даёт ни один протокол — всё зависит от конкретной политики фильтрации на стороне провайдера. Дополнительно SoftEther поддерживает туннелирование через ICMP и DNS, что может помочь в экстремальных ситуациях.
Стоит ли ставить SoftEther на Windows, если сервер будет использоваться только под VPN?
Если единственная задача — VPN и важен минимальный расход ресурсов, чаще выгоднее Linux-сервер с SoftEther или WireGuard: меньше накладных расходов ОС, ниже стоимость лицензии. Windows Server имеет смысл, когда на этом же сервере уже работает другая Windows-инфраструктура или графическое управление важнее экономии ресурсов. SoftEther одинаково стабилен на обеих платформах.
Как изменить порт, который слушает SoftEther VPN Server?
По умолчанию SoftEther слушает порты 443, 992, 1194 и 5555. Если порт 443 занят другой службой, вы можете подключиться к серверу через другой порт, указав его в адресе, например localhost:992. Для изменения портов в конфигурации отредактируйте файл vpn_server.config, найдя секцию с настройками слушающих портов, или используйте команды ListenerCreate и ListenerDelete в vpncmd. После изменения перезапустите службу.