- Un réseau plat, c'est un seul appareil compromis loin de tout compromettre — les VLANs séparent la gestion, les services et l'IoT
- Le port forwarding vers Proxmox ou SSH, c'est une invitation aux scanners automatisés du monde entier
- Tailscale (WireGuard sous le capot) donne un accès distant complet sans ouvrir le moindre port sur la box
Vendredi soir, hôtel à Kyoto, wifi capricieux. J'ouvre Tailscale sur mon téléphone, je tape l'adresse de Proxmox, et j'accède à mon cluster comme si j'étais dans mon salon. Aucun port ouvert sur ma box, aucun abonnement VPN, aucune attente.
Ça n'a pas toujours été aussi simple. Pendant des mois, mon homelab tournait sur un réseau plat : le NAS, les VMs et la prise connectée du salon sur le même segment. Un seul appareil compromis, et tout devenait accessible. Voici comment j'ai corrigé ça.
Le problème du réseau plat
Sur une box grand public par défaut, tout est sur le même sous-réseau — typiquement du 192.168.1.0/24. L'interface web de Proxmox, votre serveur Jellyfin, la caméra IP chinoise à 20 € et le wifi que vous filez à vos invités : tout ce petit monde peut se parler librement.
Le problème n'est pas théorique. Une caméra ou une prise connectée mal sécurisée qui traîne sur le même réseau que votre cluster, c'est une porte d'entrée directe vers l'interface d'administration de Proxmox — le genre d'objet qu'on ne met jamais à jour et qu'on oublie à l'année. Segmenter le réseau, ce n'est pas de la parano d'entreprise transposée à la maison : c'est le strict minimum dès qu'on héberge quelque chose qui compte chez soi.
Segmenter avec des VLANs
Un VLAN (Virtual LAN) crée des réseaux logiquement isolés sur la même infrastructure physique — pas besoin de câblage ni de switch séparé pour chaque zone. J'utilise trois VLANs :
- VLAN 10 — Management : interface Proxmox, switch, points d'accès. Rien d'autre n'y touche.
- VLAN 20 — Services : toutes les VMs et conteneurs LXC qui hébergent les applications (Jellyfin, *arr stack, etc.)
- VLAN 30 — IoT / Invités : objets connectés et wifi invité, coupés de tout le reste par défaut
Côté réseau, ma passerelle UniFi gère la création des VLANs et les règles de pare-feu entre eux : dans l'app UniFi Network, Settings → Networks, on crée un réseau par VLAN avec son ID, puis on ajoute une règle qui bloque explicitement le VLAN 30 vers les VLANs 10 et 20. Sans cette règle, créer des VLANs ne sert strictement à rien — la segmentation logique sans pare-feu entre les zones est juste une illusion de sécurité.
Côté Proxmox, il faut un bridge VLAN-aware pour que l'hôte sache faire transiter plusieurs VLANs sur une seule interface physique :
auto vmbr0
iface vmbr0 inet static
address 192.168.10.5/24
gateway 192.168.10.1
bridge-ports eno1
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
Ensuite, pour chaque VM ou conteneur, il suffit de renseigner le VLAN Tag dans la configuration de sa carte réseau (onglet Hardware → Network Device). Une VM taguée 20 atterrit directement sur le réseau Services, sans toucher à Management. C'est la seule ligne de config qui fait vraiment la différence.
Le vrai casse-tête : l'accès depuis l'extérieur
Une fois le réseau segmenté, reste la question qui m'a pris le plus de temps à résoudre proprement : comment j'accède à tout ça quand je ne suis pas chez moi ?
La méthode brutale — ouvrir un port sur la box vers Proxmox ou SSH — fonctionne, mais c'est une mauvaise idée. Un port ouvert sur une IP publique se fait scanner en continu par des bots partout dans le monde ; ce n'est plus une question de "si" mais de "quand" quelqu'un tombera sur une faille non patchée. J'ai regardé les logs un jour après avoir ouvert le port 22 par curiosité : des tentatives de connexion toutes les deux minutes, depuis des IPs aux quatre coins du globe, en moins d'une heure.
L'autre option classique, un VPN commercial généraliste, ajoute un abonnement et un saut réseau supplémentaire pour un usage qu'il ne couvre pas vraiment — ces services sont pensés pour masquer votre IP en streaming, pas pour exposer un réseau domestique entier de façon sélective.
Tailscale : la solution qui a changé mon usage
Tailscale construit un VPN maillé (mesh) au-dessus de WireGuard. Chaque appareil — téléphone, laptop, VM du homelab — obtient une IP fixe dans un réseau privé virtuel, et communique directement avec les autres via NAT traversal. Résultat concret : aucun port à ouvrir sur la box, la connexion se négocie toute seule.
Pour exposer tout un VLAN plutôt qu'une seule machine, j'ai installé un conteneur LXC léger sur Proxmox qui joue le rôle de subnet router :
curl -fsSL https://tailscale.com/install.sh | sh
echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
sudo tailscale up --advertise-routes=192.168.10.0/24,192.168.20.0/24 --accept-dns=false
Il reste une étape manuelle, volontairement : dans la console d'administration Tailscale, on doit approuver ces routes annoncées avant qu'elles ne deviennent actives. Ça évite qu'un appareil compromis s'auto-déclare passerelle vers votre réseau sans validation.
Pour aller plus loin, les ACLs (règles d'accès) permettent de restreindre finement qui peut atteindre quoi. Un exemple simple qui autorise mes appareils personnels à joindre Proxmox et SSH sur le VLAN Management, et tout le VLAN Services sans restriction de port :
{
"tagOwners": {
"tag:homelab": ["autogroup:admin"]
},
"acls": [
{
"action": "accept",
"src": ["autogroup:member"],
"dst": ["192.168.10.0/24:22,8006", "192.168.20.0/24:*"]
}
]
}
Sur le téléphone ou le laptop, il suffit d'installer l'app Tailscale, de se connecter, et d'activer le toggle. La version gratuite personnelle suffit largement pour ce genre d'usage — au moment où j'écris ces lignes, elle couvre confortablement le nombre d'appareils d'un homelab perso.
Résultat
Plus aucun port ouvert sur ma UniFi Dream Machine — un scan externe de ma box ne renvoie plus rien d'exploitable. Les logs de connexion sur Proxmox sont redevenus silencieux : plus de tentatives depuis des IPs inconnues, seulement mes propres appareils identifiés par Tailscale. Et concrètement, j'ai pu administrer le cluster depuis un hôtel à Kyoto sans latence perceptible ni bidouille de dernière minute.
La segmentation VLAN a aussi un effet secondaire appréciable : si un jour un objet connecté du VLAN IoT est compromis, il ne peut techniquement rien atteindre d'autre que lui-même et internet. Ce n'est pas une garantie absolue, mais c'est une réduction de surface d'attaque bien réelle pour un après-midi de configuration.
La suite de cette série
- Quel hyperviseur choisir ?
- Réseau et accès distant sans ouvrir un port — vous êtes ici
- Jellyfin ou Plex : le choix du premier service — à venir
- Monitoring avec Netdata & Uptime Kuma — à venir
Ce que vous pouvez faire ce week-end
Trois actions concrètes, dans l'ordre : créez un VLAN Management séparé sur votre routeur et migrez-y l'interface d'administration de votre hyperviseur. Installez Tailscale sur une petite VM ou un LXC et testez l'accès distant avant d'en avoir besoin en urgence. Et si vous avez un port forwarding qui traîne vers SSH ou Proxmox, fermez-le maintenant — vous n'en aurez plus besoin.