
Docker IPsec VPN Server — Mis à jour !
Serveur VPN IPsec basé sur Docker prenant en charge IPsec/L2TP, Cisco IPsec et IKEv2 avec génération automatique d'identifiants et configuration client multiplateforme.
English | 简体中文 | 繁體中文 | Русский
Serveur VPN IPsec sur Docker
Image Docker pour exécuter un serveur VPN IPsec, avec IPsec/L2TP, Cisco IPsec et IKEv2.
Basé sur Alpine 3.23 ou Debian 12 avec Libreswan (logiciel VPN IPsec) et xl2tpd (démon L2TP).
Un VPN IPsec chiffre votre trafic réseau, afin que personne entre vous et le serveur VPN ne puisse espionner vos données lors de leur transit sur Internet. Cela est particulièrement utile lorsque vous utilisez des réseaux non sécurisés, par exemple dans des cafés, des aéroports ou des chambres d'hôtel.
Fonctionnalités :
- Génère automatiquement les identifiants VPN et la configuration IKEv2 au premier démarrage
- Prend en charge IKEv2 avec des chiffrements forts et rapides (par ex. AES-GCM)
- Génère des profils VPN pour configurer automatiquement les appareils iOS, macOS et Android
- Prend en charge Windows, macOS, iOS, Android, Chrome OS et Linux comme clients VPN
- Inclut un script utilitaire pour gérer les utilisateurs et certificats IKEv2
- Construit et publié automatiquement via GitHub Actions
- Données persistantes via un volume Docker
- Multi-arch :
linux/amd64,linux/arm64,linux/arm/v7
Également disponible :
- VPN : IPsec sans Docker, WireGuard, OpenVPN, Headscale
- IA : Self-Hosted AI Stack pour les LLM locaux, le chat, le RAG, la voix et les outils d'IA
📘 Intéressé par l'IA auto-hébergée ? The Self-Hosted AI Builder’s Guide est un guide pratique pour construire, sécuriser et exploiter votre propre stack d'IA privée.
Démarrage rapide
Utilisez cette commande pour configurer un serveur VPN IPsec sur 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
Vos identifiants de connexion VPN seront générés aléatoirement. Voir Récupérer les identifiants de connexion VPN.
Vous pouvez également configurer un VPN IPsec sans Docker. Pour en savoir plus sur l'utilisation de cette image, consultez les sections ci-dessous.
Communauté
- 📬 Recevez les mises à jour du projet et des guides de déploiement gratuits (1 à 2 e-mails/mois)
- 💬 Rejoignez la communauté r/selfhostedstack pour discuter
- ⭐ Ajoutez une étoile au dépôt si vous le trouvez utile — cela aide les autres à le découvrir
Prérequis
- Un serveur Linux avec une adresse IP publique ou un nom DNS
- Docker installé
- Les ports VPN ouverts dans votre pare-feu (UDP 500 et 4500)
- Vous pouvez également utiliser Podman pour exécuter cette image, après avoir créé un alias pour
docker
Remarque : Les utilisateurs avancés peuvent utiliser cette image sur macOS avec Docker for Mac. Avant d'utiliser le mode IPsec/L2TP, vous devrez peut-être redémarrer le conteneur une fois avec docker restart ipsec-vpn-server. Cette image ne prend pas en charge Docker for Windows.
Téléchargement
Obtenez la version de confiance depuis le registre Docker Hub :
docker pull hwdsl2/ipsec-vpn-server
Vous pouvez également télécharger depuis Quay.io :
docker pull quay.io/hwdsl2/ipsec-vpn-server
docker image tag quay.io/hwdsl2/ipsec-vpn-server hwdsl2/ipsec-vpn-server
Plateformes prises en charge : linux/amd64, linux/arm64 et linux/arm/v7.
Les utilisateurs avancés peuvent compiler à partir du code source sur GitHub.
Comparaison des images
Deux images précompilées sont disponibles. L'image par défaut basée sur Alpine ne pèse que ~19 Mo.
| Basée sur Alpine | Basée sur Debian | |
|---|---|---|
| Nom de l'image | hwdsl2/ipsec-vpn-server | hwdsl2/ipsec-vpn-server:debian |
| Taille compressée | ~ 19 Mo | ~ 62 Mo |
| Image de base | Alpine Linux 3.23 | Debian Linux 12 |
| Plateformes | amd64, arm64, arm/v7 | amd64, arm64, arm/v7 |
| Version de Libreswan | 5.4.1 | 5.4.1 |
| IPsec/L2TP | ✅ | ✅ |
| Cisco IPsec | ✅ | ✅ |
| IKEv2 | ✅ | ✅ |
Remarque : Pour utiliser l'image basée sur Debian, remplacez chaque hwdsl2/ipsec-vpn-server par hwdsl2/ipsec-vpn-server:debian dans ce README. Ces images ne sont actuellement pas compatibles avec les systèmes Synology NAS.
Je souhaite utiliser l'ancienne version 4 de Libreswan.
Il est généralement recommandé d'utiliser la dernière version 5 de Libreswan, qui est la version par défaut de ce projet. Toutefois, si vous souhaitez utiliser l'ancienne version 4 de Libreswan, vous pouvez compiler l'image Docker à partir du code source :
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 .
Comment utiliser cette image
Variables d'environnement
Remarque : Toutes les variables de cette image sont facultatives, ce qui signifie que vous n'avez pas besoin de saisir de variable et que vous pouvez disposer d'un serveur VPN IPsec prêt à l'emploi ! Pour ce faire, créez un fichier env vide à l'aide de touch vpn.env, puis passez à la section suivante.
Cette image Docker utilise les variables suivantes, qui peuvent être déclarées dans un fichier env (voir exemple) :
VPN_IPSEC_PSK=your_ipsec_pre_shared_key
VPN_USER=your_vpn_username
VPN_PASSWORD=your_vpn_password