Настройки SoftEther VPN Server: полное руководство по установке и конфигурации

Подробное руководство по настройке SoftEther VPN Server: установка на Windows и Linux, создание виртуальных хабов, пользователей, настройка протоколов, firewall, SecureNAT и диагностика.

Что такое 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):

  1. Запустите менеджер и укажите адрес сервера (localhost или удалённый IP).
  2. При первом подключении задайте пароль администратора.
  3. В главном окне создайте виртуальный хаб — логическую единицу, к которой подключаются пользователи. Нажмите "Create a New Virtual Hub" и задайте имя, например MAIN.
  4. Внутри хаба перейдите в "Manage Users" и создайте пользователя с парольной аутентификацией или сертификатом.

Настройка через vpncmd (Linux):

  1. Запустите ./vpncmd, выберите раздел 1 (Management of VPN Server or VPN Bridge).
  2. Укажите localhost (или localhost:992, если порт 443 занят).
  3. Установите пароль администратора командой ServerPasswordSet.
  4. Удалите стандартный хаб DEFAULT командой HubDelete, затем создайте новый командой HubCreate VPN_1.
  5. Перейдите в управление хабом командой Hub VPN_1.
  6. Создайте пользователя командой 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. После изменения перезапустите службу.