Soluzione della community

Come accedere da remoto a CasaOS con Tailscale

A 2023 CasaOS community tutorial showing how to run the Tailscale Docker client, authenticate it with TS_AUTHKEY, join other devices to the same tailnet, and reach CasaOS remotely without conventional port forwarding.

Tailscale assegna a un server CasaOS un indirizzo privato raggiungibile dai tuoi dispositivi autorizzati anche quando sei lontano da casa. Il tutorial originale della community IceWhale, pubblicato nell’ottobre 2023 per CasaOS 0.4.4 e una versione precedente di Tailscale, utilizzava l’immagine Docker ufficiale di Tailscale, una chiave di autenticazione e un secondo client Tailscale per creare quella connessione mesh privata.

L’idea di base è ancora valida: esegui Tailscale sull’host CasaOS, aggiungilo alla tua tailnet, installa Tailscale sul telefono o sul computer remoto, quindi apri CasaOS usando il suo indirizzo IP Tailscale o il nome DNS configurato. Tuttavia, le schermate e i campi Docker esatti sono storici. Le implementazioni attuali dei container Tailscale dovrebbero inoltre rendere persistente lo stato di Tailscale, proteggere la credenziale di autenticazione e seguire le indicazioni aggiornate sul controllo degli accessi.

Cosa permette di fare questa configurazione CasaOS + Tailscale

La guida della community era stata progettata per evitare il tradizionale inoltro delle porte pubbliche. Invece di pubblicare direttamente su Internet la dashboard di CasaOS, i dispositivi entrano nella stessa rete Tailscale, chiamata tailnet, e comunicano tramite gli indirizzi Tailscale.

Il flusso di lavoro originale era:

  1. Esegui il client Tailscale sul server CasaOS.
  2. Crea un account Tailscale o accedi a un account esistente.
  3. Genera una chiave di autenticazione e forniscila al container Tailscale.
  4. Installa Tailscale sul laptop, telefono o altro dispositivo remoto.
  5. Accedi a quel dispositivo nella stessa tailnet.
  6. Apri CasaOS usando l’indirizzo IP di Tailscale o un nome DNS della tailnet.

Si tratta di un accesso a una rete privata. Normalmente non è necessario inoltrare la porta della dashboard di CasaOS attraverso il router di casa solo per utilizzarla tramite Tailscale.

Importante limite di versione per il tutorial originale

Il post originale indica esplicitamente CasaOS 0.4.4 e Tailscale 1.21.3. È stato scritto nel 2023 e da allora sia CasaOS sia la configurazione dei container Tailscale si sono evoluti. Usa le schermate riportate di seguito per comprendere il flusso di lavoro, senza presumere che ogni campo si trovi esattamente nello stesso punto dell’interfaccia attuale di CasaOS o Docker.

L’attuale guida Docker di Tailscale ufficiale supporta ancora l’autenticazione di un container con TS_AUTHKEY, ma mostra anche come rendere persistente lo stato e quali funzionalità sono richieste dal container.

Passaggio 1: aggiungere il container Tailscale a CasaOS

La guida del 2023 importava in CasaOS l’immagine Docker ufficiale di Tailscale. Se stai riproducendo il flusso dell’interfaccia storico, assicurati che l’origine dell’immagine sia quella ufficiale tailscale/tailscale immagine anziché un container di terze parti sconosciuto.

Schermata delle applicazioni personalizzate di CasaOS utilizzata per importare il container Docker Tailscale
La guida originale di CasaOS inizia importando Tailscale come applicazione Docker.
Schermata di configurazione Docker di CasaOS per l'applicazione container Tailscale
I campi esatti di CasaOS mostrati qui riflettono l'interfaccia del 2023 e dovrebbero essere verificati rispetto all'installazione attuale.

Per un moderno container Tailscale autonomo, la documentazione ufficiale mostra concettualmente questo schema di base:

