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 ! 🎉 |
