Назад к обновлениям
UpdatedAug 8, 2026

Docker IPsec VPN Server — Updated!

VPN-сервер IPsec на основе Docker, поддерживающий IPsec/L2TP, Cisco IPsec и IKEv2, с автоматической генерацией учётных данных и настройкой клиентов для нескольких платформ.

Поделиться

English | 简体中文 | 繁體中文 | Русский

IPsec VPN сервер на Docker

Build Status GitHub Stars Docker Stars Docker Pulls

Docker-образ для запуска сервера IPsec VPN с поддержкой IPsec/L2TP, Cisco IPsec и IKEv2.

Основан на Alpine 3.23 или Debian 12 с использованием Libreswan (программное обеспечение IPsec VPN) и xl2tpd (демон L2TP).

IPsec VPN шифрует сетевой трафик, поэтому никто между вами и VPN-сервером не сможет перехватывать ваши данные во время их передачи через Интернет. Это особенно полезно при использовании незащищённых сетей, например в кофейнях, аэропортах или гостиничных номерах.

Возможности:

  • Автоматическая генерация учётных данных VPN и конфигурации IKEv2 при первом запуске
  • Поддержка IKEv2 с мощными и быстрыми шифрами (например, AES-GCM)
  • Генерация VPN-профилей для автоматической настройки устройств iOS, macOS и Android
  • Поддержка Windows, macOS, iOS, Android, Chrome OS и Linux в качестве VPN-клиентов
  • Включает вспомогательный скрипт для управления пользователями и сертификатами IKEv2
  • Автоматически собирается и публикуется через GitHub Actions
  • Постоянное хранение данных через Docker volume
  • Поддержка нескольких архитектур: linux/amd64, linux/arm64, linux/arm/v7

Также доступно:

📘 Хотите развернуть ИИ на собственном сервере? The Self-Hosted AI Builder’s Guide: практическое руководство по созданию, защите и эксплуатации собственного приватного ИИ-стека.

Быстрый старт

Используйте эту команду для настройки сервера IPsec VPN в Docker:

docker run \
    --name ipsec-vpn-server \
    --restart=always \
    -v ikev2-vpn-data:/etc/ipsec.d \
    -v /lib/modules:/lib/modules:ro \
    -p 500:500/udp \
    -p 4500:4500/udp \
    -d --privileged \
    hwdsl2/ipsec-vpn-server

Данные для входа в VPN будут сгенерированы случайным образом. См. раздел Получение данных для входа в VPN.

В качестве альтернативы вы можете настроить IPsec VPN без Docker. Чтобы узнать больше о том, как использовать этот образ, прочитайте разделы ниже.

Сообщество

Требования

  • Linux-сервер с публичным IP-адресом или DNS-именем
  • Установленный Docker
  • Открытые VPN-порты в брандмауэре (UDP 500 и 4500)
  • Вы также можете использовать Podman для запуска этого образа после создания псевдонима для docker

Примечание: Продвинутые пользователи могут использовать этот образ на macOS с помощью Docker for Mac. Перед использованием режима IPsec/L2TP может потребоваться один раз перезапустить контейнер с помощью docker restart ipsec-vpn-server. Этот образ не поддерживает Docker for Windows.

Загрузка

Получите доверенную сборку из реестра Docker Hub:

docker pull hwdsl2/ipsec-vpn-server

В качестве альтернативы можно скачать из Quay.io:

docker pull quay.io/hwdsl2/ipsec-vpn-server
docker image tag quay.io/hwdsl2/ipsec-vpn-server hwdsl2/ipsec-vpn-server

Поддерживаемые платформы: linux/amd64, linux/arm64 и linux/arm/v7.

Продвинутые пользователи могут собрать образ из исходного кода на GitHub.

Сравнение образов

Доступны два предварительно собранных образа. Образ на базе Alpine используется по умолчанию и имеет размер всего около ~19 MB.

На базе AlpineНа базе Debian
Имя образаhwdsl2/ipsec-vpn-serverhwdsl2/ipsec-vpn-server:debian
Сжатый размер~ 19 MB~ 62 MB
Базовый образAlpine Linux 3.23Debian Linux 12
Платформыamd64, arm64, arm/v7amd64, arm64, arm/v7
Версия Libreswan5.45.4
IPsec/L2TP✅✅
Cisco IPsec✅✅
IKEv2✅✅

Примечание: Чтобы использовать образ на базе Debian, замените каждое hwdsl2/ipsec-vpn-server на hwdsl2/ipsec-vpn-server:debian в этом README. В настоящее время эти образы несовместимы с системами Synology NAS.

Я хочу использовать более старую версию Libreswan 4.

Обычно рекомендуется использовать последнюю версию Libreswan 5, которая является версией по умолчанию в этом проекте. Однако если вы хотите использовать более старую версию Libreswan 4, вы можете собрать Docker-образ из исходного кода:

git clone https://github.com/hwdsl2/docker-ipsec-vpn-server
cd docker-ipsec-vpn-server
# Указать версию Libreswan 4
sed -i 's/SWAN_VER=5\..*/SWAN_VER=4.15/' Dockerfile Dockerfile.debian
# Сборка образа на базе Alpine
docker build -t hwdsl2/ipsec-vpn-server .
# Сборка образа на базе Debian
docker build -f Dockerfile.debian -t hwdsl2/ipsec-vpn-server:debian .

Как использовать этот образ

Переменные окружения

Примечание: Все переменные для этого образа являются необязательными, что означает, что вам не нужно указывать ни одну переменную — и вы сможете получить работающий сервер IPsec VPN «из коробки»! Для этого создайте пустой файл env с помощью touch vpn.env, а затем перейдите к следующему разделу.

Этот Docker-образ использует следующие переменные, которые можно объявить в файле env (см. пример):

Категории