Featured image

Tunnel fisico trovato esplorando la costa ligure! Ora implementiamo quello virtuale…

Info

Indice Serie Homelab

Libertà digitale: creare un ecosistema di servizi personali senza dipendere dalle big tech.

  1. Homelab: Necessità o Capriccio?
  2. Homelab: Proxmox e Container LXC
  3. Homelab: Setup Immich
  4. Homelab: Setup Navidrome
  5. Homelab: Accesso Remoto Sicuro
  6. Homelab: Migrazione da iCloud a Immich
  7. Homelab: Setup AFFiNE
  8. Homelab: Paperless-NGX e Gestione Documenti

Accesso Remoto: Due Filosofie Diverse Link to heading

L’accesso remoto trasforma servizi homelab locali (Immich, Navidrome, Proxmox) in infrastruttura utilizzabile globalmente. Esistono due filosofie fondamentali con trade-off opposti tra semplicità d’uso e controllo della sicurezza:

  1. Esposizione diretta: Servizi accessibili pubblicamente tramite domini (come siti web tradizionali)
  2. Rete privata virtuale: Dispositivi remoti “entrano” nella rete domestica tramite tunnel crittografato

La scelta dipende dal threat model personale: priorità tra convenienza universale vs controllo totale dell’accesso.

Soluzioni di Accesso Remoto Link to heading

1. Esposizione Diretta con Nginx Reverse Proxy Link to heading

I servizi homelab vengono esposti direttamente su Internet dietro un reverse proxy Nginx che gestisce SSL, autenticazione e routing.

Come Funziona Link to heading

Internet → Router (Port 80/443) → Nginx Proxy Manager → Servizi Interni

Setup richiesto:

  • IP pubblico statico (necessario)
  • Dominio registrato (es: claudio-homelab.com)
  • Port forwarding router: 80→192.168.1.100:80, 443→192.168.1.100:443
  • Container Nginx Proxy Manager per gestione certificati SSL

Vantaggi Link to heading

  • Performance ottimale: Nessun overhead di VPN o tunneling
  • Compatibilità universale: Funziona con qualsiasi browser/dispositivo
  • Controllo completo: Configurazione granulare di ogni aspetto
  • Costi bassi: Solo dominio (~€10/anno) + eventuale IP statico (spesso gli ISP lo fanno pagare a parte)
  • Semplicità client: Accesso diretto via browser, nessun software aggiuntivo

Svantaggi Link to heading

  • Superficie d’attacco esposta: I servizi sono direttamente raggiungibili da chiunque su Internet, inclusi bot malevoli e scanner automatizzati
  • Bombardamento continuo: Log pieni di tentativi di accesso, brute force e scansioni di vulnerabilità 24/7, potresti chiudere l’accesso al di fuori da italia/europa ma non sei mai sicuro
  • Responsabilità sicurezza totale: Hardening, monitoring, aggiornamenti di sicurezza e patch management completamente a carico dell’utente
  • Requisiti infrastrutturali: IP pubblico statico, configurazione firewall avanzata, gestione DNS e certificati SSL
  • Manutenzione intensiva: Monitoraggio continuo dei log, configurazione fail2ban, rinnovo certificati, aggiornamenti sistemi
  • Skill tecnici richiesti: Competenze avanzate di system administration e cybersecurity per configurazione sicura

Quando Scegliere Nginx Reverse Proxy Link to heading

Caso d’uso ideale: Utenti esperti con IP statico che privilegiano performance e hanno competenze di sicurezza avanzate.

L’esposizione diretta è particolarmente utile quando:

  • Hosting sito web personale: Rendere accessibile questo blog o portfolio senza richiedere configurazioni speciali ai visitatori
  • Condivisione con familiari: Permettere l’accesso a Navidrome o gallerie fotografiche a parenti e amici senza doverli aggiungere alla VPN
  • Servizi pubblici: Esporre tool o applicazioni che devono essere accessibili da dispositivi non controllati
  • Performance critiche: Latenza minima per streaming o gaming
  • Budget limitato: Solo costi dominio e IP statico
Warning
Valutazione del rischio: L’esposizione diretta trasforma l’homelab in un target pubblico. È adatta solo a utenti con solide competenze di sicurezza e disponibilità per manutenzione continua. Anche piccoli errori di configurazione possono compromettere l’intera infrastruttura.

