Gemenskapslösning

Tailscale på ZimaOS med Headscale: Anpassad kontrollserver, autentiseringsnyckel, beständig lagring av tillstånd och säkrare aktuell konfiguration

A concise October 2025 community tutorial for pointing the ZimaOS Tailscale Docker app at a self-hosted Headscale control server. It used a persistent state folder, TS_AUTHKEY for first registration, TS_EXTRA_ARGS with the Headscale URL, host networking, /dev/net/tun, and NET_ADMIN/NET_RAW capabilities.

Källinlägget fångar de centrala delarna som behövs för att få en Tailscale Docker-klient på ZimaOS att registrera sig med ett självhostat Headscale-kontrollplan: beständigt tillstånd, en engångsnyckel/förhandsautentiseringsnyckel, den anpassade Headscale-URL:en, TUN-åtkomst och de nödvändiga containerfunktionerna.

Aktuell dokumentation för Tailscale och Headscale ger nu ett tydligare uppströmskontrakt. Tailscale stöder officiellt en anpassad URL för kontrollservern, och Headscale dokumenterar både interaktiv registrering och registrering med förhandsautentiseringsnyckel. Använd dessa uppströmsmetoder för att verifiera det aktuella kommandot/URL:en i stället för att enbart förlita dig på en skärmbild från 2025.

ZimaOS Docker-inställningar för Tailscale med värdnätverk, beständig tillståndsmapp, /dev/net/tun, Headscale-argumentet för login-servern samt funktionerna NET_ADMIN/NET_RAW
Källans konfiguration kombinerar beständigt Tailscale-tillstånd med Headscale-URL:en, TUN-enheten, värdnätverk och Linux-nätverksfunktioner.

Headscale ersätter Tailscales kontrollplan för samordning

Headscale är en självhostad implementation av Tailscales protokoll för kontrollservern. Tailscale-klienter skapar fortfarande krypterade peer-to-peer-tunnlar, men registrering och samordning hanteras av användarens Headscale-instans i stället för Tailscales standardkontrollplan.

Spara Tailscales tillståndskatalog

Källan skapade /DATA/AppData/tailscale/state och mappade den till /var/lib/tailscale. Detta är viktigt eftersom nodens identitet/tillstånd bör finnas kvar när containern återskapas och värddatorn startas om.

Källan rekommenderade även begränsade behörigheter för värddatorns tillståndskatalog. Det är rimligt eftersom tillståndet är en del av nodens identitet och inte bör vara läsbart för alla.

Använd Headscale-URL:en som anpassad kontrollserver

Aktuell Tailscale-dokumentation stöder anpassade kontrollservrar via:

tailscale login --login-server=<URL>

Headscales egen dokumentation använder samma modell med tailscale up --login-server <YOUR_HEADSCALE_URL>.

Se Tailscales aktuella vägledning för anpassade kontrollservrar.

Använd en förhandsautentiseringsnyckel för icke-interaktiv registrering

Källan lade tillfälligt till TS_AUTHKEY, registrerade noden och tog sedan bort variabeln. Headscale dokumenterar för närvarande hur man skapar en förhandsautentiseringsnyckel och använder den med --authkey för icke-interaktiv registrering.

Använd Headscales aktuella registreringsmetoder.

Lämna inte en återanvändbar autentiseringsnyckel i appdefinitionen

Om nyckeln kan återanvändas eller har lång giltighetstid innebär det onödig exponering att lämna den i ZimaOS-appens miljö. När nodidentiteten har lagrats korrekt ska du ta bort registreringshemligheten när den inte längre behövs.

Om en nyckel klistrades in på ett offentligt forum eller i en skärmbild ska du återkalla den och skapa en ny.

Kärnans TUN och funktioner påverkar nätverksläget

Källan mappar /dev/net/tun och tilldelar NET_ADMIN/NET_RAW, vilket är en stil för kärnnätverkshantering snarare än ren userspace-nätverkshantering.

Aktuella Tailscale-containrar kan även köras i userspace-läge, så välj läge medvetet utifrån om du behöver subnätsroutning, exit-nodsbeteende eller fullständig kärnnätverkshantering.

Värdnätverk är kraftfullt

Källan använder Dockers värdnätverk. Det tar bort den normala portisoleringen för containrar och gör att Tailscale körs direkt i värdens nätverksnamnrymd.

Byt inte från värd- till bryggnätverk – eller tvärtom – utan att förstå hur den aktuella Tailscale-appen lagrar rutter, lyssnare och annonserade tjänster.

Headscale-URL:en bör vara tillförlitligt nåbar och ordentligt säkrad

En självhostad kontrollserver blir kritisk infrastruktur. Använd stabil DNS, en giltig TLS-konfiguration och säkerhetskopior av Headscales databas/konfiguration. Om kontrollservern försvinner kan befintliga peers fortsätta kommunicera tillfälligt, men nya registreringar och ändringar av samordningen blir inte tillgängliga.

Källan är en fungerande konfiguration, inte ett supportavtal med IceWhale

Inlägget innehåller ingen bekräftelse från IceWhale-personal. Det är en community-konfiguration som stämmer väl överens med de grundläggande koncepten i Tailscale/Headscale, men den bör fortfarande testas mot det aktuella Tailscale-paketet i ZimaOS.

Vanliga frågor om Headscale på ZimaOS

Kan Tailscale-klienter använda en anpassad Headscale-kontrollserver?

Ja. Den aktuella Tailscale-dokumentationen stöder officiellt anpassade URL:er för kontrollservern.

Bör TS_AUTHKEY finnas kvar i appen för alltid?

Nej. Källan tog bort den efter registreringen, och långlivade registreringshemligheter bör inte lämnas exponerade i onödan.

Varför spara /var/lib/tailscale?

Den bevarar nodens Tailscale-identitet/tillstånd vid återskapande av containern och omstart.