Перейти к основному содержанию

Настройка VPN-сервера L2TP/IPsec и IKEv2 на Ubuntu 22.04

Введение

Руководство описывает настройку VPN-сервера Ubuntu 22.04 с поддержкой L2TP/IPsec и IKEv2. Скрипты hwdsl2/setup-ipsec-vpn позволяют быстро развернуть защищённый сервер. Клиенты смогут выбирать L2TP/IPsec или IKEv2, получая гибкость и надёжное шифрование.

Предварительные требования

  • VPS: EDIS Global VPS с Ubuntu 22.04 и доступом root или sudo.
  • Клиентский компьютер: Ubuntu или другой Linux, совместимый с L2TP/IPsec и IKEv2; доступ root или sudo.

Обзор

Основные этапы:
  1. На VPS: обновление пакетов, установка зависимостей, запуск скрипта настройки L2TP/IPsec и IKEv2, добавление и удаление VPN-пользователей.
  2. На клиенте: установка VPN-клиента, настройка и подключение по L2TP/IPsec или IKEv2.

Действия на VPS

  1. Обновите системные пакеты

Обновите сервер:
Пояснение: команда обновляет списки пакетов и установленные пакеты до последних версий, поддерживая актуальность и безопасность системы.

  1. Установите необходимые пакеты

Установите curl и wget для скачивания скриптов и файлов:

  1. Скачайте и запустите скрипт настройки VPN

Используйте скрипт hwdsl2/setup-ipsec-vpn:
При желании запустите его со своими DNS-серверами:
Пояснение:
  • VPN_DNS_SRV1 и VPN_DNS_SRV2 задают DNS для VPN-клиентов.
  • Скрипт запросит данные VPN: IPsec PSK, имя пользователя и пароль. Если запрос не появляется, он создаст их автоматически.
Пример вывода:
Примечание: замените x.x.x.x публичным IP сервера. Скрипт выводит важные реквизиты VPN — храните их безопасно.

  1. Управление пользователями VPN

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

Скачайте скрипт управления и добавьте пользователя:
Пояснение: addvpnuser.sh добавляет VPN-пользователей с заданными именем и паролем. Замените 'newusername' и 'newpassword' нужными значениями.

Удаление пользователя

Скачайте скрипт удаления и удалите пользователя:
Пояснение: delvpnuser.sh удаляет пользователя по имени. Замените 'username_to_remove' нужным именем.

Действия на клиентском компьютере

Вариант 1. Подключение по L2TP/IPsec

  1. Установите клиент L2TP VPN

Установите плагин L2TP для Network Manager:
Пояснение: пакеты добавляют поддержку соединений L2TP/IPsec в GNOME Network Manager.

  1. Настройте VPN-соединение

Выполните следующие действия:
  1. Откройте настройки VPN: перейдите в Settings → Network → VPN и нажмите +.
  2. Выберите тип: Layer 2 Tunneling Protocol (L2TP).
  3. Общие параметры:
    • Name: имя подключения, например My L2TP VPN.
    • Gateway: IP VPN-сервера (Your VPN Server IP).
    • User name: имя VPN-пользователя (Your VPN Username).
    • Password: нажмите значок рядом с полем, выберите Store the password only for this user, затем введите пароль (Your VPN Password).
    • NT Domain: оставьте пустым.
  4. Настройки IPsec:
    • Нажмите IPsec Settings….
    • Отметьте Enable IPsec tunnel to L2TP host.
    • Pre-shared key: укажите IPsec PSK (Your VPN IPsec PSK).
    • Разверните Advanced. В Phase1 Algorithms введите aes128-sha1-modp2048, а в Phase2 Algorithms — aes128-sha1.
  5. Сохраните и подключитесь: закройте настройки IPsec кнопкой OK, сохраните соединение кнопкой Add и переведите переключатель VPN в ON.
Пояснение: Phase1 и Phase2 Algorithms обеспечивают совместимость с настройками VPN-сервера.

  1. Проверьте VPN-соединение

После подключения проверьте IP:
Пояснение: команда показывает публичный IP; при успешном соединении он должен совпадать с адресом VPN-сервера.

Вариант 2. Подключение по IKEv2

  1. Установите плагин StrongSwan для Network Manager

Пояснение: плагин StrongSwan добавляет IKEv2-соединения в Network Manager.

  1. Получите клиентские файлы VPN

С VPN-сервера нужны:
  • vpnclient.p12 — клиентский сертификат и закрытый ключ.
  • vpnclient.mobileconfig — профиль macOS/iOS, для Linux не нужен.
  • vpnclient.sswan — конфигурация StrongSwan, необязательна.
Безопасно скопируйте файлы на клиент:
Пояснение: замените Your_VPN_Server_IP адресом VPN-сервера.

  1. Извлеките сертификаты и закрытый ключ

Создайте каталог и извлеките файлы из .p12:
Пояснение:
  • ca.cer — сертификат центра сертификации.
  • client.cer — клиентский сертификат.
  • client.key — закрытый ключ.
Примечание: если при извлечении запрашивается пароль, просто нажмите Enter.

  1. Защитите файлы сертификатов и ключа

Эти конфиденциальные файлы нужно защитить:
Пояснение: владельцем становится root, а права ограничиваются для предотвращения несанкционированного доступа.

  1. Установите плагины Network Manager, если они ещё не установлены

Установите пакеты для своего дистрибутива:

  1. Настройте VPN-соединение

Настройка IKEv2:
  1. Откройте VPN: перейдите в Settings → Network → VPN и нажмите +.
  2. Выберите тип: IPsec/IKEv2 (strongSwan).
  3. Общие параметры: в Name задайте имя, например My IKEv2 VPN.
  4. Шлюз: в Address введите IP или домен VPN-сервера (Your VPN Server IP); в Certificate выберите извлечённый ca.cer.
  5. Аутентификация клиента: в Authentication выберите Certificate (/private key), в Certificate (file) — client.cer, в Private key — client.key.
  6. Параметры: отметьте Request an inner IP address.
  7. Алгоритмы шифрования: отметьте Enable custom proposals, оставьте IKE пустым, в ESP введите aes128gcm16.
  8. Сохраните и подключитесь: нажмите Add, затем переведите VPN в ON.
Пояснение: клиентский сертификат и закрытый ключ аутентифицируют устройство на VPN-сервере. Собственные предложения алгоритмов обеспечивают совпадение шифрования с ожидаемым сервером.

  1. Проверьте VPN-соединение

Проверьте публичный IP, чтобы подтвердить подключение через VPN:

Устранение неполадок

  • Соединение не устанавливается: проверьте, что межсетевой экран сервера разрешает нужные VPN-порты, например UDP 500 и 4500 для IPsec, и службы VPN запущены.
  • Ошибки аутентификации: проверьте IPsec PSK, имя и пароль, правильность установки сертификатов и ключей и их права доступа.
  • Проблемы DNS: если после подключения не разрешаются домены, задайте DNS в клиенте или настройте передачу DNS-параметров клиентам на сервере.
  • Ошибки StrongSwan: изучите /var/log/syslog или journalctl -xe; убедитесь, что настройки IKEv2 согласованы на клиенте и сервере.

Заключение

VPN-сервер Ubuntu 22.04 с поддержкой L2TP/IPsec и IKEv2 настроен. Конфигурация повышает безопасность сети за счёт шифрования интернет-трафика и предоставляет разные варианты подключения клиентов.

Источники


Примечание: соблюдайте местные законы и правила использования VPN. Надёжно храните реквизиты VPN и сертификаты, чтобы предотвратить несанкционированный доступ.
Последнее изменение 7 ноября 2026 г.