В свете периодических блокировок в РБ и РФ, блокирующих как “недозволенные речи неугодных” так и работу специалистов разных мастей, организации и просто технари перебирают возможности различных VPN решений. SoftEther VPN в моем списке выглядит как бесплатное “чудо-решение”, которое позволяет иметь под рукой внушительный лист протоколов VPN из коробки: L2TP, IPSec, OpenVPN, SSTP, SoftEther VPN.  Цель туториала - упростить его установку, сделав доступным любому специалисту способному подключиться по ssh к серверу и вбить пару команд. Если вас интересуют все возможности решения - на хабре уже есть обзоры SoftEther VPN: раз два три.   Я не системный администратор и не специалист по безопасности. Могу быть не прав. Наиболее интересными протоколами для нас выглядят протоколы работающие поверх 443 порта т.к. похожи на https трафик: "SSTP", "SoftEther VPN". Ставим нашей целью настроить оба, остальные протоколы бонусом.Хотя по опыту,  они не спасут в случае применения тяжелой артиллерии. SoftEther VPN Server manager for Windows Ubuntu 20.04 server Docker 19+ на борту SoftEther VPN Client под необходимую вам систему. [Опционально, если планируете использовать "SoftEther VPN" протокол] Под FreeBSD SoftEther доступен для установки через пакетный менеджер. Листаем к пункту 7. Спасибо @i7071270 Создадим папку для наших настроек  Создайте и откройте docker-compose.yamlфайл используя vi или nano  nano docker-compose.yaml ВНИМАНИЕ: Замените следующие ключи своими значениями <PSK> - pre-shared key. Используется для IpSec <username> <password> <spassword> - Server management password  (супер админ - будьте с ним аккуратны) <hpassword> - hub management password   В секции USERS вы можете определить предустановленных юзеров: username:password;user2:pass2;   Стартуем из папки с docker-compose.yaml  Во время первого запуска контейнера была создана конфигурация. Давайте скопируем ее из контейнера в нашу папку.   Теперь нам необходимо раскомментировать строки 13, 14 в файле docker-compose.yaml Итоговый файл должен выглядеть так Теперь вы не будете терять ваш конфиг после каждого перезапуска контейнера. Для обновления конфигурации контейнера вызываем. Запускаем SoftEther VPN Server manager for Windows с локальной машины и подключаемся к созданному серверу: Если вам удалось подключиться - вам уже доступны протоколы  L2TP, IPSec, SoftEther VPN. (при условии, что у вас установлены соответствующие клиенты) Пора настроить OpenVPN Активируем протокол в настройках Кнопка "Generate a Sample Configuration File for OpenVPN Clients" отдаст вам файл который вы можете скормить типовому OpenVPN клиенту. Пришло время настроить SSTP Первое, что нужно сделать - сгенерировать self-signed сертификат для сервера: Экспортируем сертификат в формате .cer Этот сертификат необходимо импортировать в Trusted Root Certificate Authorities вашей системы. Для этого Открываем утилиту "Manage Computer Certificates" Импортируем сертификат в "Trusted Root Certificate Authorities" Важно: Store location должен быть установлен в Local: После импорта, в ветке Certificates вы увидите сертификат с IP адресом вашего сервера. Попробуем установить подключение, для этого идем в настройки VPN: Добавляем новое VPN соединение Готово! Если все настройки были выполнены верно, соединение должно было успешно установиться. По адресу https://<your_ip_address> доступна страница приветствия SoftEther VPN. Чтобы лишний раз не афишировать факт, что это VPN сервер, давайте ее отключим. Откроем на редактирование файл vpn_server.config   Заменим флагbool DisableJsonRpcWebApi false  на bool DisableJsonRpcWebApi true Перезапустим контейнер:  Имеет смысл скрыть все неиспользуемые нами порты. В моем случае все кроме 443. Для этого комментируем в файлеdocker-compose.yaml строки с лишними портами Теперь у нас под рукой есть многопользовательский VPN Server с набором протоколов которые можно перебирать в надежде достучаться до рабочего варианта в случае известных форс-мажоров. Всем спасибо! Just one more developer