docker run -d \
  --name tailscale \
  --hostname casaos-server \
  -e TS_AUTHKEY=<tskey-YOUR-AUTH-KEY> \
  -e TS_STATE_DIR=/var/lib/tailscale \
  -v ./tailscale-state:/var/lib/tailscale \
  --cap-add=net_admin \
  --cap-add=net_raw \
  --restart unless-stopped \
  tailscale/tailscale:latest

Non incollare una chiave di autenticazione in un post pubblico, uno screenshot, un repository o un ticket di supporto. Trattala come una password. I campi esatti di Installazione personalizzata di CasaOS dovrebbero rappresentare gli stessi requisiti Docker, adattandosi all'interfaccia grafica disponibile nella tua versione.

Passaggio 2: genera una chiave di autenticazione Tailscale

Il tutorial della community creava quindi un account Tailscale e generava una chiave di autenticazione dall'interfaccia di amministrazione di Tailscale. La chiave veniva poi fornita al container CasaOS tramite la TS_AUTHKEY variabile d'ambiente.

Pagina di amministrazione di Tailscale utilizzata per creare una chiave di autenticazione per CasaOS
Il tutorial originale generava una chiave di autenticazione affinché il container CasaOS potesse unirsi alla tailnet.
Campo dell'ambiente del container Tailscale in CasaOS configurato con TS_AUTHKEY
La credenziale generata viene passata al container Tailscale tramite la variabile d'ambiente TS_AUTHKEY.

La documentazione attuale di Tailscale continua a supportare TS_AUTHKEYLe chiavi di autenticazione possono essere create con proprietà diverse, inclusi il riutilizzo o il comportamento effimero. Scegli solo i privilegi e la durata adatti al server e ruota una chiave se ritieni che sia stata compromessa.

Rendi persistente lo stato di Tailscale, così i riavvii non si comportano come nuove installazioni

Questo aspetto è ancora più importante in una distribuzione attuale di quanto lascino intendere le vecchie schermate. Gli esempi Docker attuali di Tailscale impostano:

TS_STATE_DIR=/var/lib/tailscale

e rendi persistente quella directory con un volume Docker o un bind mount. Senza uno stato persistente, la ricreazione di un container può far sì che l'autenticazione e l'identità del nodo si comportino in modo diverso da quanto previsto.

Tailscale fornisce anche TS_AUTH_ONCE=true per le distribuzioni che dovrebbero autenticarsi solo quando il container non ha uno stato di accesso salvato. Se usi questa opzione, assicurati che la directory dello stato sia effettivamente persistente.

Consulta gli attuali parametri di configurazione Docker di Tailscale prima di trasformare una vecchia schermata di CasaOS in una nuova configurazione del container.

Passaggio 3: verifica che il nodo CasaOS appaia in Tailscale

Dopo che il container è stato avviato correttamente, apri la pagina di amministrazione dei dispositivi Tailscale e verifica che il nodo CasaOS risulti connesso. Il tutorial originale utilizzava quindi l'elenco dei dispositivi per individuare l'indirizzo Tailscale assegnato al server.

Elenco dei dispositivi Tailscale con un server CasaOS connesso alla tailnet
Una volta completata l'autenticazione, il server CasaOS dovrebbe apparire come dispositivo nella stessa rete Tailscale.

Se il container è in esecuzione ma il server non risulta connesso, controlla i log del container, verifica che la chiave di autenticazione sia valida e assicurati che lo stato e le funzionalità di rete richiesti dall'immagine Tailscale in uso siano configurati.

Passaggio 4: installa Tailscale sul dispositivo remoto

Installa il client Tailscale sul laptop, sul telefono o sul tablet che utilizzerai fuori casa, quindi accedi alla stessa tailnet. I due dispositivi non devono essere connessi alla stessa rete Wi-Fi quando entrambi sono collegati a Tailscale.

Le connessioni Tailscale attuali possono essere dirette o inoltrate tramite relay, a seconda delle condizioni della rete. La documentazione di Tailscale afferma che le connessioni dirette, inoltrate tramite DERP e tramite Tailscale Peer Relay restano crittografate end-to-end con WireGuard; la differenza principale riguarda le prestazioni, non il fatto che il payload sia crittografato.

