Sito in costruzione Alcune sezioni sono ancora in fase di sviluppo e potrebbero cambiare.

Progetto personale

Home Lab

Cluster VMware, Active Directory, TrueNAS, Docker, OPNsense, Cloudflare e servizi self-hosted.

Home Lab preview
Indice del progetto

Overview

Questo progetto nasce con l’obiettivo di costruire un ambiente di laboratorio realistico, vicino a una piccola infrastruttura enterprise, in cui applicare e approfondire le competenze acquisite durante il percorso Tecnico Superiore per le infrastrutture e i sistemi IT: Network, Cloud e Virtualizzazione - ITS Network and Cloud Specialist presso ITS Angelo Rizzoli.

L’home lab è basato su due server HPE ProLiant, un DL380 Gen10 e un DL360 Gen9, configurati come host VMware ESXi 8 Update 3 e gestiti centralmente tramite vCenter Server. L’infrastruttura include virtualizzazione, storage centralizzato, servizi Microsoft, sistemi Linux, container, firewalling, reverse proxy, accesso remoto sicuro e servizi self-hosted.

Il progetto mi permette di sperimentare scenari concreti legati a networking, virtualizzazione, gestione utenti, sicurezza, pubblicazione di servizi online, backup dei dati e integrazione tra ambienti Windows, Linux e appliance dedicate.

Infrastruttura fisica

L’infrastruttura fisica è composta da due server HPE ProLiant, nello specifico un DL380 Gen10 e un DL360 Gen9. Entrambi i server sono stati potenziati rispetto alla configurazione originale tramite upgrade di processori, memoria RAM e schede di espansione dedicate a storage, networking e GPU.

I server sono collegati a uno switch Layer 3 Mokerlink, che rappresenta il punto centrale della connettività fisica del laboratorio. Allo stesso switch sono collegati anche il router domestico, il mio PC personale e un computer di management dotato di porta seriale, utilizzato per la configurazione e la gestione dello switch tramite console.

Questa struttura fisica mi consente di separare i ruoli dei dispositivi, testare scenari di rete reali e mantenere un ambiente sufficientemente flessibile per sperimentare configurazioni infrastrutturali differenti.

Physical infrastructure diagram of the home lab

Panoramica dell’infrastruttura fisica dell’home lab. Le linee nere rappresentano collegamenti Ethernet, mentre la linea viola rappresenta la connessione seriale usata per la gestione dello switch.

Virtualizzazione VMware

Sui due server HPE è installato VMware ESXi 8 Update 3. Gli host sono gestiti tramite VMware vCenter Server e sono inseriti all’interno di un cluster vSphere.

Nel cluster ho configurato funzionalità come vMotion e vSphere Distributed Switch. vMotion consente la migrazione a caldo delle macchine virtuali tra i due host, mentre il Distributed Switch permette una gestione centralizzata e coerente della rete virtuale, dei port group e dei segmenti utilizzati dalle VM.

L’ambiente ospita diverse macchine virtuali con sistemi operativi differenti, tra cui Windows Server 2019, Windows Server 2022, Windows Server 2025, Windows 10, Windows 11, Ubuntu 22.04 e Ubuntu 24.04. Le VM Windows client vengono utilizzate anche per testare policy di dominio e configurazioni Active Directory.

Infrastruttura virtuale

La struttura virtuale del lab è organizzata all’interno del cluster VMware ESXi e gestita tramite vCenter Server.

Le macchine virtuali sono distribuite tra servizi infrastrutturali, sistemi di test, workload Linux e servizi esposti online. Tra i servizi interni sono presenti Active Directory, server Windows, client Windows 10 e 11 per il test delle Group Policy, TrueNAS per lo storage condiviso e macchine Ubuntu dedicate ai servizi containerizzati.

Una parte dell’ambiente è separata tramite vSphere Distributed Switch ed è dedicata ai servizi pubblicati o accessibili dall’esterno, come Nextcloud, Collabora, Jellyfin, Immich e il reverse proxy Nginx. OPNsense gestisce il traffico tra le reti e contribuisce alla segmentazione e alla protezione dell’ambiente.

