
Docker IPsec VPN Server — Updated!
Docker-basierter IPsec-VPN-Server mit Unterstützung für IPsec/L2TP, Cisco IPsec und IKEv2 sowie automatischer Generierung von Zugangsdaten und plattformübergreifender Client-Konfiguration.
English | 简体中文 | 繁體中文 | Русский
IPsec-VPN-Server auf Docker
Docker-Image zum Betreiben eines IPsec-VPN-Servers mit IPsec/L2TP, Cisco IPsec und IKEv2.
Basiert auf Alpine 3.23 oder Debian 12 mit Libreswan (IPsec-VPN-Software) und xl2tpd (L2TP-Daemon).
Ein IPsec-VPN verschlüsselt Ihren Netzwerkverkehr, sodass niemand zwischen Ihnen und dem VPN-Server Ihre Daten abhören kann, während sie über das Internet übertragen werden. Dies ist besonders nützlich bei ungesicherten Netzwerken, z. B. in Cafés, Flughäfen oder Hotelzimmern.
Funktionen:
- Generiert automatisch VPN-Anmeldedaten und IKEv2-Konfiguration beim ersten Start
- Unterstützt IKEv2 mit starken und schnellen Ciphern (z. B. AES-GCM)
- Generiert VPN-Profile zur automatischen Konfiguration von iOS-, macOS- und Android-Geräten
- Unterstützt Windows, macOS, iOS, Android, Chrome OS und Linux als VPN-Clients
- Enthält ein Hilfsskript zur Verwaltung von IKEv2-Benutzern und -Zertifikaten
- Automatisch erstellt und veröffentlicht über GitHub Actions
- Persistente Daten über ein Docker-Volume
- Multi-Arch:
linux/amd64,linux/arm64,linux/arm/v7
Ebenfalls verfügbar:
- VPN: IPsec ohne Docker, WireGuard, OpenVPN, Headscale
- KI: Self-Hosted AI Stack für lokale LLMs, Chat, RAG, Sprache und KI-Tools
- 📚 Bücher: The Self-Hosted AI Builder’s Guide, Privacy Tools in the Age of AI
Schnellstart
Verwenden Sie diesen Befehl, um einen IPsec-VPN-Server auf Docker einzurichten:```bash
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
Ihre VPN-Anmeldedaten werden zufällig generiert. Siehe [VPN-Anmeldedaten abrufen](#retrieve-vpn-login-details).
Alternativ können Sie [IPsec-VPN ohne Docker einrichten](https://github.com/hwdsl2/setup-ipsec-vpn). Um mehr über die Verwendung dieses Images zu erfahren, lesen Sie die folgenden Abschnitte.
## Community
- 📬 [Projektupdates abonnieren](https://selfhostedstack.beehiiv.com/subscribe?utm_campaign=vpn) (1–2 E-Mails/Monat) — erhalten Sie kostenlose VPN- und KI-Bereitstellungsanleitungen (PDF)
- 💬 Treten Sie der [r/selfhostedstack](https://www.reddit.com/r/selfhostedstack/)-Community für Diskussionen bei
- ⭐ Markieren Sie das Repository mit einem Stern, wenn Sie es nützlich finden — das hilft anderen, es zu entdecken
## Anforderungen
- Ein Linux-Server mit einer öffentlichen IP-Adresse oder einem DNS-Namen
- Docker installiert
- VPN-Ports in Ihrer Firewall geöffnet (UDP 500 und 4500)
- Sie können dieses Image auch mit [Podman](https://docs.podman.io) ausführen, nachdem Sie einen Alias für `docker` erstellt haben
**Hinweis:** Fortgeschrittene Benutzer können dieses Image auf macOS mit [Docker für Mac](https://docs.docker.com/desktop/setup/install/mac-install/) verwenden. Vor der Verwendung des IPsec/L2TP-Modus müssen Sie den Container möglicherweise einmal mit `docker restart ipsec-vpn-server` neu starten. Dieses Image unterstützt Docker für Windows nicht.
## Download
Holen Sie sich den vertrauenswürdigen Build aus der [Docker-Hub-Registry](https://hub.docker.com/r/hwdsl2/ipsec-vpn-server/):```bash
docker pull hwdsl2/ipsec-vpn-server
Alternativ kannst du von Quay.io herunterladen:```bash docker pull quay.io/hwdsl2/ipsec-vpn-server docker image tag quay.io/hwdsl2/ipsec-vpn-server hwdsl2/ipsec-vpn-server
Unterstützte Plattformen: `linux/amd64`, `linux/arm64` und `linux/arm/v7`.
Fortgeschrittene Benutzer können den [Quellcode auf GitHub erstellen](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#build-from-source-code).
### Bildvergleich
Zwei vorgefertigte Images sind verfügbar. Das standardmäßige Alpine-basierte Image ist nur etwa 19 MB groß.
| | Alpine-basiert | Debian-basiert |
| ----------------- | ------------------------ | ------------------------------ |
| Image-Name | hwdsl2/ipsec-vpn-server | hwdsl2/ipsec-vpn-server:debian |
| Komprimierte Größe | ~ 19 MB | ~ 62 MB |
| Basis-Image | Alpine Linux 3.23 | Debian Linux 12 |
| Plattformen | amd64, arm64, arm/v7 | amd64, arm64, arm/v7 |
| Libreswan-Version | 5.4 | 5.4 |
| IPsec/L2TP | ✅ | ✅ |
| Cisco IPsec | ✅ | ✅ |
| IKEv2 | ✅ | ✅ |
**Hinweis:** Um das Debian-basierte Image zu verwenden, ersetzen Sie in dieser README jedes `hwdsl2/ipsec-vpn-server` durch `hwdsl2/ipsec-vpn-server:debian`. Diese Images sind derzeit nicht mit Synology-NAS-Systemen kompatibel.
<details>
<summary>
Ich möchte die ältere Libreswan-Version 4 verwenden.
</summary>
Es wird generell empfohlen, die neueste [Libreswan](https://libreswan.org/)-Version 5 zu verwenden, die die Standardversion in diesem Projekt ist. Wenn Sie jedoch die ältere Libreswan-Version 4 verwenden möchten, können Sie das Docker-Image aus dem Quellcode erstellen:```bash
git clone https://github.com/hwdsl2/docker-ipsec-vpn-server
cd docker-ipsec-vpn-server
# Specify Libreswan version 4
sed -i 's/SWAN_VER=5\..*/SWAN_VER=4.15/' Dockerfile Dockerfile.debian
# To build Alpine-based image
docker build -t hwdsl2/ipsec-vpn-server .
# To build Debian-based image
docker build -f Dockerfile.debian -t hwdsl2/ipsec-vpn-server:debian .
So verwenden Sie dieses Image
Umgebungsvariablen
Hinweis: Alle Variablen für dieses Image sind optional, d. h. Sie müssen keine Variable eingeben und können sofort einen IPsec-VPN-Server nutzen! Erstellen Sie dazu eine leere env-Datei mit touch vpn.env und fahren Sie mit dem nächsten Abschnitt fort.