05 - Configuration du serveur WireGuard
Cette étape consiste à configurer le serveur WireGuard afin qu'il puisse accepter les connexions des futurs clients VPN.
À l'issue de cette page, l'interface wg0 sera entièrement configurée.
Architecture
Clients VPN
10.152.152.0/24
│
│
Interface wg0
10.152.152.1
│
LXC NETWORK
10.151.151.40
│
▼
Réseau ASUS
10.151.151.0/24
Activation du routage IPv4
Le serveur doit être capable de transférer les paquets entre le réseau VPN et le réseau local.
Éditer le fichier :
sudo nano /etc/sysctl.conf
Décommenter ou ajouter la ligne suivante :
net.ipv4.ip_forward=1
Appliquer immédiatement la configuration :
sudo sysctl -p
Vérifier :
cat /proc/sys/net/ipv4/ip_forward
Résultat attendu
1
Pourquoi activer le routage ?
Sans cette option, Linux reçoit les paquets provenant du VPN mais refuse de les transmettre vers le réseau local.
Le serveur WireGuard joue le rôle de routeur entre :
- le réseau VPN (10.152.152.0/24)
- le réseau ASUS (10.151.151.0/24)
Création du fichier de configuration
sudo nano /etc/wireguard/wg0.conf
Configuration complète
[Interface]
Address = 10.152.152.1/24
ListenPort = 51820
PrivateKey = <CONTENU_DE_SERVER.KEY>
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostUp = iptables -A FORWARD -o wg0 -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
PostDown = iptables -D FORWARD -o wg0 -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
Comprendre chaque paramètre
| Paramètre | Description |
|---|---|
| Address | Adresse IP du serveur sur le réseau VPN. |
| ListenPort | Port UDP utilisé par WireGuard. |
| PrivateKey | Clé privée du serveur générée à l'étape précédente. |
| PostUp | Commandes exécutées automatiquement au démarrage de l'interface. |
| PostDown | Suppression automatique des règles lors de l'arrêt. |
Pourquoi utiliser MASQUERADE ?
Les équipements du réseau ASUS ne connaissent pas le réseau VPN 10.152.152.0/24.
Le NAT permet donc de masquer les clients VPN derrière l'adresse IP du serveur 10.151.151.40.
Client VPN
10.152.152.2
│
▼
WireGuard
10.152.152.1
│
NAT (MASQUERADE)
│
▼
10.151.151.40
│
▼
Serveur NAS
Serveur Linux
Home Assistant
Kubernetes
Pourquoi utiliser l'interface eth0 ?
Le LXC NETWORK possède une seule interface réseau reliée au LAN ASUS.
Les paquets quittent donc naturellement le serveur via eth0.
Vérification :
ip addr
Sécurisation du fichier
Le fichier contient la clé privée du serveur.
sudo chmod 600 /etc/wireguard/wg0.conf
Vérifier :
ls -l /etc/wireguard/wg0.conf
Résultat attendu
-rw------- root root
Contrôle de la configuration
Avant de démarrer WireGuard, vérifier que le fichier est correctement rempli.
sudo cat /etc/wireguard/wg0.conf
Les éléments suivants doivent être présents :
- Adresse 10.152.152.1/24
- Port 51820
- Clé privée
- Règles PostUp
- Règles PostDown
Résumé de cette étape
| Élément | Statut |
|---|---|
| Routage IPv4 activé | ✅ |
| Configuration WireGuard créée | ✅ |
| Interface wg0 configurée | ✅ |
| NAT configuré | ✅ |
| Permissions sécurisées | ✅ |
À ce stade, le serveur WireGuard est entièrement configuré mais n'est pas encore démarré. La prochaine page décrira le démarrage du service, l'ouverture du port UDP 51820 sur le routeur ASUS ainsi que les vérifications permettant de s'assurer que le serveur est opérationnel.