Gemenskapslösning

Så här får du fjärråtkomst till CasaOS med 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 ger en CasaOS-server en privat adress som kan nås från dina egna auktoriserade enheter även när du inte är hemma. Den ursprungliga IceWhale Community-handledningen, som publicerades i oktober 2023 för CasaOS 0.4.4 och en äldre Tailscale-version, använde den officiella Tailscale-Docker-avbildningen, en autentiseringsnyckel och en andra Tailscale-klient för att skapa den privata mesh-anslutningen.

Grundidén är fortfarande giltig: kör Tailscale på CasaOS-värden, anslut den till ditt tailnet, installera Tailscale på den fjärranslutna telefonen eller datorn och öppna sedan CasaOS med dess Tailscale-IP eller konfigurerade DNS-namn. Skärmbilderna och de exakta Docker-fälten är dock historiska. Aktuella Tailscale-containerdistributioner bör också bevara Tailscale-tillståndet, skydda autentiseringsuppgiften och följa aktuell vägledning för åtkomstkontroll.

Vad den här CasaOS + Tailscale-konfigurationen gör

Community-guiden utformades för att undvika konventionell vidarebefordran av offentliga portar. I stället för att publicera CasaOS-instrumentpanelen direkt på internet ansluter enheterna till samma Tailscale-nätverk, kallat ett tailnet, och kommunicerar via Tailscale-adresser.

Det ursprungliga arbetsflödet var:

  1. Kör Tailscale-klienten på CasaOS-servern.
  2. Skapa ett Tailscale-konto eller logga in.
  3. Generera en autentiseringsnyckel och ange den för Tailscale-containern.
  4. Installera Tailscale på den fjärranslutna datorn, telefonen eller annan enhet.
  5. Logga in enheten i samma tailnet.
  6. Öppna CasaOS med Tailscale-IP-adressen eller ett DNS-namn i tailnet.

Detta gäller åtkomst till ett privat nätverk. Normalt behöver du inte vidarebefordra CasaOS-instrumentpanelens port genom hemroutern bara för att använda den via Tailscale.

Viktig versionsgräns för den ursprungliga handledningen

Det ursprungliga inlägget listar uttryckligen CasaOS 0.4.4 och Tailscale 1.21.3. Det skrevs 2023, och både CasaOS och konfigurationen av Tailscale-containrar har utvecklats sedan dess. Använd skärmbilderna nedan för att förstå arbetsflödet i stället för att anta att alla fält visas exakt på samma plats i ett aktuellt CasaOS- eller Docker-gränssnitt.

Den aktuella officiella Tailscale Docker-guiden stöder fortfarande autentisering av en container med TS_AUTHKEY, men visar också hur du bevarar tillstånd och vilka funktioner containern behöver.

Steg 1: Lägg till Tailscale-containern i CasaOS

2023 års guide importerade den officiella Tailscale-Docker-avbildningen till CasaOS. Om du återskapar det historiska gränssnittsflödet ska du se till att avbildningskällan är den officiella tailscale/tailscale avbildningen i stället för en okänd container från tredje part.

CasaOS skärm för anpassade applikationer som används för att importera Tailscale Docker-containern
Den ursprungliga CasaOS-guiden börjar med att importera Tailscale som en Docker-applikation.
CasaOS skärm för Docker-konfiguration av Tailscale-containerapplikationen
De exakta CasaOS-fält som visas här återspeglar gränssnittet från 2023 och bör kontrolleras mot din aktuella installation.

För en modern fristående Tailscale-container visar den officiella dokumentationen konceptuellt följande grundmönster:

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

Klistra inte in en autentiseringsnyckel i ett offentligt inlägg, en skärmbild, ett kodförråd eller ett supportärende. Behandla den som ett lösenord. De exakta fälten för CasaOS anpassad installation bör motsvara samma Docker-krav och samtidigt anpassas till det grafiska gränssnitt som finns i din version.

Steg 2: Generera en autentiseringsnyckel för Tailscale

Communityhandledningen skapade sedan ett Tailscale-konto och genererade en autentiseringsnyckel från Tailscales administrationsgränssnitt. Den nyckeln angavs därefter för CasaOS-containern via TS_AUTHKEY miljövariabel.

Tailscales administrationssida som användes för att skapa en autentiseringsnyckel för CasaOS
Den ursprungliga handledningen genererade en autentiseringsnyckel så att CasaOS-containern kunde ansluta till tailnet.
CasaOS-fältet för Tailscale-containerns miljövariabler konfigurerat med TS_AUTHKEY
Den genererade autentiseringsuppgiften skickas till Tailscale-containern via miljövariabeln TS_AUTHKEY.

Aktuell Tailscale-dokumentation stöder fortfarande TS_AUTHKEY. Autentiseringsnycklar kan skapas med olika egenskaper, inklusive återanvändbart eller tillfälligt beteende. Välj endast de behörigheter och den giltighetstid som passar servern, och rotera en nyckel om du tror att den har röjts.

Gör Tailscale-tillståndet beständigt så att omstarter inte beter sig som nya installationer

