Настройка 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) для контроля нагрузки на сервер.
  • Логирование. Настройте сбор и анализ логов для оперативного выявления и устранения проблем.

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

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

В этой статье мы рассмотрим пошаговую настройку кластера Kubernetes на Ubuntu 24.04 с тремя узлами: один мастер (который также может запускать пользовательские поды) и два рабочих узла. Мы настроим PersistentVolume…

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

В рамках создания собственного кластера Kubernetes я поднаял кластер Mysql который работает в режиме Master-Slave и Slave-узлы соответственно работают в режиме read-only, а мастер в read-write. Соответственно мне нужен балансировщик…

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

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

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

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования