Pourquoi héberger WireGuard Server sur un VPS ?
WireGuard repose sur un code source volontairement réduit (environ 4 000 lignes), ce qui le rend plus facile à auditer et significativement moins exposé aux failles de sécurité que ses alternatives. En l'hébergeant sur un VPS dédié, vous obtenez une adresse IP fixe sous votre contrôle, des débits proches de la bande passante native du serveur, et la possibilité d'accorder ou de révoquer des accès à la granularité du client. C'est la solution privilégiée des développeurs et des équipes distribuées qui souhaitent sécuriser leurs communications sans sacrifier les performances.
La différence avec un VPN commercial tient en trois points. L'adresse de sortie n'est partagée avec personne : vous pouvez l'inscrire dans la liste blanche d'une API, d'un back-office ou du pare-feu d'un client. La politique de journalisation est la vôtre, puisque personne d'autre n'administre la machine. Et le protocole reste sobre : un seul port UDP, une cryptographie fixée (Curve25519 pour l'échange de clés, ChaCha20 et Poly1305 pour le chiffrement authentifié) et une reprise du tunnel quand l'appareil change d'adresse IP, en passant du Wi-Fi à la 4G par exemple.
Ce que vous pouvez faire avec WireGuard Server
- Sécuriser les connexions de votre équipe en télétravail via un VPN d'entreprise privé
- Obtenir une adresse IP de sortie fixe à déclarer dans les listes blanches d'une API, d'un back-office ou d'un pare-feu partenaire
- Accéder à votre réseau interne (serveurs, bases de données, services internes) depuis n'importe où de façon chiffrée
- Contourner les restrictions réseau et accéder à vos ressources hébergées dans une région spécifique
- Créer un tunnel sécurisé pour protéger les communications entre plusieurs VPS ou environnements cloud
- Remplacer un VPN commercial par une solution auto-hébergée sans logs et sans abonnement mensuel
- Connecter des appareils mobiles (Android, iOS) ou des postes de travail (Linux, Windows, macOS) via les clients officiels WireGuard
Prérequis
WireGuard demande très peu de ressources : avec l'interface wg-easy, 1 vCPU et 1 Go de RAM suffisent pour une petite équipe, et c'est la bande passante du VPS, pas le processeur, qui fixe la limite. Le template Marketplace installe Ubuntu 24.04 ; le module WireGuard fait partie du noyau Linux depuis la version 5.6, il n'y a donc rien à compiler.
Trois points à prévoir avant de commander :
Le port UDP du tunnel (51820 par défaut) doit être joignable depuis Internet. Si un pare-feu filtre le trafic en amont, ouvrez-le explicitement.
Un accès SSH depuis votre poste : l'interface d'administration n'est jamais publiée, on la joint par un tunnel SSH.
Un nom d'hôte (facultatif) : un enregistrement A comme vpn.votre-domaine.com vers l'IP du VPS rend les configurations clients plus lisibles et survit à un changement de serveur. L'adresse IP seule fonctionne aussi.
Installer WireGuard Server sur votre VPS ServOrbit
Commander un VPS Cloud ServOrbit
Rendez-vous sur /vps-cloud et choisissez la formule adaptée à votre usage. Pour un usage WireGuard standard (une vingtaine de clients simultanés), un VPS avec 1 vCPU et 1 Go de RAM suffit. Le template WireGuard Server s'installe sur Ubuntu 24.04 : finalisez la commande et attendez l'e-mail d'activation.
Accéder au Marketplace dans l'espace client
Connectez-vous à votre espace client ServOrbit, ouvrez la page de votre VPS nouvellement créé, puis naviguez vers l'onglet Marketplace. Vous y trouverez le catalogue des applications disponibles en installation 1-clic, organisées par catégorie. Sélectionnez la catégorie Sécurité pour retrouver WireGuard Server plus rapidement.
Lancer l'installation de WireGuard Server
Cliquez sur la carte WireGuard Server, vérifiez le récapitulatif (port du tunnel : UDP 51820), puis confirmez. Le template déploie le conteneur Docker wg-easy, qui embarque WireGuard et son interface web : il publie
51820/udpsur l'IP publique, n'expose l'interface (port51821) que sur127.0.0.1et active le transfert IPv4 (net.ipv4.ip_forward=1) dans le conteneur. L'opération prend généralement quelques minutes.Se connecter la première fois et créer le compte administrateur
L'interface d'administration n'est pas publiée sur Internet : ouvrez d'abord un tunnel depuis votre poste, puis rendez-vous sur
http://127.0.0.1:51821.ssh -L 51821:127.0.0.1:51821 root@<IP-du-VPS>Aucun identifiant n'est fixé à l'avance : l'assistant de première connexion vous fait créer le compte administrateur (nom d'au moins deux caractères, mot de passe d'au moins 12 caractères). Il demande ensuite l'hôte que les clients joindront (l'IP du VPS ou
vpn.votre-domaine.com) et le port UDP,51820par défaut.Ajouter votre premier client
Dans l'interface wg-easy, cliquez sur New Client, saisissez un nom (le prénom de l'utilisateur ou le nom de l'appareil) et, si l'accès est temporaire, une date d'expiration. Téléchargez ensuite le fichier de configuration ou scannez le QR code, importez-le dans l'application WireGuard officielle (Android, iOS, Windows, macOS et Linux) et activez le tunnel.
Vérifier le tunnel
Côté client, contrôlez votre IP publique de sortie : en tunnel complet, ce doit être celle du VPS. Côté serveur, affichez l'état des pairs dans le conteneur (
docker psdonne son nom) :docker exec <conteneur-wg-easy> wg showUne ligne
latest handshakerécente pour le pair confirme que le tunnel est établi. L'interface wg-easy affiche la même information : un client est dit Online s'il a échangé une poignée de main dans les dix dernières minutes.
Sécuriser l'interface d'administration
Qui accède à wg-easy peut créer des clients, donc entrer dans votre réseau : traitez cette interface comme un accès root.
Gardez-la sur la boucle locale. Le tunnel SSH suffit à l'usage courant. Si vous devez la publier, placez-la derrière un reverse proxy HTTPS (voir notre guide Caddy), déclarez l'adresse du proxy dans la variable TRUSTED_PROXIES et laissez INSECURE à false ; ne la servez jamais en HTTP clair.
Activez la double authentification. Depuis le menu utilisateur, la page Account active un code TOTP à saisir à chaque connexion.
Méfiez-vous des liens à usage unique. wg-easy peut générer un lien court de téléchargement valable cinq minutes, mais sa documentation prévient que ces liens sont devinables et livrent la clé privée du client sans authentification. Préférez le QR code ou le fichier, transmis par un canal privé.
Révoquez proprement. Désactiver un client coupe son accès en conservant sa configuration ; le supprimer est définitif. Une date d'expiration fait le travail toute seule pour un prestataire ou un accès ponctuel. En cas de perte du mot de passe administrateur, la commande cli db:admin:reset, lancée dans le conteneur, le réinitialise.
Tunnel complet ou tunnel partagé
Par défaut, wg-easy génère des configurations en tunnel complet : AllowedIPs = 0.0.0.0/0, ::/0, tout le trafic de l'appareil sort par le VPS. C'est le bon choix sur un Wi-Fi public, ou pour présenter partout la même IP de sortie.
Pour n'utiliser le VPN que comme passerelle vers vos services privés, passez en tunnel partagé : dans Admin Panel → Config → Allowed IPs (valeur globale) ou sur la fiche d'un client (valeur propre à ce client), ne gardez que le sous-réseau du VPN, 10.8.0.0/24 dans une installation par défaut, et les réseaux internes à joindre. Le reste de la navigation sort par la connexion locale. Le serveur porte l'adresse 10.8.0.1 : liez-y vos bases de données, tableaux de bord et back-offices plutôt que sur 0.0.0.0, ils ne seront joignables que depuis le tunnel.
Attention : AllowedIPs règle le routage côté client, et l'utilisateur peut le modifier. Pour imposer une restriction, wg-easy propose un pare-feu par client (Admin Panel → Interface → Per-Client Firewall), appliqué côté serveur par iptables, encore marqué expérimental : testez-le avant de compter dessus. Au-delà de quelques machines à relier entre elles, un mesh comme Netbird évite de gérer ces listes à la main.
Par défaut, WireGuard écoute sur le port UDP 51820. Si votre réseau bloque l'UDP non standard, passez sur 443/UDP ou 53/UDP, deux ports rarement filtrés. Avec wg-easy, le port ne se règle pas dans un fichier wg0.conf : modifiez le port d'écoute dans Admin Panel → Interface, le port annoncé aux clients dans Admin Panel → Config, puis le mapping de ports du conteneur et la règle du pare-feu, qui doivent rester cohérents. Redémarrez l'interface (Restart Interface) et redistribuez les configurations : les appareils ne reçoivent pas la mise à jour d'eux-mêmes. Le transfert IPv4, indispensable pour router le trafic des clients vers Internet, est déjà activé par le template dans le conteneur.
La documentation officielle
Pour la configuration avancée, les options propres à l’outil et les changements de version, référez-vous à la documentation officielle de WireGuard et à celle de wg-easy, l'interface déployée par le template. Ce guide couvre la mise en ligne sur VPS ServOrbit ; la documentation éditeur reste la référence pour les réglages fins.