Virtual infrastructure diagram inside the ESXi cluster

Panoramica dell’infrastruttura virtuale con servizi interni, client di test, workload containerizzati, firewall OPNsense, reverse proxy Nginx e servizi esposti.

Active Directory, DNS e policy

All’interno del lab è presente un ambiente Active Directory Domain Services, utilizzato per la gestione centralizzata di utenti, gruppi, autenticazione e policy di dominio.

Il Domain Controller fornisce anche il servizio DNS interno necessario alla risoluzione dei nomi del dominio e dei servizi on-premise. Il DNS del Domain Controller è configurato come DNS primario nel server DHCP domestico, mentre come DNS secondari sono impostati resolver pubblici come Google e Cloudflare.

Questa configurazione consente ai dispositivi della rete domestica di raggiungere facilmente i servizi interni utilizzando gli stessi indirizzi o nomi configurati nel dominio. Il DNS del Domain Controller utilizza come forwarder un container Pi-hole, che fornisce filtraggio DNS per il blocco di pubblicità, tracking e domini potenzialmente malevoli.

In questo modo, pur mantenendo la gestione dei nomi interni tramite il Domain Controller, l’intera rete domestica beneficia del filtraggio DNS fornito da Pi-hole.

Storage e data sharing

Per la gestione dello storage ho implementato un server TrueNAS, integrato nel dominio Active Directory. TrueNAS fornisce risorse di rete tramite protocolli SMB, NFS e iSCSI, consentendo sia la condivisione file sia la sperimentazione di storage di rete per ambienti virtualizzati.

L’integrazione con Active Directory permette di gestire permessi e accessi alle risorse condivise tramite utenti e gruppi di dominio, simulando scenari tipici di un ambiente aziendale.

TrueNAS ospita inoltre un’istanza di Immich, utilizzata per il backup e la gestione delle foto personali. L’accesso a Immich è protetto tramite Cloudflare Tunnel e integrato con Google per la gestione dell’autenticazione, in modo da aumentare il controllo sugli accessi al servizio.

Container e servizi self-hosted

Molti servizi del lab sono containerizzati e distribuiti su macchine virtuali Linux dedicate. L’utilizzo di Docker consente di isolare i servizi, semplificare la gestione delle dipendenze e mantenere un deployment più ordinato e riproducibile.

Tra i servizi presenti ci sono Pi-hole per il filtraggio DNS, Nextcloud per il cloud personale, Collabora Online per la modifica dei documenti, Jellyfin per la gestione dei contenuti multimediali e Immich per il backup fotografico.

Questa parte del progetto mi permette di lavorare su Linux server, containerizzazione, persistenza dei dati, networking applicativo e gestione di servizi self-hosted in un ambiente controllato.

Sicurezza, accesso remoto e pubblicazione online

La sicurezza perimetrale dell’ambiente è gestita tramite OPNsense, installato a cascata dopo il modem/router domestico. OPNsense gestisce firewalling, NAT, segmentazione del traffico e controllo degli accessi tra le diverse reti dell’home lab.

I servizi esposti online sono configurati tramite Cloudflare per la gestione DNS e SSL/TLS. Tra i servizi interni e OPNsense è presente un reverse proxy Nginx, utilizzato per instradare il traffico verso le applicazioni corrette e mantenere la comunicazione cifrata.

Per l’accesso remoto ho configurato una VPN WireGuard direttamente sul router domestico.

Su OPNsense sono stati installati e configurati diversi componenti di sicurezza, tra cui CrowdSec, Zenarmor e Tailscale. CrowdSec viene utilizzato per rilevare e bloccare comportamenti sospetti o potenzialmente malevoli, mentre Zenarmor aggiunge funzionalità di analisi, controllo e protezione del traffico di rete. Tailscale consente invece di creare un canale di accesso remoto sicuro e controllato verso l’infrastruttura interna.

Questa sezione del lab mi permette di approfondire sicurezza di rete, esposizione controllata dei servizi, reverse proxy, cifratura del traffico, VPN, accesso remoto sicuro, filtering avanzato e hardening del perimetro.