Architecture des réseaux · Étape 21

Fournis un accès distant WireGuard

Connecte un poste nomade au réseau d'administration, contrôle le split tunnel, observe PersistentKeepalive puis remplace et révoque une clé.

Durée indicative · ~1 h 30Niveau intermédiairePrérequis conseillé · Leçon 20 — tunnel site-à-site et cryptokey routingPratique · TP
L’idée reçue

« Ajouter 0.0.0.0/0 dans AllowedIPs rend le VPN plus sécurisé. »

Cette valeur envoie tout le trafic IPv4 dans le tunnel. C’est un choix de routage et de politique, pas une amélioration automatique. Pour l’administration, un split tunnel limité aux réseaux nécessaires réduit souvent l’exposition et simplifie le diagnostic.

Le poste nomade doit atteindre uniquement le réseau d’administration 10.70.10.0/24 :

Nomade10.254.0.10peer WireGuard
Hub10.254.0.1endpoint 198.51.100.1:51820
Administration10.70.10.0/24réseau autorisé

01Créer l’accès distant

sudo ./module4b-wireguard-lab.sh remote
sudo ip netns exec wg-road ping -c 3 10.70.10.10

Le client annonce au hub seulement son adresse tunnel 10.254.0.10/32. Le client accepte du hub l’adresse tunnel du serveur et le LAN d’administration.

sudo ip netns exec wg-road wg show
sudo ip -n wg-road route

02Comprendre le split tunnel

allowed ips: 10.254.0.1/32, 10.70.10.0/24
route: 10.70.10.0/24 dev wg0
ChoixAllowedIPs clientConséquence
Split tunnel10.70.10.0/24Seul le réseau d’administration passe dans le VPN
Full tunnel0.0.0.0/0Tout le trafic IPv4 exige routage, DNS, filtrage et NAT côté hub
Host route10.70.10.10/32Un seul serveur d’administration est joignable

Dans ce cours, le moindre privilège réseau est préféré : annonce seulement les préfixes utiles au rôle du client.

03Observer PersistentKeepalive

sudo ip netns exec wg-road wg show

Le client utilise PersistentKeepalive = 25. Dans un vrai accès distant, le poste nomade est souvent derrière un NAT. Un paquet périodique maintient l’association UDP du routeur intermédiaire. Sur un peer toujours joignable publiquement, cette option n’est pas systématiquement nécessaire.

04Auditer les clés

sudo ls -l /tmp/soria-wireguard-lab
sudo ip netns exec wg-hub wg show all dump

Un inventaire exploitable doit relier chaque clé publique à :

1Identitépersonne ou équipement
2PortéeAllowedIPs et rôle
3Échéancedate de revue ou rotation
4Révocationprocédure en cas de perte

La clé privée reste sur l’équipement concerné. Le hub n’a besoin que de la clé publique du client.

05Remplacer la clé du poste nomade

sudo ./module4b-wireguard-lab.sh rotate-road
sudo ip netns exec wg-road ping -c 3 10.70.10.10
sudo ip netns exec wg-hub wg show
Le script génère une nouvelle paire, retire l’ancienne clé publique du hub, applique la nouvelle clé privée au client puis enregistre le nouveau peer. Le prochain trafic crée un nouveau handshake.

Dans une infrastructure réelle, préfère une rotation préparée avec fenêtre de changement, propriétaire identifié, preuve de validation et possibilité de retour arrière. Une clé ne doit pas être remplacée sans savoir quel équipement l’utilise.

06Révoquer un peer

Récupère la clé publique actuelle :

ROAD_PUB=$(sudo cat /tmp/soria-wireguard-lab/road.pub)
sudo ip netns exec wg-hub wg set wg0 peer "$ROAD_PUB" remove
sudo ip netns exec wg-road ping -c 2 10.70.10.10
La route locale du client peut toujours pointer vers wg0, mais le hub ne reconnaît plus sa clé. Une révocation est donc une décision d’identité, distincte du retrait d’une route.

Pour rétablir le laboratoire, relance le mode remote.

Panne volontaire

Supprime seulement la route du LAN

  1. relance le mode remote ;
  2. supprime la route 10.70.10.0/24 du client ;
  3. génère du trafic vers l’adresse tunnel du hub puis vers le LAN ;
  4. montre que le peer et le LAN ne valident pas la même couche ;
  5. rétablis la route.
sudo ip -n wg-road route del 10.70.10.0/24
sudo ip netns exec wg-road ping -c 2 10.254.0.1
sudo ip netns exec wg-road ping -c 2 10.70.10.10
sudo ip -n wg-road route add 10.70.10.0/24 dev wg0

07Nettoyer

sudo ./module4b-wireguard-lab.sh cleanup

Ce que tu retiens

Un accès distant sûr limite les préfixes, documente l’identité de chaque clé, prévoit la révocation et sépare la santé du tunnel de la santé du routage. Le full tunnel, le split tunnel et le keepalive sont des choix d’architecture.

Ta progression

Chargement de l’état… Se connecter pour synchroniser.