Ta aplikacja sprawia, że zdalny dostęp do homelaba jest niesamowicie prosty — bez konieczności przekierowywania portów
Kiedy skonfigurujesz usługę na swoim domowym serwerze, możesz uzyskać do niej dostęp od razu, wpisując po prostu adres IP serwera, a następnie port, do którego ta usługa jest przypisana. Tak długo, jak jesteś połączony z tą samą siecią co serwer, możesz uzyskać dostęp do tej usługi.
Jednak gdy jesteś na zewnątrz, nie połączony ze swoją domową siecią Wi-Fi, nie możesz bezpośrednio uzyskać dostępu do swojego serwera domowego ani jego usług. Zwykle zaleca się ustawienie przekierowania portów na routerze lub użycie reverse proxy. Ale to nie są jedyne opcje. Istnieje naprawdę prosty sposób, aby uzyskać dostęp do swojego serwera domowego i jego usług poza siecią wewnętrzną.
Czym jest Tailscale i jak działa
Zapewnia bezpieczną, prywatną sieć
W ostatnich dniach założyłem nazwę domeny i używam odwróconego serwera proxy Caddy, aby uzyskać dostęp do moich usług na różnych subdomenach za pomocą HTTPS. Na przykład, mam samodzielnie hostowany serwer Vaultwarden, który jest dostępny pod adresem URL wyglądającym mniej więcej tak: https://vault.domainname.com. Mogę uzyskać do niego dostęp w każdej sieci, gdziekolwiek na świecie, tak jak do normalnej strony internetowej. Wymaga to jednak trochę konfiguracji i majsterkowania.
Tailscale pozwala zrobić coś podobnego bez skomplikowanej konfiguracji. Możesz zarejestrować się w Tailscale, a następnie uruchomić go na swoim serwerze i urządzeniach klienckich (telefonie, laptopie i innych urządzeniach), a on stworzy dla ciebie bezpieczną, prywatną sieć.
Sieć nazywa się "tailnet." Wszystkie urządzenia podłączone do prywatnego tailnetu mogą się ze sobą komunikować. Tailscale automatycznie przypisuje każdemu urządzeniu w twoim tailnecie adres IP, do którego dostęp mają tylko autoryzowane urządzenia podłączone do tej samej sieci. Te urządzenia mogą być podłączone do Wi-Fi, LAN lub danych w dowolnym miejscu na świecie i nadal uzyskiwać dostęp do adresów IP w tailnecie. Nie trzeba bawić się portami.
Najlepsze jest to, że nie musisz nawet pamiętać tych adresów IP, ponieważ Tailscale zapewnia ci „magic DNS”. W zasadzie, zamiast wpisywać adres IP taki jak http://100.x.x.x, możesz wpisać łatwą do zapamiętania nazwę, na przykład https://dietpi.lemon-cow.ts.net. Zwróć uwagę, że w przykładzie magic DNS używa protokołu HTTPS, którego wymagają niektóre usługi hostowane lokalnie (takie jak menedżery haseł). Zazwyczaj konfiguracja jest uciążliwa, ale w przypadku Tailscale wystarczy kliknąć jeden przycisk.
Tailscale było pierwszym rozwiązaniem, którego używałem, i przez długi czas działało jak magia. Jedynym powodem, dla którego zrezygnowałem, było to, że uważałem za niewygodne trzymanie i przełączanie aplikacji Tailscale na moim telefonie.
Konfigurowanie Tailscale
Wystarczą tylko dwa polecenia, aby go uruchomić
Na początek będziesz chciał zainstalować Tailscale na swoim serwerze. Istnieje oficjalny skrypt, który automatyzuje ten proces dla Ciebie. Uruchommy go.
curl -fsSL https://tailscale.com/install.sh | shZawsze warto sprawdzić skrypty z internetu przed ich uruchomieniem.
Następnie uruchom usługę Tailscale.
sudo tailscale upSkrypt instaluje i uruchamia Tailscale jako usługę systemd domyślnie. Jeśli Twój serwer używa innego systemu inicjalizacji, będziesz musiał ręcznie skonfigurować dla niego usługę działającą w tle.
Zobaczysz link wydrukowany na konsoli. Kliknij ten link, aby zarejestrować się lub zalogować do konsoli Tailscale. Dzięki temu Twój serwer powinien być autoryzowany i połączony.
Następnym krokiem jest instalacja Tailscale na twoich urządzeniach. W przypadku komputerów z systemem Linux możesz użyć tych samych poleceń, aby uruchomić usługę Tailscale. Na Windows lub macOS możesz pobrać odpowiednie instalatory ze strony internetowej Tailscale. W przypadku urządzeń mobilnych możesz pobrać aplikację Tailscale z App Store lub Play Store.
Będziesz chciał zalogować się na to samo konto Tailscale, którego używałeś na serwerze, i autoryzować swoje urządzenia. Sprawdź wszystkie urządzenia obecnie w swojej sieci Tailscale za pomocą tego polecenia.
tailscale statusJak wspomniałem, łatwym sposobem dostępu do Twojego serwera i jego usług jest funkcja MagicDNS. Otwórz zakładkę DNS w konsoli Tailscale i przewiń w dół, aby znaleźć przyciski MagicDNS i Certyfikaty HTTPS. Upewnij się, że oba są włączone.
Możesz również włączyć certyfikaty HTTPS dla swojej sieci tailnet, uruchamiając to polecenie na swoim serwerze. Zastąp adres tailnet własnym.
sudo tailscale cert dietpi.lemon-cow.ts.netGdy wszystkie twoje serwery i urządzenia znajdą się w tej samej sieci tailnet, możesz uzyskiwać dostęp do uruchomionych usług z dowolnego z tych urządzeń, o ile na tym urządzeniu działa Tailscale. Pozwól, że pokażę ci, jak to zrobić dalej.
Uzyskiwanie dostępu do własnych usług hostowanych lokalnie za pomocą Tailscale
Po prostu zamień adres IP serwera na adres Tailscale
Powiedzmy, że masz kontener Dockera, do którego chcesz uzyskać dostęp spoza swojej sieci domowej.
Otwórz ponownie konsolę Tailscale i przejdź do zakładki DNS. Zwróć uwagę na swoją unikalną nazwę tailnetu. Może wyglądać mniej więcej tak: lemon-cow.ts.net. Następnie przejdź do zakładki Machines i znajdź nazwę serwera. Potrzebujesz obu, aby uzyskać dostęp do swojego serwera w tailnet. Na przykład mój nazywa się dietpi. Pełny adres wskazujący na serwer będzie wyglądał tak.
http://dietpi.lemon-cow.ts.netPowiedzmy, że masz aktywny kontener Docker na porcie 3001. W sieci domowej zazwyczaj wpisujesz adres IP serwera, a następnie :3001. Może to wyglądać mniej więcej tak.
http://192.x.x.x:3001Teraz, gdy skonfigurowałeś Tailscale z unikalnym MagicDNS, możesz po prostu zastąpić adres IP serwera adresem Tailscale, zachować docelowy port, a będzie działać tak, jakbyś był w lokalnej sieci.
http://dietpi.lemon-cow.ts.net:3001Będzie działać dokładnie w ten sam sposób dla wszystkich zmapowanych portów.
Tailscale to system typu ustaw i zapomnij
Tailscale ułatwia dostęp do twojego domowego laboratorium i usług hostowanych samodzielnie, gdy jesteś poza domem. To w zasadzie system typu ustaw i zapomnij, który po prostu działa (przeważnie). Nawet konfiguracja jest na tyle prosta.







