Tailscale è una VPN zero-config basata sul protocollo WireGuard, progettata per collegare in modo sicuro dispositivi attraverso reti diverse come se fossero nella stessa rete locale (LAN).
Le sue caratteristiche principali:
- Ogni connessione è crittografata, garantendo la protezione dei dati durante il transito
- Opera in modalità mesh: a differenza dei tradizionali sistemi centralizzati, in cui un server dirige il traffico, in una rete mesh ogni dispositivo (nodo) comunica direttamente con gli altri in modalità peer-to-peer. Questo approccio riduce la latenza e migliora l’efficienza
- Gestisce automaticamente il NAT (Network Address Translation) e la configurazione di firewall, semplificando notevolmente le varie configurazioni
- Una volta che i dispositivi si connettono alla tailnet (la propria rete privata), Tailscale si occupa di instradare il traffico, garantendo che i dati raggiungano il destinatario corretto senza interventi manuali
Per maggiori informazioni, fare riferimento alla documentazione ufficiale
Installazione di un subnet routers
Grazie ai Proxmox Helper-Scripts, possiamo installare Tailscale in maniera semplicissima.
Per prima cosa, dobbiamo creare un container LXC basato su Debian 12 sulla nostra infrastruttura PVE. Per maggiori dettagli, vedere gli articoli Come installare e configurare PVE e PBS utilizzando una connessione WiFi e Gestire il firewall di PVE.
Il container LXC agirà da subnet router, ovvero da gateway, inoltrando il traffico della subnet 10.10.1.0/24, consentendo così l’accesso via VPN a tutte le risorse della LAN.
Ora, come scritto nella documentazione, dal nodo PVE fisico dobbiamo lanciare il seguente script:
|
|
Selezionare l’host su cui installare Tailscale e attendere il completamento del processo.
Configurazione del subnet routers
Dal container LXC, seguendo la documentazione di Tailscale, abilitare l’IP forwarding:
Dopo aver abilitato l’IP forwarding sul dispositivo, eseguire il comando tailscale up --advertise-routes=10.10.1.0/24.
L’opzione --advertise-routes permette di specificare, tramite una lista separata da virgole, le subnet che il dispositivo renderà raggiungibili attraverso la tailnet. Il dispositivo, in altri termini, farà da gateway per quelle sottoreti, permettendo ai dispositivi della propria tailnet (la rete privata creata da Tailscale) di accedere alle risorse presenti in quella LAN.
Il comando tailscale ha diversi altri parametri:
|
|
Abilitare la subnet dalla console di amministrazione
Infine, dalla console di amministrazione, dobbiamo approvare la subnet:
- Aprire la pagina Machines nella console di amministrazione
- Selezionare il dispositivo con l’etichetta subnets, quindi navigare nella sezione Routing Settings
- Selezionare Edit per aprire le impostazioni di modifica delle rotte
- Spuntare le rotte da approvare
Tailscale sullo smartphone Android
Possiamo installare Tailscale da Fdroid sullo smartphone e fare l’accesso col proprio account. Dopo aver attivato la VPN, se tutto é stato configurato nella maniera corretta, potremo accedere alle risorse della subnet che abbiamo approvato: