−25%

στα Windows με ετήσια χρέωση, έως 31/10. Δείτε τα πακέτα

EQVPS

VPS για απομακρυσμένη πρόσβαση στο Home Assistant

Φτάστε στο Home Assistant από παντού χωρίς να ανοίξετε θύρες στο σπίτι: ένα μικρό VPS τρέχει WireGuard και HTTPS και το σπίτι σας συνδέεται προς αυτό. Ρύθμιση, κόστος, όρια.

Θέλετε να ανοίξετε το dashboard του Home Assistant από το τρένο. Το router λέει όχι: ο πάροχος σας έχει βάλει πίσω από CGNAT, ή η προώθηση θυρών είναι τεχνικά δυνατή αλλά δεν θέλετε να κρεμάσετε ολόκληρο το οικιακό δίκτυο στο διαδίκτυο για να ανάψετε ένα φως. Ένα μικρό VPS λύνει και τα δύο. Το σπίτι σας συνδέεται προς τα έξω σε αυτό μέσω WireGuard και το VPS είναι το μόνο δημόσιο πρόσωπο: με πραγματικό domain, πραγματικό πιστοποιητικό και τίποτα στο σπίτι να ακούει τον κόσμο.

Πώς λειτουργεί η ρύθμιση

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

Το VPS τρέχει δύο πράγματα: έναν server WireGuard και το Caddy ως reverse proxy. Στο σπίτι, ένας client WireGuard (στον host του Home Assistant, σε ένα Raspberry Pi ή στο router) κρατά ανοιχτό ένα τούνελ. Όταν ανοίγετε το https://ha.example.com, το Caddy περνά το αίτημα μέσα από το τούνελ στο 10.8.0.2:8123.

Τι χρειάζεστε

1. Server WireGuard στο VPS

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. Η πλευρά του σπιτιού

Σε οποιοδήποτε μηχάνημα Linux στο σπίτι (ή στο πρόσθετο client WireGuard του Home Assistant) δημιουργήστε τον peer. Το keepalive έχει σημασία: κρατά το τούνελ ανοιχτό μέσα από το NAT του οικιακού router.

[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

Αν ο client WireGuard τρέχει σε άλλο μηχάνημα από το Home Assistant, προωθήστε το 10.8.0.2:8123 στον host του HA στο τοπικό δίκτυο, ή πιο απλά: τρέξτε τον client στον ίδιο τον host του HA.

3. HTTPS με Caddy

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

Το Caddy παίρνει αυτόματα το πιστοποιητικό και χειρίζεται τη σύνδεση WebSocket στην οποία βασίζεται η εφαρμογή του Home Assistant.

4. Πείτε στο Home Assistant να εμπιστεύεται το proxy

Χωρίς αυτό, το HA απορρίπτει αιτήματα που περνούν από proxy. Στο configuration.yaml:

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 10.8.0.1

Επανεκκινήστε το Home Assistant, ανοίξτε το https://ha.example.com και ορίστε αυτό το URL ως εξωτερική διεύθυνση στην εφαρμογή του κινητού.

Οι συμβιβασμοί, ειλικρινά

Το HTTPS τελειώνει στο VPS, οπότε αυτός ο server βλέπει την κίνηση του dashboard χωρίς κρυπτογράφηση πριν μπει στο τούνελ. Είναι δικός σας server, και αυτό είναι όλο το νόημα, αλλά αντιμετωπίστε τον ως μέρος του οικιακού σας δικτύου: μόνο κλειδιά SSH, ενημερώσεις ενεργές, τίποτε άλλο να τρέχει πάνω του. Κρατήστε ενεργό τον κωδικό και τη σύνδεση δύο παραγόντων του Home Assistant· το proxy δεν είναι επίπεδο ελέγχου ταυτότητας.

Η επίσημη συνδρομητική υπηρεσία cloud της ομάδας του Home Assistant κάνει την ίδια δουλειά χωρίς καμία συντήρηση και χρηματοδοτεί το έργο. Αν προτιμάτε να μη διαχειρίζεστε καθόλου server, είναι απολύτως καλή απάντηση. Ο δρόμος του VPS κερδίζει όταν ήδη κάνετε self-hosting, θέλετε δικό σας domain ή σκοπεύετε αργότερα να βάλετε κι άλλες οικιακές υπηρεσίες πίσω από το ίδιο τούνελ.

Σχετικοί οδηγοί

Έτοιμοι για ανάπτυξη; Πληρωμή με crypto, χωρίς KYC — έτοιμο σε περίπου ένα λεπτό.

Ανάπτυξη τώρα →

Συχνές ερωτήσεις

Γιατί VPS αντί για προώθηση θύρας στο router;

Πολλές οικιακές συνδέσεις βρίσκονται πίσω από NAT σε επίπεδο παρόχου (CGNAT), οπότε δεν υπάρχει καν θύρα για προώθηση. Ακόμα κι όταν υπάρχει, η έκθεση της οικιακής IP και του router στο διαδίκτυο είναι ρίσκο που δεν χρειάζεστε. Με ένα VPS το σπίτι ανοίγει μια εξερχόμενη σύνδεση WireGuard και το μόνο που βλέπει το διαδίκτυο είναι ένας μικρός server που ξαναστήνεται σε λίγα λεπτά.

Ποιο πακέτο χρειάζομαι;

Το Nano-IP ($8/μήνα) είναι υπεραρκετό: απλώς προωθεί κίνηση και τερματίζει το HTTPS. Χρειάζεστε πακέτο με αποκλειστικό IP, επειδή το VPS πρέπει να δέχεται εισερχόμενο HTTPS και μια θύρα UDP για το WireGuard· τα πακέτα NAT δεν δέχονται εισερχόμενες συνδέσεις εκτός από τη θύρα SSH σας.

Βλέπει το VPS την κίνηση του Home Assistant μου;

Το HTTPS τερματίζεται στο VPS, οπότε ο server που ελέγχετε βλέπει τα αιτήματα αποκρυπτογραφημένα πριν τα στείλει στο τούνελ. Είναι το ίδιο μοντέλο εμπιστοσύνης με κάθε reverse proxy· η διαφορά είναι ότι το μηχάνημα είναι δικό σας. Σε κάθε περίπτωση κρατήστε ενεργή τη σύνδεση και τον έλεγχο ταυτότητας δύο παραγόντων του ίδιου του Home Assistant.

Θα προσθέσει καθυστέρηση;

Ένα επιπλέον hop. Από ένα σπίτι στην Ευρώπη προς ένα VPS στη Γερμανία ή τη Φινλανδία είναι συνήθως 10–40 ms μετ' επιστροφής, ανεπαίσθητο σε dashboards, διακόπτες και στιγμιότυπα κάμερας. Μόνο στη ζωντανή ροή βίντεο ίσως το καταλάβετε.

Τι γίνεται αν πέσει το VPS;

Η απομακρυσμένη πρόσβαση σταματά· οι αυτοματισμοί του σπιτιού συνεχίζουν να δουλεύουν, γιατί το ίδιο το Home Assistant δεν εξαρτήθηκε ποτέ από το VPS. Μέσα στο σπίτι όλα λειτουργούν όπως πριν στην τοπική διεύθυνση.

Σχόλια

Δεν υπάρχουν ακόμη σχόλια. Γίνετε ο πρώτος.

Αφήστε ένα σχόλιο

Τα σχόλια ελέγχονται πριν εμφανιστούν.