Passaggio 5: apri CasaOS con il suo indirizzo IP Tailscale

La guida originale copiava l'indirizzo IP Tailscale del server CasaOS e lo inseriva in un browser dal dispositivo remoto.

Browser connesso da remoto alla dashboard di CasaOS tramite il suo indirizzo Tailscale
Il client remoto può aprire CasaOS usando l'indirizzo Tailscale del server quando entrambi i dispositivi appartengono alla stessa tailnet.

L'indirizzo è in genere un indirizzo Tailscale 100.x.x.x IP. Se la tua tailnet usa MagicDNS e il nodo CasaOS ha un nome macchina appropriato, puoi anche usare il suo nome DNS Tailscale invece di memorizzare l'indirizzo IP.

Usa la porta della dashboard di CasaOS sulla quale l'installazione è effettivamente in ascolto. Se CasaOS è configurato su una porta non predefinita, includi quella porta nell'URL.

L'indirizzo IP Tailscale e l'indirizzo IP della rete domestica non sono la stessa cosa

Una fonte comune di confusione è aspettarsi che Tailscale su un server renda automaticamente raggiungibile ogni normale indirizzo IP della rete domestica. Connettersi direttamente alla macchina CasaOS tramite il suo indirizzo Tailscale è una configurazione. Raggiungere altri dispositivi tramite i loro normali indirizzi LAN, ad esempio 192.168.1.x, è una funzionalità diversa di Tailscale chiamata routing delle subnet.

Se ti servono solo la dashboard e le applicazioni di CasaOS in esecuzione sullo stesso host, inizia dall’indirizzo IP Tailscale del server. Configura il routing delle sottoreti solo quando vuoi intenzionalmente che il nodo Tailscale instradi il traffico verso altri dispositivi o sottoreti della rete domestica.

Correzione di sicurezza: normalmente non serve un’altra VPN intorno a Tailscale

Il post originale del 2023 includeva una nota secondo cui, per i trasferimenti sensibili, si poteva usare una VPN aggiuntiva. Questa formulazione può essere fuorviante. Tailscale è di per sé un sistema di rete privata crittografata basato su WireGuard. La documentazione attuale di Tailscale afferma che il traffico tra i dispositivi Tailscale è crittografato end-to-end, anche quando la connessione viene inoltrata.

Pertanto, normalmente non è necessaria una VPN aggiuntiva solo per crittografare il traffico di CasaOS che viaggia già tra nodi Tailscale. L’utilizzo contemporaneo di più prodotti VPN può inoltre creare conflitti di routing. Controlli di sicurezza più utili sono:

  • Proteggi l’account di identità utilizzato per accedere alla tua tailnet.
  • Considera le chiavi di autenticazione e le credenziali OAuth come segreti.
  • Rimuovi dalla tailnet i dispositivi obsoleti o non riconosciuti.
  • Applica regole di accesso con il principio del privilegio minimo, invece di consentire indefinitamente a ogni nodo di accedere a ogni servizio.
  • Mantieni aggiornati CasaOS, Docker, Tailscale e le applicazioni ospitate.
  • Non esporre pubblicamente la dashboard di CasaOS solo perché è installato anche Tailscale.

Tailscale ora consiglia le Grants e le policy di controllo degli accessi per limitare gli utenti e i dispositivi che possono raggiungere servizi specifici.

Cosa hanno aggiunto le risposte successive su ZimaOS

Una risposta del 2024 chiedeva se lo stesso tutorial funzionasse su un NAS cloud personale ZimaCube attuale con ZimaOS. L’utente riusciva a vedere il dispositivo come connesso in Tailscale, ma l’interfaccia di ZimaOS si caricava solo parzialmente e mostrava ripetutamente un messaggio relativo al mancato caricamento delle applicazioni. L’autore originale suggerì di riavviare il dispositivo e fece notare che ZimaOS disponeva anche di una propria opzione per l’accesso remoto. In seguito, l’utente riferì che il problema si era risolto dopo l’aggiornamento di ZimaOS alla versione 1.2.2.

