WG-Easy : l'interface web simplifiée pour WireGuard
Vous en avez marre de devoir jongler avec les lignes de commande pour gérer votre VPN WireGuard ? Je vous comprends totalement ! C’est pourquoi aujourd’hui, nous allons explorer ensemble WG-Easy, une solution qui via une interface graphique, va vous permettre de gérer vos connexions VPN en quelques clics, générer des QR codes pour vos clients mobiles, et voir en temps réel qui est connecté.
Cette solution embarque tout ce dont vous avez besoin, à savoir un serveur WireGuard préconfiguré, une interface web intuitive et réactive, des fonctionnalités de monitoring intégrées, un système de gestion des clients ultra simple, un mode sombre/clair automatique ainsi qu’une prise en charge des avatars Gravatar
L’installation est un véritable jeu d’enfant grâce à Docker et une seule commande suffit pour démarrer :
docker run --detach \
--name wg-easy \
--env WG_HOST=VOTRE_IP_SERVEUR \
--env PASSWORD_HASH='VOTRE_HASH_BCRYPT' \
--env WG_PORT=51820 \
--volume ~/.wg-easy:/etc/wireguard \
--publish 51820:51820/udp \
--publish 51821:51821/tcp \
--cap-add NET_ADMIN \
--cap-add SYS_MODULE \
--sysctl 'net.ipv4.conf.all.src_valid_mark=1' \
--sysctl 'net.ipv4.ip_forward=1' \
--restart unless-stopped \
ghcr.io/wg-easy/wg-easy
Remplacez simplement VOTRE_IP_SERVEUR
par l’adresse IP publique de votre serveur (ou un nom de domaine dynamique) et générez votre VOTRE_HASH_BCRYPT
pour sécuriser l’interface d’administration.
Comme ça, plus besoin de manipuler des fichiers de configuration à la main ! L’interface vous permet de créer de nouveaux clients en quelques clics, d’activer/désactiver des accès instantanément, de supprimer des configurations obsolètes, de télécharger les fichiers de configuration et d’afficher les QR codes pour une configuration rapide sur mobile
Le tableau de bord affiche clairement :
- Les clients actuellement connectés
- Les statistiques de transfert de données
- Les graphiques de trafic pour chaque utilisateur
- L’état général du serveur
WG-Easy n’oublie pas non plus la sécurité avec une protection par mot de passe de l’interface admin, un support des liens à usage unique pour partager les configurations, la possibilité de définir des dates d’expiration pour les clients et des métriques Prometheus pour une surveillance avancée
Vous pouvez ajuster de nombreux paramètres via les variables d’environnement. Par exemple, WG_MTU
permet de configurer la MTU optimale pour votre réseau, WG_DEFAULT_DNS
permet de définir vos serveurs DNS préférés, WG_ALLOWED_IPS
permet de contrôler le routage du trafic, UI_TRAFFIC_STATS
permet d’activer/désactiver les statistiques détaillées, WG_DEVICE
de spécifier l’interface réseau à utiliser et WG_ENABLE_EXPIRES_TIME
d’activer l’expiration des comptes clients.
L’interface est disponible en plusieurs langues. Il suffit de définir la variable LANG
avec le code de langue souhaité :
--env LANG=fr
Et pour mettre à jour vers la dernière version, c’est très simple :
docker stop wg-easy
docker rm wg-easy
docker pull ghcr.io/wg-easy/wg-easy
Puis relancez le container avec les mêmes paramètres qu’à l’installation.
Et n’oubliez pas :
- Sauvegardez régulièrement le dossier ~/.wg-easy qui contient toutes vos configurations
- Utilisez un nom de domaine plutôt qu’une IP pour plus de flexibilité
- Activez les métriques Prometheus pour surveiller la santé de votre serveur
- Configurez des sauvegardes automatiques de vos configurations
- Consultez le wiki pour les cas d’usage spécifiques
WG-Easy s’intègre parfaitement dans une stack d’administration plus large toute en vous offrant une gestion de WireGuard aux petits oignons, sans avoir besoin d’être un expert en ligne de commande pour administrer efficacement votre VPN !
Un grand merci à Lorenper pour avoir partagé cette excellente solution !