Comment installer un serveur VPN WireGuard sur un VPS Linux
WireGuard est un protocole VPN moderne, rapide et sécurisé. Il est intégré directement dans le noyau Linux depuis la version 5.6, ce qui lui confère d'excellentes performances.
Pourquoi choisir WireGuard ?
| Avantage | Détail |
|---|---|
| ⚡ Ultra rapide | 2 à 5 fois plus rapide qu'OpenVPN |
| 🔒 Très sécurisé | Cryptographie moderne (ChaCha20, Curve25519) |
| 📝 Simple | Seulement ~4 000 lignes de code (vs 600 000 pour OpenVPN) |
| 📱 QR Code | Configuration mobile en 10 secondes |
| 🔋 Économe | Moins gourmand en batterie sur mobile |
Prérequis
Système d'exploitation supporté
| Distribution | Versions supportées |
|---|---|
| Debian | 11 (Bullseye), 12 (Bookworm), 13 (Trixie) ✨ |
| Ubuntu | 22.04 LTS, 24.04 LTS, 25.04, 25.10 |
💡 Recommandation : Utilisez Debian 13 ou Ubuntu 24.04 LTS pour bénéficier de WireGuard intégré au noyau.
Configuration minimale
| Élément | Requis |
|---|---|
| RAM | 512 Mo minimum |
| CPU | 1 vCPU |
| Stockage | 5 Go |
| Port | 51820 UDP ouvert |
⚠️ Important : Ouvrez le port 51820/UDP dans le pare-feu de votre hébergeur (panel cloud) avant de commencer.
Installation du serveur WireGuard
Étape 1 : Connexion au serveur
Connectez-vous en SSH à votre VPS :
ssh root@votre-ip-serveur
Étape 2 : Mise à jour du système
apt update && apt upgrade -y
Étape 3 : Téléchargement et lancement du script
curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
chmod +x wireguard-install.sh
./wireguard-install.sh
Étape 4 : Répondre aux questions
Le script pose quelques questions simples :
Welcome to the WireGuard installer!
I need to ask you a few questions before starting the setup.
IPv4 or IPv6 public address: [Appuyez sur Entrée]
Réponses recommandées :
| Question | Réponse | Explication |
|---|---|---|
| Public address | Entrée | Auto-détectée |
| Public interface | Entrée | Auto-détectée |
| WireGuard interface name | wg0 | Nom par défaut |
| Server WireGuard IPv4 | 10.66.66.1 | Réseau VPN |
| Server WireGuard port | 51820 | Port standard |
| First DNS resolver | 1.1.1.1 | Cloudflare (rapide) |
| Second DNS resolver | 1.0.0.1 | Cloudflare backup |
| Client name | mon-pc | Nom de votre choix |
Étape 5 : Récupérer la configuration client
À la fin de l'installation, le script affiche :
- Un QR code (pour smartphone) 📱
- Le chemin du fichier de configuration
It is also available in /root/wg0-client-mon-pc.conf
If you want to add more clients, run this script again.
Pour les smartphones : Scannez directement le QR code affiché dans le terminal avec l'app WireGuard.
Pour les ordinateurs : Téléchargez le fichier .conf :
# Depuis votre PC local
scp root@votre-ip-serveur:/root/wg0-client-mon-pc.conf ~/Bureau/
Ajouter d'autres appareils
Pour créer des profils pour vos autres appareils, relancez le script :
./wireguard-install.sh
Menu affiché :
WireGuard is already installed.
Select an option:
1) Add a new client
2) Remove an existing client
3) Remove WireGuard
4) Exit
Choisissez 1 et entrez un nouveau nom (ex: iphone, tablette).
💡 Astuce : Un QR code est généré automatiquement pour chaque nouveau client !
Connexion au VPN
Windows
- Téléchargez WireGuard pour Windows
- Installez et ouvrez l'application
- Cliquez sur "Importer un tunnel depuis un fichier"
- Sélectionnez votre fichier
.conf - Cliquez sur "Activer"
macOS
- Téléchargez WireGuard sur l'App Store
- Ouvrez l'application
- Cliquez sur "Importer un tunnel depuis un fichier"
- Sélectionnez votre fichier
.conf - Cliquez sur "Activer"
Linux (Debian/Ubuntu)
# Installation du client
sudo apt install wireguard resolvconf
# Copier le fichier de configuration
sudo cp mon-pc.conf /etc/wireguard/wg0.conf
# Connexion
sudo wg-quick up wg0
# Déconnexion
sudo wg-quick down wg0
Pour une connexion automatique au démarrage :
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
Android 📱
- Installez WireGuard depuis le Play Store
- Ouvrez l'application
- Appuyez sur le "+" → "Scanner un QR code"
- Scannez le QR code affiché dans le terminal du serveur
- Appuyez sur le toggle pour activer
iOS (iPhone/iPad) 📱
- Installez WireGuard depuis l'App Store
- Ouvrez l'application
- Appuyez sur "+" → "Créer à partir d'un QR code"
- Scannez le QR code
- Autorisez la configuration VPN
- Appuyez sur le toggle pour activer
Vérifier que ça fonctionne
Une fois connecté au VPN :
- Allez sur whatismyip.com
- L'adresse IP affichée doit être celle de votre VPS
✅ Si c'est le cas, votre VPN fonctionne !
Vérifier l'état côté serveur
sudo wg show
Résultat attendu :
interface: wg0
public key: aBcDeFgH...
private key: (hidden)
listening port: 51820
peer: xYzAbCdE...
endpoint: 203.0.113.50:51820
allowed ips: 10.66.66.2/32
latest handshake: 1 minute, 30 seconds ago
transfer: 15.24 MiB received, 92.38 MiB sent
Commandes utiles
| Action | Commande |
|---|---|
| Voir l'état du VPN | sudo wg show |
| Démarrer WireGuard | sudo systemctl start wg-quick@wg0 |
| Arrêter WireGuard | sudo systemctl stop wg-quick@wg0 |
| Redémarrer WireGuard | sudo systemctl restart wg-quick@wg0 |
| Voir les logs | sudo journalctl -u wg-quick@wg0 -f |
| Ajouter/Supprimer un client | ./wireguard-install.sh |
| Afficher le QR code d'un client | qrencode -t ansiutf8 < /root/wg0-client-nom.conf |
Dépannage rapide
❌ Le client ne se connecte pas
Vérifications :
- Le port 51820 UDP est-il ouvert dans le pare-feu de votre hébergeur ?
- WireGuard tourne-t-il sur le serveur ?
sudo wg show
Si rien ne s'affiche :
sudo systemctl start wg-quick@wg0
❌ Connecté mais pas d'Internet
Vérifiez l'IP forwarding :
cat /proc/sys/net/ipv4/ip_forward
Si ça affiche 0, activez-le :
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
Vérifiez les règles NAT :
sudo iptables -t nat -L POSTROUTING
❌ Le QR code ne s'affiche pas
Installez qrencode :
apt install qrencode
Puis affichez le QR code :
qrencode -t ansiutf8 < /root/wg0-client-mon-pc.conf
❌ Latence élevée ou déconnexions
Ajoutez un keepalive dans la configuration client. Éditez le fichier .conf et ajoutez sous [Peer] :
PersistentKeepalive = 25
WireGuard vs OpenVPN
| Critère | WireGuard | OpenVPN |
|---|---|---|
| Vitesse | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| Simplicité | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| Lignes de code | ~4 000 | ~600 000 |
| Cryptographie | Moderne (ChaCha20) | Classique (AES) |
| Support mobile | Excellent + QR | Bon |
| Traverse les firewalls | Moyen (UDP) | Excellent (TCP 443) |
| Maturité | Récent (2020) | Éprouvé (2001) |
💡 Notre conseil : Utilisez WireGuard pour la vitesse et la simplicité. Gardez OpenVPN en backup si vous devez traverser des firewalls restrictifs (port TCP 443).
Ressources utiles
| Ressource | Lien |
|---|---|
| Site officiel WireGuard | wireguard.com |
| WireGuard Windows | wireguard.com/install |
| WireGuard macOS | App Store |
| WireGuard Android | Play Store |
| WireGuard iOS | App Store |
| Script d'installation | github.com/angristan/wireguard-install |
Récapitulatif
| Étape | Action |
|---|---|
| 1 | Se connecter en SSH au VPS |
| 2 | Mettre à jour le système |
| 3 | Télécharger et lancer le script d'installation |
| 4 | Répondre aux questions (ou garder les valeurs par défaut) |
| 5 | Scanner le QR code (mobile) ou récupérer le fichier .conf (PC) |
| 6 | Importer dans l'app WireGuard |
| 7 | Activer et profiter ! 🎉 |


