Pod warunkiem odpowiedniego zabezpieczenia, ten sposób zdalnego dostępu do HomeAssistanta nie będzie mniej bezpieczny od dostępu przez VPN, a nie ma konieczności zestawiania tunelu za każdym razem, gdy chcemy połączyć się z domowym centrum sterowania wszechświatem - więc jest jest o wiele bardziej wygodny.
Oprócz poniższych kroków, zalecam włączenie dwustopniowej autentykacji (2FA).
Wymagania:
- publiczny adres IP - niestety czasem trzeba wykupić taką opcję, ponieważ częśc ISP używa NATowania.
- domena - od dowolnego dostawcy, ja korzystam z OVHcloud.
- reverse-proxy
- konto Cloudflare - do zdalnego dostępu wystarczy darmowy plan
Dostęp zdalny do HomeAssistant - od czego zacząć?
Krok 1
- Jeśli już mamy publiczny adres IP i domenę, przechodzimy do dashboardu Cloudflare. Klikamy na przycisk "Add site"
- Wpisujemy nazwę naszej domeny - dla przykładu, sliwinsk.it.
- Wybieramy plan - na potrzeby dostępu zdalnego do HA wystarczy darmowy "Free". Klikamy continue.
- Po przejściu dalej, Cloudflare automatycznie przeskanuje obecne rekordy DNS.
- Jeśli będziemy chcieli skonfigurować Cloudflare zaraz po wykupieniu domeny, istnieje spore prawdopodbieństwo, że nie wykryte zostaną żadne rekordy DNS - wtedy należy dodać rekord A i nasz publiczny adres IP lub rekord CNAME i nazwę domenową DDNS (w przypadku braku statycznego IP).
- Po przejściu dalej, otrzymamy informacje potrzebne do przepięcia dotychczasowych serwerów DNS na serwery Cloudflare - jak poprzednio, może się okazać, że pole "Remove these nameservers:" jest puste. Należy zmienić serwery DNS w panelu rejestratora domeny na te podane w punkcie drugim.
- Następnie, można skonfigurować dodatkowe ustawienia - u mnie są skonfigurowane tak, jak widać na zrzucie ekranu.
- Po zaakceptowaniu, zostaniemy przeniesieni do dashboardu Cloudflare. Gdy zmiany serwerów DNS zostaną wykonane, otrzymamy maila.
Krok 2 - przekierowanie na routerze
Na każdym routerze wygląda to inaczej, więc opiszę, co trzeba zrobić - przekierować porty 80 i 443 na adres Synology.
Krok 3 - reverse proxy
Korzystam z proxy zaimplementowanego w systemie DSM mojego NASa, dlatego takie tu opiszę. Ta część będzie możliwa do wykonania dopiero, gdy nasza domena będzie wskazywać na nasz adres IP.
- Logujemy się do interfejsu WWW Synology i przechodzimy do panelu sterowania, i następnie, do zakładki "Portal aplikacji".
- Będąc w portalu aplikacji, klikamy na "Odwrócony serwer proxy" i klikamy "Utwórz".
-
Wypełniamy odpowiednio pola.
Źródło Protokół: HTTPS Nazwa hosta: https://naszadomena.pl Port: 443 [V] Włącz HSTS [V] Włącz HTTP/2 Miejsce docelowe Protokół: HTTP Nazwa hosta: adres IP HomeAssistanta Port: 8123 (o ile nie zmieniliśmy domyślnego)
-
Następnie przechodzimy do zakładki "Niestandardowy nagłówek", którą uzupełniamy:
Upgrade $http_upgrade Connection $connection_upgrade
- Kolejnym krokiem jest wygenerowanie certyfikatu SSL - w tym celu należy wybrać podmenu "Bezpieczeństwo" i zakładkę "Certyfikat".
- Klikamy dodaj - otworzy się okno, w którym klikamy "Następne", po czym wybieramy "Uzyskaj certyfikat od Let's Encrypt" i wypełniamy odpowiednio nazwą naszej domeny oraz e-mailem przypisanym do konta Let's Encrypt i klikamy "zastosuj".
- Na liście pojawi się nowy certyfikat. Teraz klikamy "Konfiguruj".
- Otworzy się okienko z listą usług, które korzystają z certyfikatów - przy naszej domenie należy wybrać z listy certyfikat, którego chcemy użyć.