In una rete piatta ogni dispositivo può raggiungere tutti gli altri: la compromissione di una lampadina smart o del portatile di un ospite espone anche l'hypervisor e i backup. La segmentazione limita il raggio d'azione di un incidente (il cosiddetto blast radius) dividendo la rete in domini separati, con regole esplicite tra l'uno e l'altro. Lo schema di riferimento per un homelab si realizza con le VLAN 802.1Q e, su Proxmox VE, con un bridge VLAN-aware.
Perché segmentare
I vantaggi concreti sono tre. Il primo è il contenimento: un dispositivo compromesso raggiunge solo ciò che il suo segmento consente. Il secondo è la leggibilità delle policy, che si scrivono per ruolo («i dispositivi domestici non avviano connessioni verso i server») invece che per singolo indirizzo. Il terzo è la riduzione del traffico broadcast e multicast in ogni dominio.
Importante
Una VLAN separa il livello 2, ma non protegge da sola. La sicurezza dipende dal punto in cui i segmenti vengono instradati, cioè il firewall o il router, che deve applicare una policy restrittiva. Senza filtri tra le VLAN si ottiene solo una rete più complessa.
Schema di riferimento
Lo schema usa cinque segmenti. Ogni VLAN corrisponde a una sottorete IP distinta, documentata in un unico elenco; gli ID sono indicativi.
| ID | Nome | Contenuto tipico |
|---|---|---|
| 10 | Gestione | interfacce di amministrazione di hypervisor, switch, access point e server di backup |
| 20 | Server | macchine virtuali, container, NAS e servizi interni |
| 30 | Client | computer e portatili di uso quotidiano |
| 40 | Domotica e IoT | dispositivi smart, telecamere, stampanti |
| 50 | Ospiti | dispositivi dei visitatori, solo accesso a Internet |
La VLAN 1, predefinita su molti apparati, resta inutilizzata. Secondo le esigenze si aggiungono segmenti per storage, backup o accessi VPN; la rete di Corosync di un cluster Proxmox va invece separata e non instradata (si veda Cluster Proxmox VE a tre nodi).
Trunk e porte access
Il tag 802.1Q aggiunge 4 byte al frame Ethernet e contiene un identificatore a 12 bit: gli ID utilizzabili vanno da 1 a 4094. Sullo switch una porta è access quando trasporta una sola VLAN senza tag (dispositivi finali) ed è trunk quando trasporta più VLAN con tag (collegamenti tra apparati, hypervisor, access point).
| Porta | Modalità | VLAN |
|---|---|---|
| Collegamento verso il firewall | trunk | tutte le VLAN, con tag |
| Nodo Proxmox | trunk | solo quelle usate da gestione e guest |
| Postazione di lavoro | access | 30, senza tag |
| Access point Wi-Fi | trunk | 30, 40 e 50 con tag, un SSID per VLAN |
Sui trunk conviene elencare esplicitamente le VLAN ammesse invece di lasciarle passare tutte.
Default-deny tra segmenti
Il traffico tra segmenti è negato per impostazione predefinita: si aprono solo i flussi necessari, per sorgente, destinazione e servizio. Il firewall è stateful, quindi le risposte ai flussi consentiti sono ammesse automaticamente. La tabella è concettuale e non descrive regole reali: indica chi può avviare una connessione verso chi (n/a è lo stesso segmento).
| Origine / destinazione | Gestione | Server | Client | Domotica e IoT | Ospiti | Internet |
|---|---|---|---|---|---|---|
| Gestione | n/a | sì | sì | sì | no | solo aggiornamenti |
| Server | no | n/a | no | no | no | solo aggiornamenti |
| Client | solo postazione di amministrazione | servizi specifici | n/a | dispositivi specifici | no | sì |
| Domotica e IoT | no | solo DNS e NTP | no | n/a | no | limitato |
| Ospiti | no | no | no | no | n/a | sì |
Le eccezioni si documentano una per una: chi, verso cosa, perché. L'accesso remoto via VPN (si veda WireGuard: accesso remoto e VPN site-to-site) va trattato come un segmento a sé, con regole proprie, invece di collocarlo direttamente nella gestione.
Bridge VLAN-aware su Proxmox
Con un bridge VLAN-aware un unico bridge (vmbr0) trasporta tutte le VLAN e ogni scheda di rete virtuale riceve il proprio tag. Nel file di configurazione del nodo:
auto lo
iface lo inet loopback
iface eno1 inet manual
auto vmbr0
iface vmbr0 inet manual
bridge-ports eno1
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
auto vmbr0.10
iface vmbr0.10 inet static
address 192.0.2.11/24
gateway 192.0.2.1bridge-vids 2-4094 ammette sul bridge i tag da 2 a 4094; la VLAN 1 resta quella predefinita per il traffico senza tag, che nello schema non si usa. L'indirizzo di gestione dell'host sta su un'interfaccia VLAN (vmbr0.10) e non sulla rete senza tag. Alle VM e ai container il tag si assegna dal campo «VLAN Tag» della scheda di rete: 20 per una VM del segmento server, 50 per un guest di prova nella rete ospiti. Le modifiche manuali al file si applicano con ifreload -a, che richiede ifupdown2.
ifreload -aAttenzione
Una configurazione di rete errata può rendere il nodo irraggiungibile, come avverte la stessa documentazione di Proxmox VE. Conviene applicare le modifiche da console locale o fuori banda, in una finestra di manutenzione, con un modo per tornare alla configurazione precedente. Sul lato switch la porta del nodo deve già essere un trunk con le VLAN corrette.
Suggerimento
Per configurazioni più articolate Proxmox VE offre anche le zone VLAN dell'SDN, gestite dall'interfaccia web.
Errori comuni
- VLAN nativa e VLAN 1. I frame senza tag su un trunk finiscono nella VLAN nativa; se le due estremità non concordano, il traffico passa da un segmento all'altro. Conviene non usare la VLAN 1 e impostare su ogni trunk una nativa inutilizzata, che riduce anche il rischio di VLAN hopping con doppio tag.
- DHCP e DNS dimenticati. Ogni VLAN ha bisogno del proprio ambito DHCP (o di un relay), di un gateway e di un DNS raggiungibile. Una VLAN nuova «non funziona» quasi sempre perché ne manca uno.
- mDNS e discovery. Il multicast non attraversa i router: stampanti, casting e dispositivi domestici individuati con mDNS spariscono tra segmenti. Si risolve con un reflector mDNS (per esempio quello di Avahi o la funzione equivalente del firewall) limitato ai segmenti necessari, aprendo solo le porte dei servizi.
- Trunk incompleti. Una VLAN assente dall'elenco ammesso su un solo apparato interrompe il percorso: va verificata l'intera catena.
- Gestione sullo stesso segmento dei guest. Un'interfaccia dell'hypervisor raggiungibile da ogni VM annulla gran parte del beneficio. SSH e interfaccia web restano accessibili dalla sola VLAN di gestione (si veda la checklist di hardening SSH su Debian).