2. Tailscale - Mesh VPN Gestita Link to heading

Tailscale crea una rete mesh crittografata che connette tutti i dispositivi come se fossero sulla stessa LAN, senza configurazione manuale.

Come Funziona Link to heading

Dispositivo Remoto ←→ Tailscale Cloud ←→ Homelab
         |                    |                |
    (Client app)         (Coordinamento)   (Subnet router)

Architettura:

  • Container LXC dedicato nel homelab funziona da “subnet router”
  • Server Tailscale gestiscono coordinamento e autenticazione
  • Dispositivi si connettono direttamente peer-to-peer quando possibile
  • Traffico crittografato end-to-end con WireGuard

Vantaggi Link to heading

  • Zero configurazione: Setup in minuti, funziona anche dietro CGNAT
  • Multi-piattaforma: Client nativi per Windows, macOS, Linux, iOS, Android
  • NAT traversal automatico: Connessioni dirette anche dietro firewall complessi
  • Magic DNS: Accesso servizi tramite nomi friendly invece di IP (http://immich:2283)
  • Affidabilità enterprise: Uptime 99.9%+, infrastruttura globale distribuita
  • Manutenzione zero: Aggiornamenti automatici, gestione chiavi trasparente
Note
CGNAT (Carrier Grade NAT): Tecnologia utilizzata da molti ISP (Fastweb, Iliad, operatori mobili) per condividere un singolo IP pubblico tra centinaia di clienti. Con CGNAT non è possibile fare port forwarding tradizionale, rendendo l’esposizione diretta di servizi homelab tecnicamente impossibile senza VPN.

Svantaggi Link to heading

  • Dipendenza terze parti: Controllo e coordinamento delle connessioni gestito da Tailscale Inc.
  • Privacy concerns: Metadati delle connessioni (tempi, IP, dispositivi) sono loggate sui server di Tailscale
  • Limitazioni free tier: Massimo 3 utenti e 100 dispositivi per account gratuito
  • Informazioni acquisite: Tailscale conosce quando e da dove ti connetti, quali dispositivi usi, structure di rete
  • Vendor lock-in: Migrazione ad alternative richiede riconfigurazione completa

Quando Scegliere Tailscale Link to heading

Scenario ideale: Homelab personali che privilegiano semplicità e time-to-value, con requisiti privacy commerciali accettabili.

Tailscale è particolarmente adatto per:

  • Accesso alle foto personali: Immich rimane completamente privato, accessibile solo dai tuoi dispositivi autenticati
  • Gestione server: Proxmox accessibile solo da dispositivi fidati senza esposizione pubblica
  • Servizi familiari: Condivisione Navidrome limitata ai membri della famiglia (≤3 persone gratuitamente)
  • Zero-touch deployment: Configurazione istantanea su nuovi dispositivi senza competenze tecniche
  • Connessioni CGNAT: Funziona perfettamente dietro firewall complessi e ISP limitanti
  • Manutenzione zero: Ideale per chi preferisce focus su servizi homelab vs infrastruttura
Info
Free tier Tailscale: Per homelab personali fino a 3 utenti e 100 dispositivi, il piano gratuito include tutte le funzionalità principali senza limitazioni di traffico. Perfetto per uso familiare.

3. Headscale - Tailscale Self-Hosted Link to heading

Headscale è un’implementazione open-source del server di controllo Tailscale, sviluppata da Juan Font, ex-dipendente di Tailscale. Replica le funzionalità principali permettendo di utilizzare i client Tailscale ufficiali con un server di coordinamento completamente sotto il proprio controllo.

Come Funziona Link to heading

Dispositivo Remoto ←→ Server Headscale (Self-hosted) ←→ Homelab
         |                         |                      |
   (Client Tailscale)        (Coordinamento privato)  (Subnet router)

Architettura:

  • Server Headscale self-hosted (VPS o container dedicato)
  • Client Tailscale ufficiali utilizzati per connessioni
  • Coordinamento e gestione chiavi completamente privati
  • Stessa esperienza utente di Tailscale con controllo totale

Vantaggi Link to heading

  • Privacy completa: Nessun dato su server terzi, coordinamento privato
  • Controllo totale: Gestione autonoma di utenti, dispositivi, policies
  • Costi contenuti: Solo hosting server coordinamento (€36-60/anno per VPS entry-level)
  • Compatibilità client: Utilizza app Tailscale originali
  • Scalabilità: Nessun limite artificiale di utenti o dispositivi
  • Audit trail: Log completi delle attività sotto controllo diretto

Svantaggi Link to heading

  • Complessità setup: Richiede server pubblico e configurazione DNS
  • Manutenzione server: Aggiornamenti, backup, monitoring a carico utente
  • Documentazione limitata: Community più piccola rispetto Tailscale
  • Single point of failure: Server Headscale down = nessun accesso
  • Curva apprendimento: Richiede competenze server management
  • Limitazioni funzionali: Mancano Exit Nodes, Funnel sharing, interfaccia web admin (solo CLI)

Supporto Ufficiale e Compatibilità Link to heading

Compatibilità client: Headscale supporta ufficialmente i client Tailscale originali su tutte le piattaforme (Windows, macOS, Linux, iOS, Android). Non richiede app alternative o configurazioni speciali - è completamente trasparente per l’utente finale.

Sviluppo: Il progetto ha il supporto indiretto di Tailscale Inc. che mantiene la compatibilità del protocollo e non ha mai ostacolato lo sviluppo. Juan Font ha lavorato su Headscale mentre era dipendente Tailscale, garantendo conoscenza approfondita dell’architettura.

Quando Scegliere Headscale Link to heading

Scenario ideale: Utenti privacy-conscious con competenze tecniche che vogliono controllo totale senza vendor lock-in.

Headscale è la scelta migliore quando:

  • Privacy e controllo dati sono prioritari: Nessun metadata condiviso con terze parti
  • Team >3 persone: Evita i costi crescenti di Tailscale ($216+/anno vs €36-60/anno VPS)
  • Competenze server management: Hai esperienza con Docker, VPS e CLI management
  • Audit trail completo: Necessità di log dettagliati sotto controllo diretto
  • Indipendenza da vendor: Controllo totale su infrastruttura e aggiornamenti
  • Budget VPS sostenibile: €36-60/anno diventano accettabili vs alternative
Tip
Headscale vs Tailscale: Headscale garantisce sovranità completa sui dati ma richiede competenze server management attive. Ideale per utenti avanzati che considerano privacy e controllo prioritari rispetto a convenienza.

La Scelta per il Nostro Homelab: Tailscale Link to heading

Dopo aver valutato tutte le opzioni, la scelta ricade su Tailscale per il setup iniziale dell’homelab, basata su un’analisi pragmatica delle competenze, necessità e obiettivi di apprendimento.

Perché Tailscale Ora Link to heading

  • Focus su servizi homelab invece che gestione infrastruttura
  • Accesso personale a Immich e Navidrome (1-2 utenti massimo)
  • Budget contenuto senza costi VPS ricorrenti (necessario per headscale)
  • Affidabilità immediata senza overhead di manutenzione

Privacy: Realismo vs Paranoia Link to heading

Cosa condividiamo con Tailscale:

  • Metadata delle connessioni (timestamp, durata, IP endpoint)
  • Lista dispositivi e configurazioni di rete
  • Log di autenticazione e route subnet

Cosa rimane privato:

  • Tutto il contenuto del traffico (foto, musica, password)
  • Comunicazioni interne tra servizi homelab
  • Dati applicazioni crittografati end-to-end

Valutazione rischio: Per homelab personale, il rischio privacy è minimal rispetto ai benefici operativi. I dati critici (foto personali, configurazioni) rimangono completamente privati e crittografati.

Strategia di Migrazione Futura Link to heading

Per la natura dei servizi homelab (accesso personale a Immich, Navidrome, Proxmox), difficilmente vedrò un futuro dove avrò bisogno di più di 3 utenti. Il free tier Tailscale dovrebbe rimanere sufficiente a lungo termine.

Tuttavia, la migrazione verso Headscale rimane possibile se cambiano le esigenze: stessi client, configurazione simile, controllo totale sui dati. La scelta iniziale è quindi a rischio zero - vedremo se e quando sarà necessario un upgrade.

Setup Tailscale: Configurazione Pratica Link to heading

La configurazione di Tailscale è sorprendentemente semplice e intuitiva. L’intera procedura richiede meno di 5 minuti e fornisce immediatamente accesso sicuro a tutti i servizi homelab. L’esperienza utente è stata progettata per essere zero-friction, rendendo l’accesso remoto finalmente accessibile anche a utenti non tecnici.

Setup Container Tailscale Link to heading

Step 1: Creazione CT Container

Creo un container LXC dedicato chiamato tailscale-router con risorse minimali: 512MB di RAM e 1 core CPU sono sufficienti per gestire il routing VPN di un homelab familiare. Il container funziona come “subnet router” permettendo a tutti i dispositivi Tailscale di accedere alla rete domestica 192.168.1.x senza configurazioni aggiuntive.

Step 2: Configurazione TUN Device (dall’host Proxmox)

I container LXC non hanno accesso diretto ai device di rete virtuali necessari per VPN. Questa configurazione permette al container di utilizzare il device /dev/net/tun per creare tunnel Tailscale.

# Modificare configurazione container per supporto VPN
nano /etc/pve/lxc/104.conf

# Aggiungere le righe:
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file

# Riavviare container per applicare modifiche
pct reboot 104

Step 3: Installazione Tailscale

# Entrare nel container
pct enter 104

# Aggiornare sistema
apt update && apt upgrade -y

# Installazione Tailscale (installer ufficiale)
curl -fsSL https://tailscale.com/install.sh | sh

# Abilitare servizio
systemctl enable --now tailscaled

# Verificare installazione
tailscale version

Step 4: Configurazione IP Forwarding

# Dal container tailscale-router
# Abilitare IP forwarding per subnet routing
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' >> /etc/sysctl.d/99-tailscale.conf

# Applicare configurazione
sysctl -p /etc/sysctl.d/99-tailscale.conf

# Verificare configurazione
cat /proc/sys/net/ipv4/ip_forward
# Output atteso: 1

Step 5: Registrazione Account Tailscale

  1. Registrarsi su tailscale.com con provider identità (Google, Microsoft, GitHub)
  2. Il nome del “tailnet” verrà assegnato automaticamente (es: tail12345.ts.net)

Step 6: Collegamento Container

# Dal container tailscale-router
# Collegare dispositivo alla rete Tailscale con subnet routing
tailscale up --advertise-routes=192.168.1.0/24 --accept-routes

# Output mostrerà URL di autenticazione:
# To authenticate, visit: https://login.tailscale.com/a/xxxxx

Step 7: Autenticazione Browser

  1. Copiare URL dall’output del comando precedente
  2. Incollare nel browser e completare autenticazione
  3. Il dispositivo apparirà come tailscale-router nell’Admin Console

Abilitazione Subnet Routes Link to heading

Via Tailscale Admin Console:

  1. Aprire login.tailscale.com/admin/machines
  2. Trovare dispositivo tailscale-router nella lista
  3. Three dots menuEdit route settings
  4. Subnet routes192.168.1.0/24Approve
  5. Save
Info
Subnet routing: Una volta approvato, tutti i dispositivi Tailscale potranno accedere alla rete homelab 192.168.1.x come se fossero fisicamente connessi alla LAN.

Verifica Configurazione Link to heading

# Dal container tailscale-router
# Verificare status e connettività
tailscale status

# Output atteso:
# 100.x.x.x   tailscale-router    claudio@     linux   -
# 192.168.1.0/24 advertised

# Test connettività
tailscale ping google.com
# Dovrebbe mostrare latenza attraverso Tailscale

Test Accesso e Monitoring Link to heading

# Da qualsiasi dispositivo Tailscale - Test connettività servizi
http://192.168.1.204:2283  # Immich
http://192.168.1.206:4533  # Navidrome
https://192.168.1.111:8006 # Proxmox

Conclusioni: Accesso Remoto Conquistato Link to heading

Con Tailscale configurato, l’homelab si trasforma da esperimento locale a infrastruttura utilizzabile quotidianamente. L’accesso remoto sicuro rappresenta il tassello finale che rende i servizi self-hosted realmente pratici e competitivi rispetto alle alternative cloud.

Risultato ottenuto: Immich, Navidrome e Proxmox sono ora accessibili da qualsiasi dispositivo, ovunque, con la stessa sicurezza e privacy di una connessione locale. La configurazione richiede manutenzione zero e scaling automatico.

Strada futura: La scelta Tailscale non preclude evoluzioni future verso Headscale o soluzioni ibride. L’importante è aver costruito le fondamenta per un ecosistema di servizi personali indipendente e controllato.

Risorse e Approfondimenti Link to heading