Monter son propre VPN WireGuard sur un VPS à 5 € par mois
Payer un VPN commercial, c'est louer la confiance de quelqu'un d'autre. Monter le sien, c'est savoir exactement qui tient le serveur — vous. Comptez une heure, et 4 à 6 € par mois. Voici la marche complète, sans script tout-en-un : pour comprendre, il faut taper.
Ce dont vous avez besoin
- Un VPS chez n'importe quel hébergeur (OVH, Scaleway, Hetzner, Contabo…). Le plus petit suffit largement : 1 à 2 cœurs, 2 Go de RAM. Choisissez le pays de sortie que vous voulez — c'est lui qui déterminera votre adresse IP apparente.
- Une image Debian 12 ou 13 (ou Ubuntu LTS).
- Un accès SSH, et une demi-heure devant vous.
Un VPS ne rend pas anonyme : il est loué à votre nom, avec votre carte. Il vous donne le chiffrement, le changement de pays, et la maîtrise. Pas l'invisibilité.
1. Installer WireGuard côté serveur
sudo apt update && sudo apt install wireguard
Générez la paire de clés du serveur :
wg genkey | sudo tee /etc/wireguard/server.key | wg pubkey | sudo tee /etc/wireguard/server.pub
sudo chmod 600 /etc/wireguard/server.key
2. Le fichier du serveur
Créez /etc/wireguard/wg0.conf :
[Interface]
Address = 10.66.66.1/24
ListenPort = 51820
PrivateKey = <contenu de server.key>
MTU = 1280
Le réseau 10.66.66.0/24 est privé : le serveur prend .1, chaque client aura une adresse suivante. Le port UDP 51820 est la convention WireGuard.
3. Activer le routage et le NAT
C'est l'étape que les tutoriels bâclent, et sans laquelle vos clients se connectent… sans accéder à Internet. Le serveur doit accepter de faire suivre les paquets, puis de les masquer derrière sa propre adresse.
Activer le transfert de paquets, de façon permanente :
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-wg.conf
sudo sysctl --system
Puis le NAT. Ajoutez ces deux lignes dans la section [Interface] de wg0.conf — en remplaçant eth0 par le nom réel de votre carte réseau (donné par ip route | grep default, souvent ens3) :
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
4. Ouvrir le port dans le pare-feu
Deux pare-feux, souvent : celui du système, et celui de l'hébergeur (dans son interface web). Les deux doivent laisser passer l'UDP 51820. Un VPN qui « ne se connecte pas du tout », sans le moindre message d'erreur, c'est presque toujours un pare-feu — souvent celui du panneau de l'hébergeur, qu'on oublie.
Démarrez le tunnel et activez-le au boot :
sudo systemctl enable --now wg-quick@wg0
sudo wg show
5. Créer un client
Pour chaque appareil, une paire de clés et une adresse :
wg genkey | tee client1.key | wg pubkey > client1.pub
Déclarez-le côté serveur (à la fin de wg0.conf, ou à chaud avec wg set) :
[Peer]
PublicKey = <contenu de client1.pub>
AllowedIPs = 10.66.66.2/32
Et le fichier à donner au client :
[Interface]
PrivateKey = <contenu de client1.key>
Address = 10.66.66.2/32
DNS = 1.1.1.1
MTU = 1280
[Peer]
PublicKey = <contenu de server.pub>
Endpoint = <IP publique du serveur>:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
AllowedIPs = 0.0.0.0/0 signifie « tout mon trafic passe par le tunnel ». PersistentKeepalive maintient la connexion à travers les box et les réseaux mobiles.
Pour un téléphone, transformez ce fichier en QR code : qrencode -t ansiutf8 < client1.conf, et scannez-le depuis l'application WireGuard.
Les quatre pièges classiques
- Pas de NAT → le tunnel monte, mais aucun accès à Internet. Vérifiez
ip_forwardet la règle MASQUERADE. - Mauvais nom de carte réseau dans la règle iptables (
eth0alors que c'estens3) → même symptôme. - Pare-feu de l'hébergeur → aucune poignée de main, silence total.
- Pas de MTU → ça marche en Wi-Fi, ça meurt en 4G. Voir notre article sur le MTU.
Vérifier, toujours
Depuis le client connecté : curl https://api.ipify.org. Si l'adresse affichée est celle de votre VPS, tout votre trafic sort bien par lui. Sinon, le VPN ne sert à rien.
Ce que ça coûte vraiment
Le VPS, 4 à 6 € par mois. Mais aussi : les mises à jour de sécurité, la surveillance, la gestion des clés quand un proche change de téléphone, et le fait que votre IP soit celle d'un serveur — parfois signalée comme « hébergement » par certains sites. C'est un excellent projet pour comprendre. Pour un usage familial sans y penser, un service géré (le nôtre ou un autre) fait le même travail pour le prix d'un café.
Mais si vous montez le vôtre : vous saurez enfin ce que vous achetez quand vous payez un VPN.
Essayez VPN Paris gratuitement
Une adresse IP française, 3 jours offerts, sans carte bancaire.
Créer mon accès gratuit