−25%

na Windows przy płatności rocznej, do 31.10. Do planów

EQVPS

VPS do zdalnego dostępu do Home Assistant

Dostęp do Home Assistant z każdego miejsca bez otwierania portów w domu: mały VPS obsługuje WireGuard i HTTPS, a dom łączy się z nim. Konfiguracja, koszt, ograniczenia.

Chcesz otworzyć panel Home Assistanta w pociągu. Router mówi „nie”: dostawca trzyma cię za CGNAT albo przekierowanie portów byłoby możliwe, ale wolisz nie wystawiać całej domowej sieci do internetu po to, żeby zapalić światło. Mały VPS rozwiązuje oba problemy. Dom łączy się z nim na zewnątrz przez WireGuard, a VPS jest jedyną publiczną twarzą: z prawdziwą domeną, prawdziwym certyfikatem i niczym w domu nasłuchującym świata.

Jak działa ta konfiguracja

phone ──HTTPS──> VPS (Caddy :443) ──WireGuard──> Home Assistant :8123 at home
                       ▲
              home box dials out on UDP 51820

Na VPS-ie działają dwie rzeczy: serwer WireGuard i Caddy jako reverse proxy. W domu klient WireGuard (na hoście Home Assistanta, na Raspberry Pi albo na routerze) utrzymuje otwarty tunel. Gdy wchodzisz na https://ha.example.com, Caddy przekazuje żądanie przez tunel do 10.8.0.2:8123.

Czego potrzebujesz

1. Serwer WireGuard na VPS-ie

apt update && apt install -y wireguard caddy
wg genkey | tee /etc/wireguard/server.key | wg pubkey > /etc/wireguard/server.pub
chmod 600 /etc/wireguard/server.key

cat > /etc/wireguard/wg0.conf <<EOF
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = $(cat /etc/wireguard/server.key)

[Peer]
# the home side
PublicKey = HOME_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32
EOF

systemctl enable --now wg-quick@wg0
ufw allow 51820/udp && ufw allow 80,443/tcp

2. Strona domowa

Na dowolnej maszynie z Linuksem w domu (albo w dodatku klienta WireGuard dla Home Assistanta) utwórz peera. Keepalive jest ważny: utrzymuje tunel otwarty przez NAT domowego routera.

[Interface]
Address = 10.8.0.2/24
PrivateKey = HOME_PRIVATE_KEY

[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = ha-vps.example.com:51820
AllowedIPs = 10.8.0.1/32
PersistentKeepalive = 25

Jeśli klient WireGuard działa na innej maszynie niż Home Assistant, przekieruj 10.8.0.2:8123 do hosta HA w sieci lokalnej; albo, prościej, uruchom klienta bezpośrednio na hoście HA.

3. HTTPS z Caddy

cat > /etc/caddy/Caddyfile <<'EOF'
ha.example.com {
    reverse_proxy 10.8.0.2:8123
}
EOF
systemctl reload caddy

Caddy sam pobiera certyfikat i obsługuje połączenie WebSocket, z którego korzysta aplikacja Home Assistant.

4. Powiedz Home Assistantowi, żeby ufał proxy

Bez tego HA odrzuca żądania przechodzące przez proxy. W configuration.yaml:

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 10.8.0.1

Zrestartuj Home Assistanta, otwórz https://ha.example.com i ustaw ten adres URL jako adres zewnętrzny w aplikacji mobilnej.

Szczerze o kompromisach

HTTPS kończy się na VPS-ie, więc ten serwer widzi ruch z panelu w postaci jawnej, zanim trafi on do tunelu. Serwer jest twój i o to właśnie chodzi, ale traktuj go jak część domowej sieci: tylko klucze SSH, włączone aktualizacje, nic innego na nim nie działa. Zostaw włączone hasło Home Assistanta i logowanie dwuskładnikowe; proxy nie jest warstwą uwierzytelniania.

Płatna oficjalna usługa chmurowa zespołu Home Assistant robi to samo bez żadnej obsługi i finansuje projekt. Jeśli wolisz w ogóle nie utrzymywać serwera, to zupełnie dobra odpowiedź. Droga przez VPS wygrywa, gdy już hostujesz coś sam, chcesz własnej domeny albo chcesz w przyszłości schować za tym samym tunelem inne domowe usługi.

Powiązane poradniki

Gotowy na wdrożenie? Płać kryptowalutą, bez KYC — online w około minutę.

Wdróż teraz →

FAQ

Po co VPS, skoro można przekierować port na routerze?

Wiele domowych łączy działa za CGNAT (carrier-grade NAT), więc nie ma żadnego portu do przekierowania. A nawet jeśli jest, wystawianie domowego IP i routera do internetu to niepotrzebne ryzyko. Z VPS-em to dom nawiązuje wychodzące połączenie WireGuard, a jedyne, co widać z internetu, to mały serwer, który odbudujesz w kilka minut.

Jakiego planu potrzebuję?

Nano-IP ($8/mies.) w zupełności wystarczy: tylko przekazuje ruch i terminuje HTTPS. Potrzebujesz planu z dedykowanym IP, bo VPS musi przyjmować przychodzące HTTPS i port UDP WireGuarda; plany NAT nie przyjmują połączeń przychodzących poza twoim portem SSH.

Czy VPS widzi ruch Home Assistanta?

HTTPS kończy się na VPS-ie, więc serwer, który kontrolujesz, widzi odszyfrowane żądania, zanim wyśle je tunelem. To ten sam model zaufania co w każdym reverse proxy; różnica polega na tym, że maszyna jest twoja. Niezależnie od tego zostaw włączone logowanie Home Assistanta i uwierzytelnianie dwuskładnikowe.

Czy to dodaje opóźnienia?

Jeden dodatkowy przeskok. Z domu w Europie do VPS-a w Niemczech lub Finlandii to zwykle 10–40 ms w obie strony: niezauważalne dla paneli, przełączników i zdjęć z kamer. Odczuć to możesz tylko przy strumieniach wideo na żywo.

Co się stanie, jeśli VPS padnie?

Zdalny dostęp przestanie działać; automatyzacje w domu działają dalej, bo Home Assistant nigdy nie zależał od VPS-a. W domu wszystko działa jak wcześniej pod lokalnym adresem.

Komentarze

Brak komentarzy. Bądź pierwszy.

Zostaw komentarz

Komentarze są moderowane przed pojawieniem się.