Présentation de Wireguard
WireGuard est un VPN léger, intégré au noyau Linux, qui repose sur des clés publiques et une configuration de quelques lignes. Son code est court, donc plus simple à auditer que celui des VPN historiques, et le démarrage d'un tunnel est quasi instantané. Il est utilisé aussi bien par des développeurs que par des petites équipes qui veulent maîtriser leur propre point de sortie.
À la livraison de votre VPS, le paquet wireguard est installé et une interface wg0 est configurée et démarrée par wg-quick@wg0. Le serveur écoute en UDP sur le port 51820, avec le réseau privé 10.8.0.0/24 (le serveur est en 10.8.0.1). Le routage IPv4 et le NAT (masquerade) sont activés pour que le trafic de vos clients sorte par l'IP publique du serveur.
Un premier client est déjà créé, avec une clé pré-partagée en plus des clés classiques. Sa configuration se trouve dans /root/wg-client.conf et un QR code pour l'application mobile dans /root/wg-client-qr.txt. Vous n'avez qu'à l'importer.
Ce que vous pouvez faire avec Wireguard
Tunnel complet préconfiguré
Le client généré utilise AllowedIPs = 0.0.0.0/0 : tout le trafic IPv4 passe par le VPS. Le DNS du client est réglé sur 1.1.1.1.
Configuration client et QR code
Le fichier /root/wg-client.conf s'importe tel quel dans les clients WireGuard. Le QR code de /root/wg-client-qr.txt s'affiche dans le terminal pour l'application mobile.
Clé pré-partagée par pair
Une clé générée par wg genpsk s'ajoute à l'échange de clés publiques. Elle renforce la protection de la connexion, et les fichiers sensibles sont créés en mode 600.
Démarrage automatique au boot
Le service wg-quick@wg0 est activé avec systemd. Le tunnel revient seul après un redémarrage du serveur.
NAT et forwarding déjà en place
Le forwarding IPv4 est activé dans /etc/sysctl.d/99-wireguard.conf. Les règles iptables de FORWARD et de masquerade sont appliquées au démarrage de wg0 et retirées à l'arrêt.
Démarrer avec Wireguard
De la commande à la mise en production, en quelques minutes.
- 1
Commandez le VPS avec WireGuard
Choisissez un VPS Linux à Paris ou Francfort (Debian 12, Debian 13, Ubuntu 20.04, 22.04 ou 24.04). Dans l'onglet « Applications » du formulaire de commande, cochez WireGuard.
- 2
Connectez-vous et récupérez le client
Une fois le serveur livré, ouvrez une session SSH avec les identifiants reçus. Vérifiez que le tunnel tourne, puis affichez le QR code ou copiez le fichier de configuration sur votre poste.
Bashssh root@SERVER_IP systemctl status wg-quick@wg0 cat /root/wg-client-qr.txt # depuis votre poste : scp root@SERVER_IP:/root/wg-client.conf . - 3
Importez la configuration et testez
Scannez le QR code avec l'application WireGuard mobile, ou importez wg-client.conf dans l'application de bureau. Sous Linux, une seule commande suffit, puis vérifiez qu'un handshake a eu lieu.
Bashsudo wg-quick up ./wg-client.conf sudo wg show - 4
Sécurisez pour la production
Vérifiez que le port UDP 51820 est ouvert et limitez les autres ports exposés. Si vous préférez un nom à une IP, remplacez la ligne Endpoint du client par YOUR_DOMAIN:51820 après avoir créé l'enregistrement DNS. Sauvegardez /etc/wireguard hors du serveur.
Bashtar czf wg-backup.tgz /etc/wireguard /root/wg-client.conf
Cas d’usage de Wireguard
Protéger le Wi-Fi public
Depuis un hôtel, un train ou un café, votre trafic IPv4 transite par un tunnel chiffré jusqu'à votre VPS avant de rejoindre Internet.
Disposer d'une IP de sortie fixe
Votre IP de sortie devient celle du VPS, ce qui permet d'autoriser une seule adresse sur un pare-feu, une base de données ou une API d'administration.
Relier vos appareils entre eux
Ordinateur, téléphone et machines distantes rejoignent le réseau 10.8.0.0/24 et peuvent s'atteindre par leurs adresses privées, le serveur servant de point central.
Choisir Paris ou Francfort
Vous décidez de la région de sortie en choisissant le site du VPS à la commande, par exemple pour tester un service depuis la France ou l'Allemagne.
Questions fréquentes sur Wireguard
Connectez-vous en SSH et lisez /root/wg-client.conf, ou affichez le QR code avec cat /root/wg-client-qr.txt. Vous pouvez aussi copier le fichier sur votre poste avec scp root@SERVER_IP:/root/wg-client.conf .
En savoir plus sur Wireguard
Fichiers et services installés
/etc/wireguard/wg0.conf: configuration du serveur (clé privée, pair client1, règles PostUp et PostDown)./root/wg-client.conf: configuration du premier client./root/wg-client-qr.txt: QR code de cette configuration, affichable aveccat./etc/sysctl.d/99-wireguard.conf: activenet.ipv4.ip_forward./opt/install-wireguard.sh: le script d'installation exécuté à la livraison.
Le client reçoit l'adresse 10.8.0.2/32. L'adresse publique placée dans Endpoint est celle détectée au moment de l'installation.
Ajouter un autre appareil
Chaque appareil doit avoir sa propre paire de clés et sa propre adresse (10.8.0.3, 10.8.0.4, etc.). Générez les clés sur le serveur, puis ajoutez un bloc [Peer] à wg0.conf.
Bashcd /etc/wireguard umask 077 wg genkey | tee client2.key | wg pubkey > client2.pub wg genpsk > client2.psk
Ajoutez ensuite dans /etc/wireguard/wg0.conf le contenu de client2.pub et client2.psk avec AllowedIPs = 10.8.0.3/32, puis rechargez sans couper les tunnels existants :
Bashwg syncconf wg0 <(wg-quick strip wg0)
Écrivez le fichier client en reprenant /root/wg-client.conf : changez PrivateKey, Address et gardez PublicKey du serveur ainsi que Endpoint.
Points d'attention
Le client généré ne route que l'IPv4 (0.0.0.0/0). Si votre poste dispose d'IPv6, ce trafic ne passe pas par le tunnel : désactivez l'IPv6 côté client si cela compte pour vous.
Le DNS du client est 1.1.1.1. Pour utiliser un autre résolveur, modifiez la ligne DNS du fichier client. Traitez /root/wg-client.conf comme un mot de passe : il contient la clé privée du client. Une fois importé, supprimez les copies inutiles.
Pour d'autres guides sur l'administration d'un serveur Linux, consultez nos tutoriels ou la page des VPS Linux.