logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Dostęp do sieci z urządzeniami IoT (OpenBeken/Tasmota/itd) i Home Assistant z zewnątrz - TailScale

p.kaczmarek2 07 Gru 2025 09:56 1485 4

TL;DR

  • Tailscale umożliwia zdalny dostęp do lokalnej sieci LAN z urządzeniami IoT, takimi jak ESP8266, ESP32 i BK7231, bez publicznego IP i przekierowania portów.
  • Na dwóch komputerach instaluje się Tailscale, a komputer-pośrednik działa jako Subnet Router, który udostępnia całą podsieć LAN innym urządzeniom w sieci Tailscale.
  • Przykładowa komenda to tailscale up --reset --advertise-routes=192.168.1.0/24, a test obejmuje sieci 192.168.0.1/24 i 192.168.1.1/24.
  • Po włączeniu routingu można łączyć się z urządzeniami docelowymi po zwykłym IP, np. 192.168.1.123, przez przeglądarkę, TCP i HTTP.
  • Instalacja wymaga uprawnień administratora i restartu systemu, a opcja subnet-router jest domyślnie wyłączona.
Wygenerowane przez model językowy.
REKLAMA
📢 Słuchaj (AI):
  • Ekrany Tailscale na smartfonie i komputerze z listą urządzeń i opcjami węzła wyjściowego
    Dziś przedstawię ciekawe darmowe rozwiązanie pozwalające połączyć się z zewnątrz z naszą lokalną siecią - przykładowo urządzeń IoT. Nie będzie tutaj potrzebne publiczne IP - wszystko zadziała nawet, gdy jesteśmy za NAT i nie mamy przekierowanych portów. Co więcej, do skonfigurowania będą tylko dwa urządzenia, a mianowicie nasz aktywny komputer, oraz komputer-pośrednik stanowiący wyjście na docelową sieć LAN. W ten sposób dostaniemy dostęp do wszystkich urządzeń w tej sieci - w tym do sprzętów IoT opartych o ESP8266, ESP32 czy tam BK7231.

    Przygodę zaczynamy od pobrania Tailscale na obie maszyny, potrzebne są prawa administratora. Ważny też jest restart systemu - już na to się raz nabrałem, bo z pozoru dostęp do HTTP działał, ale z innymi usługami był problem.
    https://tailscale.com/
    Do Tailscale najlepiej zalogować się poprzez konto Google. Po instalacji usługa będzie schowana jako ikonka na pasku narzędzi:
    Menu aplikacji Tailscale pokazujące połączenie urządzenia i adres IP 100.115.101.119
    Widzi też nowe IP naszego urządzenia. Analogicznie, instalacja powinna dodać nam wirtualną kartę sieciową Tailscale:
    Okno „Połączenia sieciowe” z widoczną kartą „Tailscale Tunnel” i innymi adapterami sieciowymi
    Pełen zakres naszej wirtualnej sieci najłatwiej jest sprawdzić na stronie Tailscale:
    Panel Tailscale z dwiema połączonymi maszynami i informacjami o systemie i adresach IP.
    To wystarczy do tego, by urządzenia się widziały:
    Wynik polecenia ping do adresu 100.77.121.56 z minimalnym opóźnieniem 12 ms
    Ale nie da nam to dostępu do całej sieci LAN docelowego komputera. Trzeba zrobić coś więcej - trzeba włączyć tzw. Subnet Router (subnet routing). Dzięki temu inne urządzenia z sieci Tailscale będą mogły widzieć całą sieć LAN za tym komputerem – czyli ESP8266, ESP32, router, kamerki, drukarki itd.
    Zrzut ekranu ustawień aplikacji Tailscale z rozwiniętym menu opcji
    Można też użyć komendy: tailscale up --reset --advertise-routes=192.168.1.0/24
    Potem na komputerze-pośredniku wchodzimy w ustawienia routowania:
    Zrzut ekranu z panelu Tailscale z menu opcji maszyny
    Włączamy tam subnet-router:
    Okno ustawień routowania w Tailscale z zaznaczoną trasą 192.168.1.0/24
    Domyślnie ten checkbox jest wyłączony!
    Od teraz możemy dostać się do urządzeń z sieci docelowej poprzez ich normalne IP.
    Podsumowując, w tej konfiguracji mam:
    - moją sieć LAN 192.168.0.1/24
    - docelową sieć LAN 192.168.1.1/24
    i będąc na mojej maszynie w mojej sieci LAN, mogę dostać się po normalnym IP do urządzenia z docelowej sieci LAN, np. IP 192.168.1.123 działa, zarówno w przeglądarce, jak i w programach. Mogę normalnie wykonywać połączenia TCP czy HTTP i komunikacja działa w obie strony.
    W razie wątpliwości można to przetestować chociażby w PuTTY:
    Okno konfiguracji PuTTY z wpisanym adresem IP 192.168.1.123 i portem 1234.
    Zrzut ekranu pokazuje finalny test dla trzech poziomów komunikacji - urządzenie w mojej sieci LAN, docelowy komputer, urządzenie w docelowej sieci LAN:
    Zrzut ekranu z okna Wiersza polecenia z wynikami pingowania trzech adresów IP
    To bardzo wygodne rozwiązanie - i na pewno bardziej dostępne niż publiczne IP i przekierowywanie portów.
    Czy korzystacie z tego typu tunelowania, a jeśli tak, to do czego? Które VPN polecacie? Zapraszam do dyskusji.
    PS: Warto jeszcze wspomnieć czym jest Exit Node. Exit Node to urządzenie które może działać jako wyjście całego ruchu internetowego dla innych urządzeń. O ile Subnet Router udostępnia tylko wybraną sieć lokalną za komputerem-pośrednikiem, o tyle Exit Node przejmuje cały ruch - zarówno do LAN-u, jak i na zewnątrz, do Internetu.

    Fajne? Ranking DIY
    Pomogłem? Kup mi kawę.
    O autorze
    p.kaczmarek2
    Moderator Smart Home
    Offline 
    Inżynier programista z wieloletnim doświadczeniem embedded i full stack developer.
    Specjalizuje się w: embedded, Full-Stack Developer
    p.kaczmarek2 napisał 14627 postów o ocenie 12646, pomógł 655 razy. Jest z nami od 2014 roku.
  • REKLAMA
  • #2 21773802
    Nargo
    Poziom 23  
    Posty: 495
    Pomógł: 45
    Ocena: 206
    Wygląda ciekawie. Z tego co na szybko wyczytałem to można postawić na OpenWRT, więc zdalny dostęp 24/7.
    Będę musiał przetestować. Na dzień dzisiejszy korzystam z ZeroTier One do HA.
  • REKLAMA
  • #3 21773908
    Camis
    Poziom 10  
    Posty: 84
    Ocena: 11
    Ja bardziej polecę jednak NetBird bo jest w pełni open-source. I też sam serwer koordynujący jest w wersji oficjalnej, gdzie przy Tailscale mamy nieoficjalny serwer.
    Więc wszystko można sobie postawić u siebie na HomeLab.
  • REKLAMA
  • #4 21774531
    tesla97
    Poziom 20  
    Posty: 507
    Pomógł: 22
    Ocena: 156
    Według mnie i tak najlepszym rozwiązaniem jest IPv6. Dostęp jest zawsze. Brak NAT. Brak routowania wewnętrznego.
    Niestety ale nie wielu dostawców oferuje IPv6. Jeszcze gorzej, że po drugiej stronie też musi być IPv6.

    Jak już jest to duckdns i po problemie. Mi nawet udało się uruchomić https.
  • #5 21777449
    metalMANiu
    Poziom 21  
    Posty: 619
    Pomógł: 11
    Ocena: 241
    CZy przy pomocy tego TailScale mogę "zmusić" mój moduł ttgo t-call (płytka rozwojowa z kartą SIM), żeby z dowolnego miejsca w kraju wysyłał dane do influxDB postawionego u mnie w domu (IP zmienne, niepubliczne)?
📢 Słuchaj (AI):
REKLAMA