Detta är viktigare i en aktuell distribution än vad de gamla skärmbilderna tydligt visar. I Tailscales aktuella Docker-exempel anges:

TS_STATE_DIR=/var/lib/tailscale

och gör katalogen beständig med en Docker-volym eller bind-montering. Utan beständigt tillstånd kan återskapandet av en container göra att autentiseringen och nodidentiteten beter sig annorlunda än förväntat.

Tailscale tillhandahåller även TS_AUTH_ONCE=true för distributioner som endast ska autentisera när containern inte har något sparat inloggningstillstånd. Om du använder det alternativet ska du se till att tillståndskatalogen faktiskt är beständig.

Se de aktuella konfigurationsparametrarna för Tailscale Docker innan du översätter en gammal CasaOS-skärmbild till en ny containerkonfiguration.

Steg 3: Kontrollera att CasaOS-noden visas i Tailscale

När containern har startat utan problem öppnar du sidan för administration av Tailscale-enheter och bekräftar att CasaOS-noden visas som ansluten. Den ursprungliga handledningen använde sedan enhetslistan för att identifiera den Tailscale-adress som tilldelats servern.

Lista över Tailscale-enheter som visar en ansluten CasaOS-server i tailnet
När autentiseringen är klar bör CasaOS-servern visas som en enhet i samma Tailscale-nätverk.

Om containern körs men servern inte visas som ansluten ska du granska containerloggarna, bekräfta att autentiseringsnyckeln är giltig och kontrollera att de tillstånd för lagring och nätverk som krävs av din aktuella Tailscale-avbildning är konfigurerade.

Steg 4: Installera Tailscale på fjärrenheten

Installera Tailscale-klienten på den bärbara dator, telefon eller surfplatta som du kommer att använda hemifrån och logga sedan in på samma tailnet. Enheterna behöver inte vara anslutna till samma Wi-Fi-nätverk när båda väl är anslutna till Tailscale.

Aktuella Tailscale-anslutningar kan vara direkta eller gå via en reläserver, beroende på nätverksförhållandena. Tailscales dokumentation anger att direkta anslutningar, DERP-reläanslutningar och Tailscale Peer Relay-anslutningar fortfarande är totalsträckskrypterade med WireGuard. Den främsta skillnaden gäller prestandan, inte huruvida nyttolasten är krypterad.

Steg 5: Öppna CasaOS med dess Tailscale-IP-adress

Den ursprungliga guiden kopierade CasaOS-serverns Tailscale-IP-adress och skrev in den i en webbläsare på fjärrenheten.

Webbläsare som ansluter till CasaOS-panelen på distans via dess Tailscale-adress
Fjärrklienten kan öppna CasaOS med serverns Tailscale-adress när båda enheterna tillhör samma tailnet.

Adressen är vanligtvis en Tailscale 100.x.x.x IP-adress. Om ditt tailnet använder MagicDNS och CasaOS-noden har ett lämpligt maskinnamn kan du också använda dess Tailscale-DNS-namn i stället för att memorera IP-adressen.

Använd den port för CasaOS-panelen som din installation faktiskt lyssnar på. Om CasaOS är konfigurerat på en annan port än standardporten ska du inkludera den porten i URL:en.

Tailscale-IP och IP-adress i hemnätverket är inte samma sak

En vanlig källa till förvirring är att förvänta sig att Tailscale på en server automatiskt gör alla vanliga IP-adresser i hemnätverket åtkomliga. Att ansluta direkt till CasaOS-maskinen via dess Tailscale-adress är en konfiguration. Att nå andra enheter via deras vanliga LAN-adresser, till exempel 192.168.1.x, är en annan Tailscale-funktion som kallas subnet routing.

Om allt du behöver är CasaOS-instrumentpanelen och apparna som körs på samma värd börjar du med serverns Tailscale-IP-adress. Konfigurera subnätsroutning endast när du medvetet vill att Tailscale-noden ska dirigera trafik till andra enheter eller subnät i ditt hemnätverk.

Säkerhetskorrigering: Du behöver normalt inte ett annat VPN runt Tailscale

Det ursprungliga inlägget från 2023 innehöll en kommentar om att känsliga överföringar kunde använda ett extra VPN. Den formuleringen kan vara missvisande. Tailscale är i sig ett krypterat privat nätverkssystem byggt på WireGuard. I Tailscales aktuella dokumentation står det att trafiken mellan Tailscale-enheter är end-to-end-krypterad, även när en anslutning vidarebefordras.

Ett extra VPN krävs därför normalt inte enbart för att kryptera CasaOS-trafik som redan färdas mellan Tailscale-noder. Att köra flera VPN-produkter samtidigt kan dessutom skapa routingkonflikter. Mer användbara säkerhetsåtgärder är:

  • Skydda identitetskontot som används för att få åtkomst till ditt tailnet-nätverk.
  • Betrakta autentiseringsnycklar och OAuth-uppgifter som hemligheter.
  • Ta bort gamla eller okända enheter från tailnet-nätverket.
  • Tillämpa åtkomstregler enligt principen om minsta behörighet i stället för att låta varje nod få åtkomst till alla tjänster utan tidsbegränsning.
  • Håll CasaOS, Docker, Tailscale och de appar du är värd för uppdaterade.
  • Exponera inte CasaOS-instrumentpanelen offentligt bara för att Tailscale också är installerat.

