Self-hosting

WireGuard : retrouver mon réseau perso depuis n’importe où

Quand on commence à s’auto-héberger, on tombe vite sur une évidence gênante : la plupart des services qu’on installe n’ont aucune raison d’être exposés sur Internet. Un Jellyfin, un gestionnaire de mots de passe, un panel d’admin interne — leur place est dans le réseau local. Sauf qu’on a quand même besoin d’y accéder de l’extérieur : depuis le téléphone, depuis un café, depuis l’autre bout du pays. C’est exactement ce trou que WireGuard vient combler, et il le fait avec une élégance qui m’a fait repenser tout mon réseau perso.

Le premier argument, c’est la taille. Là où OpenVPN traîne des centaines de milliers de lignes de code et un héritage de choix cryptographiques discutables, WireGuard tient dans environ quatre mille lignes. Ce n’est pas qu’une coquetterie de développeur : un protocole de tunnel chiffré qu’on peut lire en une après-midi, c’est auditable, et c’est rare. Cette minceur se ressent aussi à l’usage — ouverture de tunnel quasi instantanée, débit proche du natif, surcharge CPU négligeable.

Mais ce qui m’a vraiment convaincu, c’est le modèle mental. WireGuard ne se pense pas comme un « VPN » avec ses sessions négociées et ses handshakes à dépanner. Il se pense comme une simple interface réseau, qui se trouve être chiffrée. Chaque machine (chaque peer) a une paire de clés. On déclare les autres pairs autorisés, et pour chacun on liste trois choses :

[Peer]
PublicKey  = clé publique du pair
AllowedIPs = 10.0.0.2/32       # son IP dans le tunnel
Endpoint   = exemple.fr:51820  # où le joindre (optionnel)

C’est tout. Pas de mode opératoire à choisir, pas de session à diagnostiquer. Une fois ces quelques lignes en place de chaque côté, le tunnel devient transparent.

Concrètement, sur mon serveur

Je n’expose qu’un seul port public : 51820/UDP, celui de WireGuard. Tout le reste — Jellyfin, FileBrowser, les interfaces d’admin de mes services, l’accès SSH aux machines — reste strictement privé. Depuis mon téléphone, j’active le tunnel et je retrouve instantanément l’ensemble de mon réseau domestique, comme si j’étais physiquement chez moi. Pas de port forwarding qui s’accumule, pas de reverse proxy à monter pour chaque nouveau service, pas de surface d’attaque éparpillée.

Et il y a un bénéfice que je n’avais pas anticipé : la discipline. Un VPN bien intégré force à trancher, pour chaque service, entre ce qui doit être public et ce qui doit rester interne. La distinction paraît évidente sur le papier, mais en pratique elle se brouille — on expose un truc « juste pour tester », on oublie de le refermer, on en empile un deuxième. WireGuard m’a fait basculer vers la bonne logique par défaut : tout est privé, sauf preuve du contraire.

Le tunnel tourne en permanence sur servyass, et plus aucun service domestique n’est exposé en direct. Quand je rentre chez moi, la bascule est invisible. Pour un outil réseau, c’est sans doute le plus beau compliment qu’on puisse faire.