Настройка SoftEther VPN клиент/сервер в Linux

Оцените статью

SoftEther VPN — мощный мультипротокольный VPN‑сервер, поддерживающий широкий спектр протоколов: L2TP/IPsec, OpenVPN, SSTP, EtherIP, а также собственный протокол SecureNAT. Это делает его универсальным решением для организации защищённых сетевых соединений.

В отличие от некоторых других VPN‑решений, SoftEther не имеет графического интерфейса для управления в среде Linux. Однако это компенсируется функциональным консольным интерфейсом, который предоставляет полный контроль над настройками сервера. В этом руководстве мы пошагово разберём, как установить и настроить SoftEther VPN, используя командную строку.

1. Базовая настройка сервера через vpncmd

1.1. Установка пароля администратора

Чтобы защитить управление сервером, задайте пароль администратора:

ServerPasswordSet

Система запросит ввести и подтвердить надёжный пароль. Сохраните его в безопасном месте — он потребуется для дальнейшего администрирования.

1.2. Создание виртуального хаба (VPN‑сети)

Виртуальный хаб — это логический сегмент сети для подключённых клиентов.

  1. Создайте хаб:HubCreate main-hub
  2. Переключитесь в контекст созданного хаба:Hub main-hub

1.3. Добавление пользователя

Для подключения клиентов необходимо создать учётные записи.

  1. Создайте пользователя: UserCreate testuserНа этапе указания группы нажмите Enter (оставьте значение по умолчанию).
  2. Задайте пароль для пользователя: UserPasswordSet testuserВведите и подтвердите пароль.

1.4. Включение протоколов (опционально)

L2TP/IPsec

Чтобы активировать L2TP/IPsec, выполните:

IpsecEnable

Система запросит ввести PSK (Pre‑Shared Key) и другие параметры. Заполните их согласно вашим требованиям.

OpenVPN

Для включения OpenVPN используйте команду:

OpenVPNEnable

2. Настройка брандмауэра

Чтобы клиенты могли подключаться к серверу, откройте необходимые порты.

2.1. Для ufw (Ubuntu/Debian)

Выполните команды:

# ufw allow 5555/tcp     # управление сервером
# ufw allow 443/tcp      # HTTPS (если используется)
# ufw allow 1194/udp     # OpenVPN
# ufw allow 500/udp      # IPsec IKE
# ufw allow 4500/udp     # IPsec NAT‑T
# ufw reload

2.2. Для firewalld (RHEL/CentOS)

Выполните:

# firewall-cmd --permanent --add-port=5555/tcp
# firewall-cmd --permanent --add-port=1194/udp
# firewall-cmd --permanent --add-port=500/udp
# firewall-cmd --permanent --add-port=4500/udp
# firewall-cmd --reload

3. Настройка сетевого моста (при необходимости)

Сетевой мост позволяет интегрировать VPN‑сеть с физической сетью.

  1. В режиме администратора (без выбора хаба) включите возможность создания мостов:BridgeEnable
  2. Создайте мост:BridgeCreate command - Create Local Bridge Connection Virtual Hub Name to Create Bridge: main-hub Bridge Destination Device Name: enp1s0Здесь:
    • main-hub — имя виртуального хаба;
    • enp1s0 — имя сетевого интерфейса на сервере.

4. Настройка клиента (Linux)

4.1. Установка SoftEther VPN Client

  1. Скачайте клиент:# wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.44-9807-rtm/softether-vpnclient-v4.44-9807-rtm-2025.04.16-linux-x64-64bit.tar.gz
  2. Распакуйте архив:# tar -xvf ./softether-vpnclient-v4.44-9807-rtm-2025.04.16-linux-x64-64bit.tar.gz
  3. Переместите файлы в системный каталог:# mv ./vpnclient/ /opt/vpnclient/
  4. Перейдите в каталог клиента и выполните установку:# cd /opt/vpnclient/ # ./.install.sh

4.2. Запуск клиента

  1. Тестовый запуск:# ./vpnclient start
  2. Настройка автозапуска через systemd:Создайте файл сервиса /etc/systemd/system/vpnclient.service:[Unit] Description=SoftEther VPN Client After=network.target [Service] Type=forking ExecStart=/opt/vpnclient/vpnclient start ExecStop=/opt/vpnclient/vpnclient stop # Optionally, add a delay to ensure the start process fully completes # ExecStartPost=/bin/sleep 3s [Install] WantedBy=multi-user.target
  3. Включите автозапуск:# systemctl daemon-reload # systemctl start vpnclient.service # systemctl enable vpnclient.service

4.3. Настройка подключения через vpncmd

  1. Запустите утилиту:# ./vpncmd
  2. Выберите пункт 2 (Management of VPN Client).
  3. Добавьте VPN‑соединение:AccountCreate MyVPN /SERVER:server-ip:5555 /HUB:main-hub /USERNAME:testuserЗамените server-ip на IP‑адрес или доменное имя вашего сервера.
  4. Установите пароль для подключения:AccountPasswordSet MyVPN
  5. Подключитесь к VPN:AccountConnect MyVPN

5. Проверка соединения

5.1. На клиенте

Проверьте IP‑адрес, чтобы убедиться, что подключение прошло успешно:

ip addr show

Или используйте внешний сервис:

curl ifconfig.me

5.2. На сервере

  1. Запустите vpncmd и переключитесь на нужный хаб:sudo ./vpncmd Hub MyHub
  2. Проверьте активные сессии:SessionList
  3. Получите список подключений и их статус:AccountListПример вывода:AccountList command - Get List of VPN Connection Settings Item |Value ----------------------------+----------------------------------------- VPN Connection Setting Name |MyVPN Status |Connected VPN Server Hostname |mar-op.ru:5555 (Direct TCP/IP Connection) Virtual Hub |MyHub Virtual Network Adapter Name|VPN The command completed successfully.

5.3. Отключение от VPN

Чтобы разорвать соединение, выполните:

AccountDisconnect MyVPN

6. Дополнительные рекомендации

  • Резервное копирование. Регулярно сохраняйте конфигурационные файлы сервера и клиента.
  • Обновление ПО. Следите за выходами новых версий SoftEther и обновляйте клиент и сервер.
  • Мониторинг. Используйте системные утилиты (top, htop, vmstat) для контроля нагрузки на сервер.
  • Логирование. Настройте сбор и анализ логов для оперативного выявления и устранения проблем.

Похожие записи

Создание кластера Managed Kubernetes в облаке Cloud.ru

Я уже рассказывал как создать кластер Kubernetes в Яндекс облаке и давайте сегодня рассмотрим создание кластера в облаке Cloud.ru. Особых отличий нет и мне кажется, что в облаке Cloud.ru создать…

Интеграция FreeIPA DNS и BIND DNS

Сегодня расссмотрим настройку интеграции FreeIPA DNS сервера в качестве мастер-контроллера DNS и двух внешних Bind-серверов для обслуживания собственных доменных зон в сети интернет. Регистрация собственных NS-серверов Прежде всего нам понадобится…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Создание кластера Managed Kubernetes в облаке Cloud.ru

Создание кластера Managed Kubernetes в облаке Cloud.ru

Интеграция FreeIPA DNS и BIND DNS

Интеграция FreeIPA DNS и BIND DNS

Настройка централизованной авторизации в домене IPA на RedOS 8

Настройка централизованной авторизации в домене IPA на RedOS 8

Резервное копирование и восстановление FreeIPA

Резервное копирование и восстановление FreeIPA

Работа с самоподписанными сертификатами в Linux

Работа с самоподписанными сертификатами в Linux

Очередной сертификат

Очередной сертификат