Mac mini Early 2009: server VPN per la rete di casa
L'idea
Volevo poter accedere alla rete di casa da qualunque posto: dall'università, da un treno, da casa di amici, in viaggio. Non per un servizio in particolare, ma per tutto quello che ho a casa, dal NAS alle stampanti ai computer accesi, come se fossi fisicamente lì. La strada "facile" sarebbe stata aprire una porta sul router per ogni singolo servizio, ma vuol dire esporre direttamente a internet ognuno di quei servizi, con tutte le implicazioni di sicurezza del caso. La via pulita è una sola: un server VPN in casa, una singola porta esposta sul router, e da fuori ci si tunnelizza dentro la rete domestica esattamente come se si fosse attaccati al WiFi di casa.
A questo si aggiungeva l'opportunità: avevo un Mac mini Early 2009 fermo da anni in un cassetto. Vecchio, sì, ma con due caratteristiche perfette per il ruolo. La prima è la scheda di rete Gigabit Ethernet, che permette di sfruttare al massimo la fibra ottica che ho in casa senza diventare il collo di bottiglia. La seconda è il consumo davvero contenuto, intorno ai 10-15 W in idle: un server casalingo che gira 24 ore su 24 deve essere efficiente sul lungo periodo, e il Mac mini in questo è imbattibile rispetto a un PC fisso classico.
La preparazione hardware
Prima di affidargli un compito 24/7 ho voluto rinfrescare la macchina. Aprire un Mac mini Early 2009 non è esattamente immediato (Apple ha incastrato pannelli e scocche con clip a pressione molto tenaci, servono ventose e spudge), ma una volta dentro ho fatto due interventi di base. Ho sostituito il vecchio disco meccanico da 5400 RPM con un SSD: il disco originale era lento, rumoroso e con quel ticchettio inconfondibile in idle; un SSD lo rende totalmente silenzioso, sposta i tempi di boot da minuti a secondi, e velocizza enormemente l'I/O del sistema, cosa importante visto che un server passa la maggior parte del tempo a leggere e scrivere piccoli file (log, configurazioni, indici dei servizi). Ho poi cambiato la pasta termica originale, ormai cristallizzata dopo diciassette anni, applicando una pasta nuova di fascia medio-alta sia su CPU che su GPU integrata. È lo stesso intervento che ho fatto sul mio MacBook Pro Late 2013 e che racconto in un altro progetto: niente di esoterico, ma su una macchina di quell'età i benefici sono concreti, sia in termini di temperature che di longevità del silicio.
Una buona pulizia interna con aria compressa e qualche test di funzionamento per verificare che ventola, sensori e scheda madre fossero in piena forma prima di passare al software.
Il software e il VPN
Sul Mac mini ho installato Ubuntu Server 24.04 LTS, una versione di Ubuntu pensata per i server: senza ambiente grafico, leggerissima, con supporto garantito fino al 2029. Una volta configurato l'accesso via SSH, il Mac mini è finito in un angolo della casa senza monitor né tastiera connessi, e io lo amministro dal mio computer come fosse di fianco a me. A quel punto ho potuto passare alla parte più interessante: WireGuard.
WireGuard è un protocollo VPN moderno, semplice e molto veloce. L'idea di fondo è chiara: sul Mac mini gira il "server" VPN, sui dispositivi di chi vuole connettersi (smartphone, tablet, laptop) c'è un piccolo client (un'app gratuita e ufficiale, disponibile su tutti gli store). Quando il client si attiva, si apre un tunnel cifrato tra dispositivo e Mac mini, e da quel momento il dispositivo è virtualmente dentro la rete di casa: come se fosse collegato al WiFi della stanza accanto. Può raggiungere il NAS, le stampanti di rete, qualunque altro computer interno, tutto come se fossi lì.
Il punto elegante è che dal lato del router serve aprire una sola porta UDP, e tutta la sicurezza la gestisce WireGuard tramite crittografia a chiave pubblica: niente password, solo coppie di chiavi crittografiche, una per ogni dispositivo autorizzato. Se domani perdo un telefono, mi basta rimuovere quella chiave dalla lista degli autorizzati sul server e il dispositivo perduto non può più entrare. Pulito, veloce, sicuro.
Per dare spazio a futuri servizi affiancati al VPN ho installato anche Docker, una tecnologia diventata standard per la gestione moderna dei server. Senza scendere nei dettagli: ogni applicazione che gira in Docker vive dentro una "scatola sigillata" (un container) con tutto quello che le serve, senza interferire col sistema sottostante. Quando vuoi aggiornare un servizio o rimuoverlo, lo fai senza il rischio di lasciare residui o di rompere altro. La configurazione è dichiarativa: scrivi un singolo file di testo che descrive cosa vuoi far girare, e un comando solo lo lancia. È diventato il modo più ordinato di gestire servizi su un server casalingo.
Ultimo tocco non banale: ho sostituito il controllo ventole di default con macfanctld, un piccolo demone che legge tutti i sensori di temperatura del Mac mini (CPU, GPU integrata, chipset, sensore ambientale interno) e regola la velocità della ventola in modo intelligente in base al carico reale di ciascuna zona. Su una macchina accesa 24 ore su 24 fa una differenza enorme: in idle il Mac mini è praticamente inudibile, accelera solo quando serve davvero, e tutta la macchina resta in temperature ottimali sul lungo periodo.
Il risultato
Adesso il Mac mini sta acceso 24 ore su 24 in un angolo silenzioso, attaccato al router via cavo Ethernet (sfruttando finalmente il gigabit della scheda di rete e la fibra di casa per quanto valgono davvero). Tutti i dispositivi di famiglia hanno il loro client WireGuard configurato: il mio iPhone, il mio iPad, il mio MacBook, ma anche gli smartphone dei miei familiari. Con un tap su un'icona, ovunque siamo, ci ritroviamo virtualmente "in casa" e possiamo accedere a tutto quello che ci serve.
Il vantaggio concreto è enorme: dall'università posso aprire un file sul NAS senza doverlo prima sincronizzare in cloud, posso fare backup remoti come se fossi dietro casa, posso controllare in qualunque momento i dispositivi domestici. È un po' come avere casa sempre in tasca. Una vecchia macchina che era ferma da anni adesso fa un lavoro fondamentale ogni singolo giorno, e si è ripagata abbondantemente la propria seconda vita.
Nota tecnica. L'interfaccia Gigabit Ethernet del Mac mini Early 2009 non è un dettaglio marginale: significa che il collo di bottiglia della VPN, da remoto, diventa esclusivamente la velocità di connessione del client (4G del telefono, WiFi pubblica di un albergo, eccetera), mai l'hardware del server né la mia fibra di casa, che con i suoi 2.5 Gbps non viene minimamente sfiorata. WireGuard è famoso proprio per essere molto efficiente nel saturare anche connessioni veloci con un carico CPU contenuto, quindi la pipeline regge senza fatica qualunque banda i client mi offrano. Una macchina di diciassette anni che gestisce dignitosamente questi scenari è una piccola soddisfazione tecnica.