Tailscale geeft een CasaOS-server een privé-adres dat vanaf je eigen geautoriseerde apparaten bereikbaar is, ook wanneer je niet thuis bent. De oorspronkelijke IceWhale Community-tutorial, gepubliceerd in oktober 2023 voor CasaOS 0.4.4 en een oudere Tailscale-versie, gebruikte de officiële Tailscale-Dockerimage, een authenticatiesleutel en een tweede Tailscale-client om die private meshverbinding tot stand te brengen.
Het basisidee is nog steeds geldig: voer Tailscale uit op de CasaOS-host, voeg deze toe aan je tailnet, installeer Tailscale op de externe telefoon of computer en open CasaOS vervolgens met het Tailscale-IP-adres of de geconfigureerde DNS-naam. De schermafbeeldingen en exacte Docker-velden zijn echter historisch. Bij huidige Tailscale-containerimplementaties moet je ook de Tailscale-status persistent opslaan, de authenticatiegegevens beveiligen en de actuele richtlijnen voor toegangsbeheer volgen.
Wat deze CasaOS- en Tailscale-configuratie doet
De communityhandleiding was bedoeld om conventionele openbare poortdoorschakeling te vermijden. In plaats van het CasaOS-dashboard rechtstreeks op internet te publiceren, maken apparaten deel uit van hetzelfde Tailscale-netwerk, een zogenoemd tailnet, en communiceren ze via Tailscale-adressen.
De oorspronkelijke workflow was:
- Voer de Tailscale-client uit op de CasaOS-server.
- Maak een Tailscale-account aan of meld je aan.
- Genereer een authenticatiesleutel en geef die door aan de Tailscale-container.
- Installeer Tailscale op de externe laptop, telefoon of een ander apparaat.
- Meld dat apparaat aan bij hetzelfde tailnet.
- Open CasaOS met het Tailscale-IP-adres of een DNS-naam van je tailnet.
Dit betreft toegang tot een privénetwerk. Normaal gesproken hoef je de dashboardpoort van CasaOS niet via je thuisrouter door te sturen om deze via Tailscale te gebruiken.
Belangrijke versiegrens voor de oorspronkelijke tutorial
In het oorspronkelijke bericht worden expliciet CasaOS 0.4.4 en Tailscale 1.21.3 vermeld. Het werd geschreven in 2023 en zowel CasaOS als de configuratie van Tailscale-containers zijn sindsdien veranderd. Gebruik de onderstaande schermafbeeldingen om de workflow te begrijpen, in plaats van ervan uit te gaan dat elk veld in een huidige CasaOS- of Docker-UI precies op dezelfde plaats staat.
De huidige officiële Tailscale-Dockerhandleiding ondersteunt nog steeds het authenticeren van een container met TS_AUTHKEY, maar laat ook zien hoe je persistente status instelt en welke mogelijkheden de container nodig heeft.
Stap 1: voeg de Tailscale-container toe aan CasaOS
In de handleiding uit 2023 werd de officiële Tailscale-Dockerimage in CasaOS geïmporteerd. Als je de historische UI-workflow reproduceert, controleer dan of de bron van de image officieel is. tailscale/tailscale image in plaats van een onbekende container van een externe partij.
Voor een moderne zelfstandige Tailscale-container toont de officiële documentatie conceptueel het volgende kernpatroon:
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
Plak een authenticatiesleutel nooit in een openbaar bericht, screenshot, repository of supportticket. Behandel deze als een wachtwoord. De exacte aangepaste-installatievelden van CasaOS moeten aan dezelfde Docker-vereisten voldoen en tegelijkertijd aansluiten op de GUI die in jouw versie beschikbaar is.
Stap 2: Een Tailscale-authenticatiesleutel genereren
Vervolgens maakte de communitytutorial een Tailscale-account aan en genereerde een authenticatiesleutel via de Tailscale-beheerinterface. Die sleutel werd daarna via de TS_AUTHKEY omgevingsvariabele.
De huidige Tailscale-documentatie ondersteunt nog steeds TS_AUTHKEYAuthenticatiesleutels kunnen met verschillende eigenschappen worden aangemaakt, waaronder herbruikbaar of tijdelijk. Kies alleen de bevoegdheden en geldigheidsduur die bij de server passen, en roteer een sleutel als je denkt dat deze is blootgesteld.
Tailscale-status persistent maken zodat herstarts zich niet gedragen als nieuwe installaties
Dit punt is belangrijker in een huidige implementatie dan de oude schermafbeeldingen duidelijk maken. De huidige Docker-voorbeelden van Tailscale gebruiken:
TS_STATE_DIR=/var/lib/tailscale
en maak die directory persistent met een Docker-volume of bind mount. Zonder persistente status kan het opnieuw aanmaken van een container ervoor zorgen dat authenticatie en de node-identiteit zich anders gedragen dan verwacht.
Tailscale biedt ook TS_AUTH_ONCE=true voor implementaties die alleen moeten authenticeren wanneer de container geen opgeslagen aanmeldstatus heeft. Als je die optie gebruikt, zorg er dan voor dat de statusdirectory daadwerkelijk persistent is.
Raadpleeg de actuele Tailscale-configuratieparameters voor Docker voordat je een oude CasaOS-schermafbeelding vertaalt naar een nieuwe containerconfiguratie.
Stap 3: Controleer of de CasaOS-node in Tailscale verschijnt
Nadat de container succesvol is gestart, open je de beheerpagina voor Tailscale-apparaten en controleer je of de CasaOS-node als verbonden verschijnt. In de oorspronkelijke tutorial werd de apparatenlijst vervolgens gebruikt om het aan de server toegewezen Tailscale-adres te identificeren.
Als de container actief is maar de server niet als verbonden verschijnt, controleer je de containerlogboeken, bevestig je dat de authenticatiesleutel geldig is en zorg je ervoor dat de status- en netwerkmogelijkheden die je huidige Tailscale-image vereist, zijn geconfigureerd.
Stap 4: Installeer Tailscale op het externe apparaat
Installeer de Tailscale-client op de laptop, telefoon of tablet die je buitenshuis gebruikt en meld je aan bij hetzelfde tailnet. De twee apparaten hoeven niet met hetzelfde wifi-netwerk verbonden te zijn zodra ze beide met Tailscale zijn verbonden.
Huidige Tailscale-verbindingen kunnen afhankelijk van de netwerkomstandigheden rechtstreeks of via een relay tot stand komen. Volgens de documentatie van Tailscale blijven rechtstreekse, via DERP doorgestuurde en via Tailscale Peer Relay gemaakte verbindingen end-to-end versleuteld met WireGuard; het belangrijkste verschil betreft de prestaties, niet of de payload versleuteld is.
Stap 5: Open CasaOS met het Tailscale-IP-adres
In de oorspronkelijke handleiding werd het Tailscale-IP-adres van de CasaOS-server gekopieerd en in een browser op het externe apparaat ingevoerd.
Het adres is doorgaans een Tailscale- 100.x.x.x IP-adres. Als je tailnet MagicDNS gebruikt en de CasaOS-node een geschikte machinenaam heeft, kun je ook de Tailscale-DNS-naam gebruiken in plaats van het IP-adres te onthouden.
Gebruik de dashboardpoort waarop jouw installatie daadwerkelijk luistert. Als CasaOS op een niet-standaardpoort is geconfigureerd, voeg je die poort toe aan de URL.
Tailscale-IP en thuisnetwerk-IP zijn niet hetzelfde
Een veelvoorkomende bron van verwarring is de verwachting dat Tailscale op één server automatisch elk normaal IP-adres van het thuisnetwerk bereikbaar maakt. Rechtstreeks verbinding maken met de CasaOS-machine via het Tailscale-adres is één configuratie. Andere apparaten bereiken via hun gewone LAN-adressen, zoals 192.168.1.x, is een andere Tailscale-functie die subnetrouting heet.
Als je alleen het CasaOS-dashboard en de apps op diezelfde host nodig hebt, begin dan met het Tailscale-IP-adres van de server. Configureer subnetrouting alleen wanneer je bewust wilt dat het Tailscale-knooppunt verkeer naar andere apparaten of subnetten in je thuisnetwerk routeert.
Beveiligingscorrectie: rond Tailscale heb je normaal gesproken geen andere VPN nodig
Het oorspronkelijke bericht uit 2023 bevatte een opmerking dat gevoelige overdrachten eventueel via een extra VPN konden verlopen. Die formulering kan misleidend zijn. Tailscale zelf is een versleuteld privénetwerksysteem dat op WireGuard is gebaseerd. In de huidige documentatie van Tailscale staat dat verkeer tussen Tailscale-apparaten end-to-end versleuteld is, ook wanneer een verbinding wordt doorgestuurd.
Een extra VPN is daarom normaal gesproken niet nodig om CasaOS-verkeer dat al tussen Tailscale-knooppunten loopt, te versleutelen. Het gelijktijdig uitvoeren van meerdere VPN-producten kan ook routeringsconflicten veroorzaken. Nuttigere beveiligingsmaatregelen zijn:
- Beveilig het identiteitsaccount dat wordt gebruikt om toegang te krijgen tot je tailnet.
- Behandel auth-sleutels en OAuth-inloggegevens als geheimen.
- Verwijder oude of onbekende apparaten uit het tailnet.
- Pas toegangsregels volgens het principe van minimale rechten toe, in plaats van elk knooppunt onbeperkt toegang te geven tot elke service.
- Houd CasaOS, Docker, Tailscale en gehoste applicaties up-to-date.
- Stel het CasaOS-dashboard niet openbaar beschikbaar alleen omdat Tailscale ook is geïnstalleerd.
Tailscale raadt nu Grants en toegangsbeheerbeleid aan om te beperken welke gebruikers en apparaten toegang hebben tot specifieke services.
Wat de latere reacties over ZimaOS toevoegden
In een reactie uit 2024 werd gevraagd of dezelfde tutorial werkte op een huidige ZimaCube personal cloud NAS met ZimaOS. De gebruiker zag het apparaat als verbonden in Tailscale, maar de ZimaOS-interface werd slechts gedeeltelijk geladen en toonde herhaaldelijk een melding dat het laden van apps was mislukt. De oorspronkelijke auteur stelde voor om opnieuw op te starten en merkte op dat ZimaOS ook een eigen optie voor externe toegang had. Later meldde de gebruiker dat het probleem was opgelost nadat ZimaOS was bijgewerkt naar versie 1.2.2.
Die reactie is historisch bewijs, geen actuele compatibiliteitsgarantie. Ze laat zien dat er een Tailscale-verbinding tot stand kan worden gebracht terwijl een specifieke ZimaOS UI-versie nog problemen heeft met het laden van applicaties. In een latere reactie uit 2025 werd vermeld dat de stapsgewijze methode ook had geholpen om Tailscale werkend te krijgen op ZimaOS.
Als je modern ZimaOS gebruikt in plaats van CasaOS, volg dan de actuele documentatie voor ZimaOS-apps en externe toegang in plaats van ervan uit te gaan dat het scherm voor Custom Install in CasaOS uit 2023 de aanbevolen configuratie is. De besturingssystemen delen een deel van hun geschiedenis binnen hetzelfde ecosysteem, maar hun huidige workflows voor appbeheer en externe toegang zijn niet identiek.
Checklist voor het oplossen van problemen met CasaOS en Tailscale
- Controleer of de Tailscale-container actief is in CasaOS.
- Controleer of de image de verwachte officiële Tailscale-container is of afkomstig is van een andere bron die je bewust vertrouwt.
- Controleer of de authenticatiegegevens geldig zijn en niet verlopen of ingetrokken.
- Bewaren
/var/lib/tailscalezodat de node zijn status behoudt wanneer de container opnieuw wordt aangemaakt. - Controleer of de CasaOS-server in de apparatenlijst van Tailscale als verbonden wordt weergegeven.
- Installeer Tailscale op het externe apparaat en meld het aan bij dezelfde toegestane tailnet.
- Test het Tailscale-
100.x.x.xadres voordat je normale LAN-adressen probeert. - Als het IP-adres werkt maar de hostnaam niet, controleer dan de DNS- of MagicDNS-instellingen.
- Als je toegang nodig hebt tot andere apparaten op het LAN, configureer dan afzonderlijk subnetroutering.
- Controleer de toegangsregels van de tailnet, zodat alleen de beoogde gebruikers en apparaten toegang hebben tot CasaOS-services.
Veelgestelde vragen over externe toegang tot CasaOS via Tailscale
Moet ik CasaOS-poorten doorsturen op mijn router?
Niet voor de normale Tailscale-workflow die hier wordt beschreven. Zowel de CasaOS-server als de externe client worden lid van dezelfde private tailnet, zodat je toegang krijgt tot de server via het Tailscale-adres in plaats van het CasaOS-dashboard rechtstreeks aan het openbare internet bloot te stellen.
Wat is TS_AUTHKEY?
TS_AUTHKEY is een Docker-omgevingsvariabele van Tailscale die wordt gebruikt om een container bij een tailnet te authenticeren. De huidige Docker-documentatie van Tailscale ondersteunt deze nog steeds. Behandel de waarde als een geheim en roteer deze als deze openbaar is geworden.
Waarom moet ik /var/lib/tailscale bewaren?
Die map bevat de Tailscale-status voor de container. Door deze te bewaren behoudt de container zijn node-identiteit en authenticatiestatus wanneer Docker de container opnieuw start of opnieuw aanmaakt.
Waarom kan ik het Tailscale-IP-adres 100.x.x.x bereiken, maar niet mijn thuisadres 192.168.x.x?
Verbinding maken met de CasaOS-server zelf en een volledig thuisnetwerk-subnet routeren zijn verschillende configuraties. Normale toegang tot een Tailscale-node gebruikt het Tailscale-IP-adres van de server. Voor toegang tot andere LAN-adressen is subnetroutering en goedkeuring vereist.
Is Tailscale versleuteld?
Ja. Tailscale gebruikt WireGuard voor versleutelde communicatie tussen apparaten in de tailnet. In de huidige Tailscale-documentatie staat dat directe en doorgestuurde verbindingen end-to-end versleuteld blijven.
Zijn de CasaOS-schermafbeeldingen uit 2023 nog actueel?
Ze moeten worden beschouwd als historische UI-referenties. De onderliggende workflow voor het uitvoeren van Tailscale, het authenticeren van de node en het verbinden van externe apparaten is nog steeds relevant, maar de huidige Docker-parameters en CasaOS- of ZimaOS-interfaces kunnen verschillen.
