
Homelab 6 : rejoindre la maison de partout sans ouvrir de port
Chaque port ouvert sur Internet est scanné dans les heures qui suivent. Ouvrez-en donc le moins possible : 80 et 443, vers le proxy HTTPS, pour les sites vraiment publics (Homelab 2). Pour tout le reste, pages d'administration, modèles d'IA, vos notes, montez un réseau privé entre vos propres appareils. Depuis un café ou un train, votre téléphone rejoint la maison comme s'il était sur votre canapé, et Internet ne voit rien.
Deux façons de le monter
- WireGuard, seul : le protocole VPN moderne, rapide et audité, intégré au noyau Linux. Un port UDP redirigé vers une machine toujours allumée, une paire de clés par appareil. Entièrement auto-hébergé, un peu plus manuel.
- Tailscale : WireGuard plus l'échange automatique des clés et la traversée des NAT, donc aucun port à ouvrir. Le service de coordination est hébergé par Tailscale ; si vous voulez aussi cette partie à la maison, Headscale en est un remplaçant open source. Votre trafic lui-même va d'appareil à appareil, chiffré.
Nous utilisons Tailscale pour le confort ; les étapes ci-dessous l'utilisent. Les principes sont les mêmes avec WireGuard seul.
1. Relier vos appareils
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
Faites-le sur chaque serveur, puis installez l'app sur votre téléphone et votre portable avec le même compte. Chaque appareil reçoit une adresse privée et un nom.
Sur les serveurs, désactivez l'expiration des clés dans la console d'administration. Sinon, des mois plus tard, un serveur sort en silence de votre réseau privé, en général le jour où vous êtes loin.
2. Publier un service sur votre réseau privé seulement
Laissez le service écouter sur la machine elle-même (127.0.0.1), puis publiez-le en HTTPS, pour vos appareils seulement :
tailscale serve --bg 8765
Le service est maintenant sur https://<machine>.<votre-tailnet>.ts.net, avec un vrai certificat, joignable depuis vos appareils et nulle part ailleurs. Le HTTPS compte plus qu'il n'y paraît : les navigateurs refusent le micro, la caméra et certaines API en HTTP simple, et c'est ainsi que nous servons notre console vocale au téléphone.
3. Ou ouvrir un port côté privé seulement
Pour un service qui doit écouter sur le réseau (une API pour vos autres machines), laissez le pare-feu l'accepter depuis l'interface privée seulement :
sudo ufw allow in on tailscale0 to any port 4000 proto tcp
C'est ainsi que notre passerelle de modèles est joignable par chaque machine du réseau privé, et par rien sur le réseau de la maison ni sur Internet.
Pièges
tailscale serve reste privé ; tailscale funnel publie sur tout Internet. Un mot d'écart : relisez avant d'appuyer sur Entrée.
Un service qui écoute sur 0.0.0.0 est joignable depuis chaque réseau où se trouve la machine, y compris votre Wi-Fi et ses invités. Liez-le à 127.0.0.1, ou filtrez par interface.
Un réseau privé ne dispense pas de mots de passe : un téléphone volé et déverrouillé est dedans. Gardez l'authentification sur chaque service.
Sources
Utile ? Dites-nous ce qu'il faut mesurer ensuite.