Quella risposta costituisce una prova storica, non una garanzia di compatibilità attuale. Dimostra che è possibile stabilire una connessione Tailscale anche quando una determinata versione dell’interfaccia utente di ZimaOS presenta ancora problemi di caricamento delle applicazioni. Una risposta successiva del 2025 ha affermato che il metodo dettagliato passo passo li ha aiutati anche a far funzionare Tailscale su ZimaOS.

Se usi il moderno ZimaOS invece di CasaOS, segui la documentazione attuale sulle app e sull'accesso remoto di ZimaOS invece di presumere che la schermata Installazione personalizzata di CasaOS del 2023 sia la configurazione preferibile. I sistemi operativi condividono parte della storia dell'ecosistema, ma gli attuali flussi di gestione delle app e di accesso remoto non sono identici.

Checklist per la risoluzione dei problemi di Tailscale su CasaOS

  1. Conferma che il container Tailscale sia in esecuzione in CasaOS.
  2. Conferma che l'immagine sia il container ufficiale Tailscale previsto o un'altra fonte di cui ti fidi intenzionalmente.
  3. Verifica che la credenziale di autenticazione sia valida e non sia scaduta o revocata.
  4. Rendi persistente /var/lib/tailscale in modo che il nodo conservi il proprio stato anche quando il container viene ricreato.
  5. Verifica che il server CasaOS risulti connesso nell'elenco dei dispositivi Tailscale.
  6. Installa Tailscale sul dispositivo remoto e accedi allo stesso tailnet autorizzato.
  7. Verifica il Tailscale del server CasaOS 100.x.x.x l'indirizzo prima di provare i normali indirizzi della LAN.
  8. Se l'IP funziona ma il nome host no, controlla le impostazioni DNS o MagicDNS.
  9. Se devi accedere ad altri dispositivi della LAN, configura separatamente l'instradamento della sottorete.
  10. Esamina le regole di accesso del tailnet per assicurarti che solo gli utenti e i dispositivi previsti possano raggiungere i servizi CasaOS.

Domande frequenti sull'accesso remoto a CasaOS tramite Tailscale

Devo inoltrare le porte di CasaOS sul router?

Non per il normale flusso di lavoro di Tailscale descritto qui. Sia il server CasaOS sia il client remoto entrano nello stesso tailnet privato, quindi accedi al server tramite il suo indirizzo Tailscale invece di esporre direttamente il dashboard CasaOS su Internet pubblico.

Che cos'è TS_AUTHKEY?

TS_AUTHKEY è una variabile d'ambiente Docker di Tailscale usata per autenticare un container in un tailnet. La documentazione Docker attuale di Tailscale la supporta ancora. Tratta il valore come un segreto e sostituiscilo se viene esposto.

Perché dovrei rendere persistente /var/lib/tailscale?

Quella directory memorizza lo stato di Tailscale per il container. La sua persistenza consente al container di conservare l'identità del nodo e lo stato di autenticazione quando Docker riavvia o ricrea il container.

Perché riesco a raggiungere l'IP Tailscale 100.x ma non il mio indirizzo domestico 192.168.x.x?

La connessione al server CasaOS e l'instradamento di un'intera sottorete domestica sono configurazioni diverse. Il normale accesso al nodo Tailscale usa l'indirizzo IP Tailscale del server. Per accedere ad altri indirizzi della LAN è necessario configurare e approvare l'instradamento della sottorete.

Tailscale è crittografato?

Sì. Tailscale usa WireGuard per le comunicazioni crittografate tra i dispositivi del tailnet. La documentazione attuale di Tailscale specifica che le connessioni dirette e inoltrate continuano a essere crittografate end-to-end.

Gli screenshot di CasaOS del 2023 sono ancora attuali?

Dovrebbero essere trattati come riferimenti storici dell'interfaccia utente. Il flusso di lavoro di base per eseguire Tailscale, autenticare il nodo e connettere dispositivi remoti è ancora valido, ma i parametri Docker attuali e le interfacce di CasaOS o ZimaOS potrebbero essere diversi.