Tailscale rekommenderar nu Grants och åtkomstkontrollpolicyer för att begränsa vilka användare och enheter som får nå specifika tjänster.

Vad de senare ZimaOS-svaren tillförde

I ett svar från 2024 frågade en användare om samma handledning fungerade på en aktuell personlig moln-NAS-enhet av typen ZimaCube med ZimaOS. Användaren kunde se enheten som ansluten i Tailscale, men ZimaOS-gränssnittet lästes bara in delvis och visade upprepade gånger ett meddelande om att appen inte kunde läsas in. Den ursprungliga skribenten föreslog en omstart och påpekade att ZimaOS också hade ett eget alternativ för fjärråtkomst. Användaren rapporterade senare att problemet löstes efter uppdatering av ZimaOS till version 1.2.2.

Det svaret är historiska belägg, inte en aktuell kompatibilitetsgaranti. Det visar att en Tailscale-anslutning kan upprättas samtidigt som en viss ZimaOS UI-version fortfarande har problem med att läsa in appar. I ett senare svar från 2025 sades att steg-för-steg-metoden också hjälpte användaren att få Tailscale att fungera på ZimaOS.

Om du använder moderna ZimaOS i stället för CasaOS följer du aktuell dokumentation för ZimaOS-appar och fjärråtkomst i stället för att anta att skärmen Custom Install från CasaOS från 2023 är den rekommenderade konfigurationen. Operativsystemen har en gemensam ekosystemhistorik, men deras aktuella arbetsflöden för apphantering och fjärråtkomst är inte identiska.

Checklista för felsökning av CasaOS med Tailscale

  1. Bekräfta att Tailscale-containern körs i CasaOS.
  2. Bekräfta att avbildningen är den förväntade officiella Tailscale-containern eller kommer från en annan källa som du avsiktligt litar på.
  3. Kontrollera att autentiseringsuppgiften är giltig och inte har löpt ut eller återkallats.
  4. Spara /var/lib/tailscale så att noden behåller sitt tillstånd när containern återskapas.
  5. Kontrollera att CasaOS-servern visas som ansluten i Tailscales enhetslista.
  6. Installera Tailscale på fjärrenheten och logga in på samma tillåtna tailnet-nätverk.
  7. Testa CasaOS-serverns Tailscale 100.x.x.x adressen innan du försöker använda vanliga LAN-adresser.
  8. Om IP-adressen fungerar men värdnamnet inte gör det, granskar du inställningarna för DNS eller MagicDNS.
  9. Om du behöver åtkomst till andra LAN-enheter konfigurerar du subnätsdirigering separat.
  10. Granska åtkomstreglerna för tailnet-nätverket så att endast avsedda användare och enheter kan nå CasaOS-tjänsterna.

Vanliga frågor om fjärråtkomst till CasaOS med Tailscale

Behöver jag vidarebefordra CasaOS-portar på min router?

Inte för det normala Tailscale-arbetsflöde som beskrivs här. Både CasaOS-servern och fjärrklienten ansluter till samma privata tailnet-nätverk, så du får åtkomst till servern via dess Tailscale-adress i stället för att exponera CasaOS-instrumentpanelen direkt på det offentliga internet.

Vad är TS_AUTHKEY?

TS_AUTHKEY är en Tailscale-miljövariabel för Docker som används för att autentisera en container till ett tailnet-nätverk. Aktuell Docker-dokumentation för Tailscale stöder den fortfarande. Betrakta värdet som en hemlighet och byt det om det exponeras.

Varför bör jag spara /var/lib/tailscale?

Den katalogen lagrar Tailscale-tillstånd för containern. Om den sparas kan containern behålla sin nodidentitet och autentiseringstillstånd när Docker startar om eller återskapar containern.

Varför kan jag nå Tailscales 100.x-IP-adress men inte min hemadress på 192.168.x.x?

Att ansluta till själva CasaOS-servern och att dirigera ett helt hemnätverk är olika konfigurationer. Vid vanlig åtkomst till en Tailscale-nod använder du serverns Tailscale-IP-adress. Åtkomst till andra LAN-adresser kräver konfiguration och godkännande av subnätsdirigering.

Är Tailscale krypterat?

Ja. Tailscale använder WireGuard för krypterad kommunikation mellan enheter i tailnet-nätverket. Aktuell Tailscale-dokumentation anger att både direkta och reläade anslutningar fortfarande är krypterade från början till slut.

Är skärmbilderna från CasaOS från 2023 fortfarande aktuella?

De bör betraktas som historiska UI-referenser. Det underliggande arbetsflödet för att köra Tailscale, autentisera noden och ansluta fjärrenheter är fortfarande relevant, men aktuella Docker-parametrar och gränssnitt i CasaOS eller ZimaOS kan skilja sig.