poniedziałek, 21 września 2020

Home Assistant i ZeroTier - Zdalny dostęp bez zewnętrznego IP, bez Nabu Casa

Dzień dobry. Jak zapewne prawie każdy - mam w domu internet :) Cały problem w tym, że nie mam zewnętrznego adresu IP, nie chcę za niego dodatkowo płacić, a przydałoby się mieć dostęp do swojej infrastruktury będąc na wczasach, wyjeździe, w pracy.

Za czasów Domoticz postawiłem na dostęp przez Dataplicity i byłem z tego bardzo zadowolony: http://cezarowy.blogspot.com/2017/03/dataplicity-zdalny-dostep-do-raspberry.html. Jednak Dataplicity potrafi wyłącznie wyeksponować port 80, a na nim akurat teraz mam HABridge, który służy do obsługi Alexy.

Skoro można to było osiągnąć na Raspberry Pi i Domoticz, to czemu nie zrobić czegoś podobnego z Home Assistant?

W tym celu tym razem udałem się do ZeroTier - https://zerotier.com/. Tak, wiem, zewnętrzna firma, której pozwalam na przesyłanie mojego ruchu. Nie jest jednak mała, miliony podłączonych urządzeń - Wasza decyzja. Niektórzy się zdecydują, niektórzy wzdrygną z obrzydzeniem.


Procedura jest taka: 

- klient ZeroTier tworzy połączenie VPN (na przykład na naszym telefonie)

- po jego włączeniu klient pośredniczy (tworzy wirtualny kanał) w komunikacji z naszym Home Assistant

- na telefonie możemy korzystać ze strony www lub aplikacji HA na podanym przez ZeroTier adresie

Pierwsza i podstawowa sprawa - musicie założyć konto na ZeroTier. 

Tam wybrać plan, który Wam odpowiada - dla mnie jest wystarczający Basic, darmowy, dla jednego urządzenia. Poniżej dostępne jest generowanie Waszego prywatnego tokena, który będzie służył przy komunikacji z dodatkiem ZeroTier One po stronie Home Assistant. Zapisać, skopiować, za chwilę będzie użyty. Drugi raz nie będzie można go zobaczyć (ale oczywiście będzie można go skasować i założyć nowy).



Później przechodzimy do zakładki Networks. Założenie jest takie, że token określa kto się loguje, nazwa sieci - do jakiej sieci. As simple as that. Zapisać, zapamiętać.


Wszystko to dostępne pod adresem https://my.zerotier.com/network.


W środku strony mamy możliwość wyboru puli adresów, których można będzie użyć. To ważne, bo przecież różnie możecie mieć skonfigurowane Wasze sieci domowe. Ja wybrałem domyślną.


Poniżej bardzo ważny element - lista adresów klientów, którzy chcą się dostać do naszej sieci. I to my decydujemy o tym, czy mogą się zalogować do naszego kanału, czy nie. Robimy to check-boxem po lewej stronie. I to na na adres podany pod Managed IPs będziemy się logować czy to przez przeglądarkę, czy przez aplikację Home Assistant. Jednorazowo, później już autoryzacja będzie przeprowadzana automatycznie.



Skoro to gotowe - przechodzimy do Home Assistant i instalujemy z poziomu Supervisor -> Add-on store ZeroTier One.


W konfiguracji podajemy kod naszej sieci oraz kod naszego tokena.


Sprawdzamy konfigurację, zapisujemy, startujemy Add-on.

Teraz pora zająć się telefonem. U mnie jest to iPhone, także z AppStore ściągnąłem odpowiednią aplikację ZeroTier One.


W niej muszę podać moje Network ID, zapisać.


Później wystarczy włączyć dostęp VPN, poczekać na autoryzację...


I korzystać z dostępu! Czy to przez stronę, czy przez aplikację na iPhone.


Coraz lepiej to wszystko wygląda :D

1 komentarz:

  1. W obecnych czasach każdy ma w domu internet. I to na coraz lepszych warunkach, bez limitów danych, z dużą prędkością przesyłania danych. Nawet w najmniejszych miejscowościach dociera sieć, coraz częściej światłowodem.

    OdpowiedzUsuń