Pourquoi WireGuard ?
WireGuard est un protocole VPN moderne et performant conçu pour la simplicité, la vitesse et une sécurité forte.
Prérequis
- Un serveur Linux avec une IP publique.
- Accès root ou sudo.
- Port UDP 51820 ouvert sur le pare-feu du serveur.
Solution Étape par Étape
1. Installer WireGuard
sudo apt update && sudo apt install -y wireguard
2. Générer les Clés
wg genkey | tee /etc/wireguard/private.key | wg pubkey > /etc/wireguard/public.key
chmod 600 /etc/wireguard/private.key
3. Configurer le Serveur
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <CLE_PRIVEE_SERVEUR>
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = <CLE_PUBLIQUE_CLIENT>
AllowedIPs = 10.0.0.2/32
4. Configurer le Client
[Interface]
Address = 10.0.0.2/24
PrivateKey = <CLE_PRIVEE_CLIENT>
DNS = 1.1.1.1
[Peer]
PublicKey = <CLE_PUBLIQUE_SERVEUR>
Endpoint = <IP_PUBLIQUE_SERVEUR>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
Dépannage
- Pas de handshake : Vérifiez le pare-feu, les clés et le transfert IP.
- Fuites DNS : Ajoutez
DNS = 1.1.1.1à la section[Interface]du client. - Pas d’Internet : Vérifiez les règles PostUp iptables.
Résumé
- WireGuard est un protocole VPN moderne intégré au noyau Linux depuis la version 5.6.
- Utilisez
PersistentKeepalive = 25pour les clients derrière un NAT.