Réponse rapide
Comment configurer WireGuard sur un VPS ?
Pour configurer WireGuard sur un VPS, installez le paquet wireguard, générez une paire de clés pour le serveur et une par appareil, puis écrivez /etc/wireguard/wg0.conf. Activez ensuite l'IP forwarding et le NAT, démarrez wg-quick@wg0 et importez le fichier client. Sur OffshoreKVM, un VPS KVM Debian 12 ou Ubuntu 24.04 coûte à partir de $3.08 pour 30 jours. Sans KYC, payez en crypto.
De quoi ai-je besoin avant de commencer ?
| Serveur | Un VPS KVM avec son propre kernel. OffshoreKVM KVM 1 (1 vCPU, 1 GB RAM, 20 GB NVMe, 2 TB de trafic) suffit pour un foyer |
|---|---|
| Accès | Accès root en SSH avec votre propre clé publique ; la connexion par mot de passe est désactivée par défaut. Les commandes ci-dessous s'exécutent en root |
| Système | Debian 12 ou Ubuntu 24.04 LTS ; les deux font partie des images de OffshoreKVM |
| Paquets | wireguard et iptables, depuis le dépôt de la distribution elle-même |
| Port | UDP 51820, le port utilisé dans les exemples de la documentation WireGuard |
| Adresses du tunnel | 10.8.0.0/24 : serveur 10.8.0.1, premier appareil 10.8.0.2 |
| Applications clientes | WireGuard pour Windows, macOS, Android, iOS et Linux, listé sur wireguard.com |
| Prix | KVM 1 3,08 $, KVM 2 4,92 $, KVM 4 8,25 $, KVM 8 13,50 $, KVM 16 20,62 $ par 30 jours. Sans KYC, paiement en crypto uniquement |
Comment configurer un serveur WireGuard, étape par étape ?
Neuf étapes, d'un VPS Debian 12 ou Ubuntu 24.04 tout neuf à un téléphone qui navigue à travers.
Se connecter et mettre à jour
Connectez-vous avec
ssh root@YOUR_VPS_IP, puis exécutezapt update && apt upgrade -y.Installer WireGuard et iptables
Exécutez
apt install -y wireguard iptables. Les outils WireGuard ne font que recommander un paquet de pare-feu, et les règles NAT ci-dessous utilisentiptables.Générer les clés
Exécutez
cd /etc/wireguard && umask 077. Faites en sorte que le serveur soit associé àwg genkey | tee server.key | wg pubkey > server.pub. Faites en sorte que l'appareil soit associé àwg genkey | tee phone.key | wg pubkey > phone.pub.Trouver l'interface publique
Exécutez
ip route show default. Le mot aprèsdev, commeeth0ouens3, est l'interface dont la règle NAT a besoin.Écrire le fichier du serveur
Créez
/etc/wireguard/wg0.confavec la clé privée du serveur, le port d'écoute, les règles NAT et un bloc[Peer]par appareil, comme indiqué ci-dessous.Activer le transfert IP
Exécutez
echo 'net.ipv4.ip_forward=1' > /etc/sysctl.d/99-wireguard.conf && sysctl --system. Sans cela, le VPS rejette le trafic du tunnel.Démarrer le tunnel au boot
Exécutez
systemctl enable --now wg-quick@wg0, puiswg showpour voir l'interface, son port et le peer.Créer et importer le fichier client
Écrivez
phone.confcomme indiqué ci-dessous. Importez-le dans l'application WireGuard, ou affichez-le sous forme de QR code avecqrencode -t ansiutf8 < /etc/wireguard/phone.conf.Tester le tunnel
Activez le tunnel et ouvrez n'importe quel site web. Sur le serveur,
wg showaffiche désormais unlatest handshakerécent, et les sites voient l'adresse du VPS.
Que contient le wg0.conf du serveur ?
Le fichier du serveur contient la clé privée du serveur, son adresse de tunnel, le port d'écoute, les règles NAT et un bloc [Peer] par appareil. Le heredoc ci-dessous remplit les deux clés à partir des fichiers créés à l'étape 3. Remplacez eth0 par l'interface de l'étape 4 avant de l'exécuter.
WireGuard identifie chaque appareil par sa clé publique : un paquet n'est accepté que s'il est signé par une clé connue et provient du AllowedIPs de ce peer.
cd /etc/wireguard
cat > wg0.conf <<EOF
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = $(cat server.key)
# Forward tunnel traffic and hide it behind the VPS address (eth0 = your interface)
PostUp = iptables -I FORWARD -i %i -j ACCEPT
PostUp = iptables -I FORWARD -o %i -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
PostUp = iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT
PostDown = iptables -D FORWARD -o %i -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
[Peer]
# phone
PublicKey = $(cat phone.pub)
AllowedIPs = 10.8.0.2/32
EOF
chmod 600 wg0.conf%i est remplacé par le nom de l'interface, wg0, lorsque wg-quick exécute les lignes PostUp et PostDown. MASQUERADE réécrit chaque paquet avec l'adresse de l'interface sortante. Le manuel iptables préfère SNAT --to-source YOUR_VPS_IP pour une adresse statique ; les deux fonctionnent ici.
Que contient la configuration client ?
Le fichier client contient la clé privée de l'appareil, son adresse de tunnel, un serveur DNS, ainsi que la clé publique et l'adresse du serveur. AllowedIPs = 0.0.0.0/0, ::/0 envoie tout le trafic dans le tunnel, IPv6 compris, donc rien ne fuit à l'extérieur. Avec le serveur IPv4 uniquement ci-dessus, le trafic IPv6 s'arrête simplement, et la plupart des applications basculent en IPv4.
cd /etc/wireguard
cat > phone.conf <<EOF
[Interface]
PrivateKey = $(cat phone.key)
Address = 10.8.0.2/32
DNS = 9.9.9.9
[Peer]
PublicKey = $(cat server.pub)
Endpoint = YOUR_VPS_IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
EOF
# Phone: scan this QR code in the WireGuard app
apt install -y qrencode
qrencode -t ansiutf8 < phone.conf
# Linux computer: copy phone.conf to /etc/wireguard/, then
# wg-quick up phoneUtilisez n'importe quel résolveur DNS de confiance à la place de 9.9.9.9. Sur un client Linux, la ligne DNS nécessite resolvconf ou openresolv, que Debian liste comme paquets suggérés. Supprimez phone.key et phone.conf du serveur une fois que l'appareil a sa copie.
Dois-je ouvrir un port de pare-feu ?
Seulement si un pare-feu tourne sur le VPS : il doit laisser entrer l'UDP 51820 et laisser passer le trafic du tunnel. Avec ufw, exécutez ufw allow 51820/udp. Les règles FORWARD dans wg0.conf sont insérées en tête de chaîne, avant la politique DROP par défaut que ufw applique au trafic routé. Gardez le port 22 ouvert avant d'activer un pare-feu, sinon vous vous enfermez dehors.
Comment ajouter un autre appareil ?
Chaque appareil a sa propre paire de clés, sa propre adresse de tunnel et son propre bloc [Peer]. Exécutez wg genkey | tee laptop.key | wg pubkey > laptop.pub dans /etc/wireguard. Ajoutez un [Peer] avec PublicKey réglé sur la nouvelle clé publique et AllowedIPs = 10.8.0.3/32. Appliquez-le sans couper les autres appareils : systemctl reload wg-quick@wg0, qui exécute wg syncconf. Construisez laptop.conf comme phone.conf, avec Address = 10.8.0.3/32.
Comment router IPv6 à travers le tunnel ?
Ajoutez une plage IPv6 privée des deux côtés, transférez-la et traduisez-la comme IPv4. Choisissez une plage unique locale aléatoire, comme fd42:42:42::/64.
- Serveur :
Address = 10.8.0.1/24, fd42:42:42::1/64, et dans le peerAllowedIPs = 10.8.0.2/32, fd42:42:42::2/128. - NAT : copiez les trois lignes
PostUpetPostDownavecip6tableset la plage IPv6. - Client :
Address = 10.8.0.2/32, fd42:42:42::2/128. - Transfert : ajoutez
net.ipv6.conf.all.forwarding=1à/etc/sysctl.d/99-wireguard.conf.
Vérifiez d'abord une chose. Avec le transfert activé, le noyau Linux ignore les annonces de routeur sauf si accept_ra vaut 2. Si votre VPS apprend sa route IPv6 de cette façon, réglez net.ipv6.conf.eth0.accept_ra=2 dans le même fichier.
Pourquoi le tunnel se connecte mais aucun site web ne se charge ?
Le handshake fonctionne mais le trafic s'arrête au serveur, presque toujours pour l'une de quatre raisons.
- Le transfert est désactivé :
sysctl net.ipv4.ip_forwarddoit afficher1. - Mauvaise interface dans la règle NAT : comparez
eth0danswg0.confavecip route show default. - Aucun handshake : l'IP ou le port de l'endpoint est erroné, ou un pare-feu bloque l'UDP 51820.
- Les noms ne se résolvent pas : le client n'a pas de ligne
DNSfonctionnelle, ouresolvconfmanque sur un client Linux.
Après chaque correction, exécutez systemctl restart wg-quick@wg0 et testez à nouveau.
Quel VPS utiliser pour WireGuard ?
N'importe quel VPS KVM avec une adresse IPv4 fait l'affaire ; le plan dépend du trafic qui passe par le tunnel. La page sur quel est le meilleur VPS offshore pour WireGuard compare les plans, les quotas et les emplacements. Les prix de chaque plan sont sur combien coûte un VPS offshore chez OffshoreKVM. Avant de compter dessus pour votre confidentialité, lisez ce que votre fournisseur VPS peut voir sur votre serveur.
WireGuard sur un VPS : FAQ
Quel port utilise WireGuard ?
WireGuard n'a pas de port fixe. ListenPort est facultatif, et sans lui le serveur choisit un port au hasard. UDP 51820 est le port des exemples officiels, donc la plupart des guides l'utilisent.
Ai-je besoin de PersistentKeepalive ?
En général non. Le manuel de wg indique que la plupart des utilisateurs n'en auront pas besoin. Ajoutez PersistentKeepalive = 25 au [Peer] du client uniquement si le serveur doit joindre un appareil derrière un NAT qui reste inactif.
Ce guide fonctionne-t-il sur Debian 13 ou Ubuntu 22.04 ?
Oui. Les deux fournissent WireGuard dans leurs dépôts standard, donc les mêmes commandes fonctionnent. Seules les versions de Debian antérieures à Bullseye ont besoin des backports, d'après la page d'installation de WireGuard.
L'hébergeur de mon VPS peut-il voir ce que je fais via le tunnel ?
Le tunnel se termine sur le VPS, donc le trafic en ressort comme du trafic internet normal ; HTTPS garde le contenu des pages chiffré. Aucun log : nous ne conservons aucun log de connexion, aucun log de trafic et aucune adresse IP des visiteurs ou des clients, ni sur le site web, ni sur le dashboard, ni sur le VPS. Le guide sur faut-il un VPS offshore ou un VPN pèse le pour et le contre.
Combien de temps avant que mon VPS soit prêt ?
Une personne crée votre VPS dès que votre paiement est confirmé, et il est prêt quelques minutes plus tard, jamais plus d'une heure après cette confirmation ; votre dashboard affiche le statut, puis l'adresse IP une fois le VPS en marche. La configuration de WireGuard elle-même prend quelques minutes une fois que vous pouvez vous connecter.
Prenez un VPS pour votre serveur WireGuard
Debian 12 ou Ubuntu 24.04 sur KVM, à partir de $3.08 pour 30 jours. Sans KYC, crypto uniquement.
Sources (10)
- Installation — WireGuard (read 2026-10-29)
- Démarrage rapide — WireGuard (read 2026-10-29)
- manuel wg(8) — wireguard-tools (read 2026-10-29)
- manuel wg-quick(8) — wireguard-tools (read 2026-10-29)
- [email protected] — wireguard-tools (read 2026-10-29)
- paquet wireguard-tools (bookworm) — Debian (read 2026-10-29)
- IP Sysctl (ip_forward, forwarding, accept_ra) — The Linux Kernel documentation (read 2026-10-29)
- iptables-extensions(8) : MASQUERADE, SNAT, conntrack — Debian manpages (read 2026-10-29)
- sysctl(8) — Debian manpages (read 2026-10-29)
- qrencode(1) — Debian manpages (read 2026-10-29)