Tailscale nadaje serwerowi CasaOS prywatny adres, za pomocą którego można uzyskać do niego dostęp z własnych autoryzowanych urządzeń, nawet podczas nieobecności w domu. Oryginalny poradnik społeczności IceWhale, opublikowany w październiku 2023 roku dla CasaOS 0.4.4 i starszej wersji Tailscale, wykorzystywał oficjalny obraz Dockera Tailscale, klucz uwierzytelniający oraz drugiego klienta Tailscale, aby utworzyć to prywatne połączenie mesh.
Podstawowa idea nadal jest aktualna: uruchomić Tailscale na hoście CasaOS, dołączyć go do tailnetu, zainstalować Tailscale na zdalnym telefonie lub komputerze, a następnie otworzyć CasaOS za pomocą jego adresu IP Tailscale lub skonfigurowanej nazwy DNS. Zrzuty ekranu i dokładne pola Dockera mają jednak charakter historyczny. W obecnych wdrożeniach kontenera Tailscale należy również trwale przechowywać stan Tailscale, chronić dane uwierzytelniające oraz stosować się do aktualnych zaleceń dotyczących kontroli dostępu.
Co zapewnia ta konfiguracja CasaOS + Tailscale
Poradnik społeczności powstał po to, aby uniknąć konwencjonalnego przekierowywania portów publicznych. Zamiast publikować panel CasaOS bezpośrednio w internecie, urządzenia dołączają do tej samej sieci Tailscale, zwanej tailnetem, i komunikują się za pośrednictwem adresów Tailscale.
Oryginalny przebieg konfiguracji wyglądał następująco:
- Uruchom klienta Tailscale na serwerze CasaOS.
- Utwórz konto Tailscale lub zaloguj się na istniejące konto.
- Wygeneruj klucz uwierzytelniający i przekaż go do kontenera Tailscale.
- Zainstaluj Tailscale na zdalnym laptopie, telefonie lub innym urządzeniu.
- Zaloguj to urządzenie do tego samego tailnetu.
- Otwórz CasaOS, używając adresu IP Tailscale lub nazwy DNS tailnetu.
Jest to dostęp przez sieć prywatną. Zwykle nie trzeba przekierowywać portu panelu CasaOS przez domowy router tylko po to, aby korzystać z niego za pośrednictwem Tailscale.
Ważna granica wersji dotycząca oryginalnego poradnika
W oryginalnym artykule wyraźnie wymieniono CasaOS 0.4.4 oraz Tailscale 1.21.3. Został on napisany w 2023 roku, a od tego czasu zarówno CasaOS, jak i konfiguracja kontenerów Tailscale uległy zmianom. Skorzystaj z poniższych zrzutów ekranu, aby zrozumieć przebieg konfiguracji, zamiast zakładać, że każde pole będzie znajdować się dokładnie w tym samym miejscu w obecnym interfejsie CasaOS lub Dockera.
Obecny oficjalny przewodnik Tailscale dotyczący Dockera nadal obsługuje uwierzytelnianie kontenera za pomocą TS_AUTHKEY, ale pokazuje również trwałe przechowywanie stanu oraz uprawnienia wymagane przez kontener.
Krok 1: Dodaj kontener Tailscale do CasaOS
Przewodnik z 2023 roku importował do CasaOS oficjalny obraz Dockera Tailscale. Jeśli odtwarzasz historyczny przebieg interfejsu, upewnij się, że źródłem obrazu jest oficjalne tailscale/tailscale obrazu zamiast nieznanego kontenera innej firmy.
W przypadku nowoczesnego, samodzielnego kontenera Tailscale oficjalna dokumentacja przedstawia podstawowy schemat koncepcyjnie w następującej postaci:
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
Nie wklejaj klucza uwierzytelniającego do publicznego posta, zrzutu ekranu, repozytorium ani zgłoszenia do pomocy technicznej. Traktuj go jak hasło. Dokładne pola niestandardowej instalacji CasaOS powinny odzwierciedlać te same wymagania Dockera, a jednocześnie odpowiadać interfejsowi graficznemu dostępnemu w Twojej wersji.
Krok 2: Wygeneruj klucz uwierzytelniający Tailscale
Następnie w samouczku społeczności utworzono konto Tailscale i wygenerowano klucz uwierzytelniający w interfejsie administracyjnym Tailscale. Klucz ten przekazano do kontenera CasaOS za pośrednictwem TS_AUTHKEY zmiennej środowiskowej.
Aktualna dokumentacja Tailscale nadal obsługuje TS_AUTHKEYKlucze uwierzytelniające można tworzyć z różnymi właściwościami, w tym jako wielokrotnego użytku lub efemeryczne. Wybierz tylko uprawnienia i okres ważności odpowiednie dla serwera, a jeśli uważasz, że klucz został ujawniony, wygeneruj nowy.
Utrwalanie stanu Tailscale, aby ponowne uruchomienia nie zachowywały się jak nowe instalacje
Ta kwestia jest ważniejsza we współczesnym wdrożeniu, niż sugerują stare zrzuty ekranu. Aktualne przykłady Dockera od Tailscale zawierają ustawienie:
TS_STATE_DIR=/var/lib/tailscale
i utrwal ten katalog za pomocą wolumenu Dockera lub montowania bind. Bez trwałego stanu odtworzenie kontenera może spowodować, że uwierzytelnianie i tożsamość węzła będą działać inaczej, niż oczekiwano.
Tailscale udostępnia również TS_AUTH_ONCE=true w przypadku wdrożeń, które powinny wymagać uwierzytelnienia tylko wtedy, gdy kontener nie ma zapisanej sesji logowania. Jeśli używasz tej opcji, upewnij się, że katalog stanu jest rzeczywiście trwały.
Przed przekształceniem starego zrzutu ekranu CasaOS w nową konfigurację kontenera zapoznaj się z aktualnymi parametrami konfiguracji Tailscale Docker.
Krok 3: Sprawdź, czy węzeł CasaOS pojawia się w Tailscale
Po pomyślnym uruchomieniu kontenera otwórz stronę administracyjną urządzeń Tailscale i potwierdź, że węzeł CasaOS jest widoczny jako połączony. W pierwotnym poradniku użyto następnie listy urządzeń do ustalenia adresu Tailscale przypisanego serwerowi.
Jeśli kontener działa, ale serwer nie pojawia się jako połączony, sprawdź dzienniki kontenera, potwierdź, że klucz uwierzytelniający jest prawidłowy, i upewnij się, że skonfigurowano wymagany przez używany obraz Tailscale stan oraz możliwości sieciowe.
Krok 4: Zainstaluj Tailscale na urządzeniu zdalnym
Zainstaluj klienta Tailscale na laptopie, telefonie lub tablecie, którego będziesz używać poza domem, a następnie zaloguj się do tej samej sieci tailnet. Gdy oba urządzenia są połączone z Tailscale, nie muszą korzystać z tej samej sieci Wi-Fi.
Bieżące połączenia Tailscale mogą być bezpośrednie lub przekazywane przez przekaźnik, zależnie od warunków sieciowych. Dokumentacja Tailscale stwierdza, że połączenia bezpośrednie, przekazywane przez DERP oraz połączenia Tailscale Peer Relay pozostają szyfrowane end-to-end za pomocą WireGuard; główna różnica dotyczy wydajności, a nie tego, czy dane są szyfrowane.
Krok 5: Otwórz CasaOS za pomocą jego adresu IP Tailscale
W pierwotnym poradniku skopiowano adres IP Tailscale serwera CasaOS i wpisano go w przeglądarce na zdalnym urządzeniu.
Adres jest zazwyczaj adresem Tailscale 100.x.x.x Adres IP. Jeśli Twoja sieć tailnet korzysta z MagicDNS, a węzeł CasaOS ma odpowiednią nazwę urządzenia, możesz również użyć jego nazwy DNS Tailscale zamiast zapamiętywać adres IP.
Użyj portu panelu CasaOS, na którym faktycznie nasłuchuje Twoja instalacja. Jeśli CasaOS jest skonfigurowany na niestandardowym porcie, uwzględnij ten port w adresie URL.
Adres IP Tailscale i adres IP domowej sieci LAN to nie to samo
Częstym źródłem nieporozumień jest oczekiwanie, że Tailscale uruchomiony na jednym serwerze automatycznie umożliwi dostęp do każdego zwykłego adresu IP w sieci domowej. Bezpośrednie łączenie się z urządzeniem CasaOS za pomocą jego adresu Tailscale to jedno rozwiązanie. Dostęp do innych urządzeń za pomocą ich zwykłych adresów LAN, takich jak 192.168.1.xto inna funkcja Tailscale o nazwie routing podsieci.
Jeśli potrzebujesz jedynie panelu CasaOS i aplikacji działających na tym samym hoście, zacznij od użycia adresu IP Tailscale serwera. Skonfiguruj routing podsieci tylko wtedy, gdy świadomie chcesz, aby węzeł Tailscale przekazywał ruch do innych urządzeń lub podsieci w domowej sieci.
Korekta dotycząca bezpieczeństwa: zwykle nie potrzebujesz innej sieci VPN dodatkowo poza Tailscale
Oryginalny wpis z 2023 roku zawierał uwagę sugerującą, że do przesyłania poufnych danych można użyć dodatkowej sieci VPN. To sformułowanie może wprowadzać w błąd. Tailscale to sam w sobie szyfrowany system prywatnej sieci oparty na WireGuardzie. Aktualna dokumentacja Tailscale stwierdza, że ruch między urządzeniami Tailscale jest szyfrowany end-to-end, również wtedy, gdy połączenie jest przekazywane przez przekaźnik.
Dodatkowa sieć VPN nie jest więc zwykle potrzebna wyłącznie do szyfrowania ruchu CasaOS, który już przebiega między węzłami Tailscale. Jednoczesne uruchamianie wielu produktów VPN może również powodować konflikty routingu. Bardziej przydatne zabezpieczenia to:
- Chroń konto tożsamości używane do uzyskiwania dostępu do tailnetu.
- Traktuj klucze uwierzytelniające i dane logowania OAuth jako sekrety.
- Usuwaj stare lub nierozpoznane urządzenia z tailnetu.
- Stosuj reguły dostępu zgodne z zasadą najmniejszych uprawnień, zamiast bezterminowo zezwalać każdemu węzłowi na dostęp do każdej usługi.
- Aktualizuj CasaOS, Docker, Tailscale i hostowane aplikacje.
- Nie udostępniaj publicznie panelu CasaOS tylko dlatego, że zainstalowano również Tailscale.
Tailscale obecnie zaleca reguły Grants i zasady kontroli dostępu do ograniczania użytkowników i urządzeń, które mogą uzyskiwać dostęp do określonych usług.
Co dodały późniejsze odpowiedzi dotyczące ZimaOS
W odpowiedzi z 2024 roku zapytano, czy ten sam samouczek działa na aktualnym osobistym serwerze NAS w chmurze ZimaCube działającym pod kontrolą ZimaOS. Użytkownik widział urządzenie jako połączone w Tailscale, ale interfejs ZimaOS ładował się tylko częściowo i wielokrotnie wyświetlał komunikat o nieudanym ładowaniu aplikacji. Autor oryginalnego wpisu zasugerował ponowne uruchomienie urządzenia i zauważył, że ZimaOS ma również własną opcję zdalnego dostępu. Użytkownik później poinformował, że problem ustąpił po aktualizacji ZimaOS do wersji 1.2.2.
Ta odpowiedź jest dowodem historycznym, a nie aktualną gwarancją zgodności. Pokazuje, że można ustanowić połączenie Tailscale, nawet gdy konkretna wersja interfejsu ZimaOS nadal ma problemy z ładowaniem aplikacji. W późniejszej odpowiedzi z 2025 roku napisano, że metoda krok po kroku również pomogła uruchomić Tailscale w ZimaOS.
Jeśli używasz nowoczesnego ZimaOS zamiast CasaOS, skorzystaj z aktualnej dokumentacji aplikacji i zdalnego dostępu ZimaOS, zamiast zakładać, że ekran niestandardowej instalacji CasaOS z 2023 roku jest preferowaną konfiguracją. Systemy operacyjne mają częściowo wspólną historię ekosystemu, ale ich obecne procedury zarządzania aplikacjami i zdalnego dostępu nie są identyczne.
Lista kontrolna rozwiązywania problemów z Tailscale w CasaOS
- Potwierdź, że kontener Tailscale działa w CasaOS.
- Potwierdź, że obraz jest oficjalnym kontenerem Tailscale lub pochodzi z innego źródła, któremu świadomie ufasz.
- Sprawdź, czy dane uwierzytelniające są prawidłowe i nie wygasły ani nie zostały unieważnione.
- Utrwal
/var/lib/tailscaleaby węzeł zachowywał swój stan po odtworzeniu kontenera. - Sprawdź, czy serwer CasaOS jest wyświetlany jako połączony na liście urządzeń Tailscale.
- Zainstaluj Tailscale na urządzeniu zdalnym i zaloguj je do tego samego dozwolonego tailnetu.
- Przetestuj adres Tailscale serwera CasaOS
100.x.x.xadresu przed próbą użycia standardowych adresów LAN. - Jeśli adres IP działa, ale nazwa hosta nie, sprawdź ustawienia DNS lub MagicDNS.
- Jeśli potrzebujesz dostępu do innych urządzeń w sieci LAN, skonfiguruj routing podsieci osobno.
- Sprawdź reguły dostępu tailnetu, aby tylko wybrani użytkownicy i urządzenia mogli uzyskiwać dostęp do usług CasaOS.
Często zadawane pytania dotyczące zdalnego dostępu Tailscale w CasaOS
Czy muszę przekierować porty CasaOS na routerze?
Nie w przypadku opisanego tutaj standardowego przepływu pracy Tailscale. Zarówno serwer CasaOS, jak i klient zdalny dołączają do tego samego prywatnego tailnetu, więc uzyskujesz dostęp do serwera przez jego adres Tailscale zamiast wystawiać panel CasaOS bezpośrednio do publicznego internetu.
Czym jest TS_AUTHKEY?
TS_AUTHKEY TS_AUTHKEY to zmienna środowiskowa Dockera Tailscale używana do uwierzytelniania kontenera w tailnecie. Aktualna dokumentacja Dockera Tailscale nadal ją obsługuje. Traktuj tę wartość jako sekret i zmień ją, jeśli zostanie ujawniona.
Dlaczego należy utrwalać /var/lib/tailscale?
Ten katalog przechowuje stan Tailscale dla kontenera. Jego utrwalanie pomaga kontenerowi zachować tożsamość węzła i stan uwierzytelnienia po ponownym uruchomieniu lub odtworzeniu kontenera przez Dockera.
Dlaczego mogę połączyć się z adresem IP Tailscale 100.x, ale nie z moim domowym adresem 192.168.x.x?
Połączenie z samym serwerem CasaOS i routing całej domowej podsieci to różne konfiguracje. W zwykłym dostępie do węzła Tailscale używa się adresu Tailscale serwera. Dostęp do innych adresów LAN wymaga skonfigurowania routingu podsieci i zatwierdzenia.
Czy Tailscale jest szyfrowany?
Tak. Tailscale używa WireGuard do szyfrowanej komunikacji między urządzeniami w tailnecie. Aktualna dokumentacja Tailscale wskazuje, że połączenia bezpośrednie i przekazywane nadal są szyfrowane kompleksowo.
Czy zrzuty ekranu CasaOS z 2023 roku są nadal aktualne?
Należy je traktować jako historyczne odniesienia do interfejsu użytkownika. Podstawowy przebieg pracy — uruchomienie Tailscale, uwierzytelnienie węzła i połączenie z urządzeniami zdalnymi — nadal jest aktualny, ale bieżące parametry Dockera oraz interfejsy CasaOS lub ZimaOS mogą się różnić.
