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 = 25 pour les clients derrière un NAT.

Articles Connexes