
VPN-сервер IPsec на основе Docker, поддерживающий IPsec/L2TP, Cisco IPsec и IKEv2, с автоматической генерацией учётных данных и настройкой клиентов для нескольких платформ.
English | 简体中文 | 繁體中文 | Русский
Docker-образ для запуска сервера IPsec VPN с поддержкой IPsec/L2TP, Cisco IPsec и IKEv2.
Основан на Alpine 3.23 или Debian 12 с использованием Libreswan (программное обеспечение IPsec VPN) и xl2tpd (демон L2TP).
IPsec VPN шифрует сетевой трафик, поэтому никто между вами и VPN-сервером не сможет перехватывать ваши данные во время их передачи через Интернет. Это особенно полезно при использовании незащищённых сетей, например в кофейнях, аэропортах или гостиничных номерах.
Возможности:
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. Чтобы узнать больше о том, как использовать этот образ, прочитайте разделы ниже.
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-server | hwdsl2/ipsec-vpn-server:debian |
| Сжатый размер | ~ 19 MB | ~ 62 MB |
| Базовый образ | Alpine Linux 3.23 | Debian Linux 12 |
| Платформы | amd64, arm64, arm/v7 | amd64, arm64, arm/v7 |
| Версия Libreswan | 5.4 | 5.4 |
| IPsec/L2TP | ✅ | ✅ |
| Cisco IPsec | ✅ | ✅ |
| IKEv2 | ✅ | ✅ |
Примечание: Чтобы использовать образ на базе Debian, замените каждое hwdsl2/ipsec-vpn-server на hwdsl2/ipsec-vpn-server:debian в этом README. В настоящее время эти образы несовместимы с системами Synology NAS.
Обычно рекомендуется использовать последнюю версию 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 (см. пример):