−25%

Windows-ის წლიურ გადახდაზე, 31 ოქტომბრამდე. ტარიფებზე

EQVPS

VPS Home Assistant-ზე დისტანციური წვდომისთვის

მიწვდით Home Assistant-ს ნებისმიერი ადგილიდან სახლში პორტების გახსნის გარეშე: პატარა VPS უშვებს WireGuard-სა და HTTPS-ს, სახლი კი მას გარედან უკავშირდება. დაყენება, ფასი, შეზღუდვები.

გინდათ Home Assistant-ის დაფის გახსნა მატარებელში. როუტერი უარს ამბობს: პროვაიდერმა CGNAT-ის უკან მოგაქციათ, ან პორტის გადამისამართება ტექნიკურად შესაძლებელია, მაგრამ ნათურის ასანთებად მთელი სახლის ქსელის ინტერნეტზე ჩამოკიდება არ გინდათ. პატარა VPS ორივე პრობლემას ხსნის. თქვენი სახლი WireGuard-ით გარედან უკავშირდება მას, VPS კი ერთადერთი საჯარო სახეა: ნამდვილი დომენით, ნამდვილი სერტიფიკატით და სახლში არაფერი უსმენს სამყაროს.

როგორ მუშაობს ეს სქემა

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

VPS ორ რამეს უშვებს: WireGuard სერვერს და Caddy-ს reverse proxy-ად. სახლში WireGuard-ის კლიენტი (Home Assistant-ის ჰოსტზე, Raspberry Pi-ზე ან როუტერზე) გვირაბს ღიად ინახავს. როცა https://ha.example.com-ს ხსნით, Caddy მოთხოვნას გვირაბით 10.8.0.2:8123-ზე გადასცემს.

რა გჭირდებათ

1. 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 მანქანაზე (ან Home Assistant-ის WireGuard კლიენტის დამატებაში) შექმენით peer. keepalive მნიშვნელოვანია: ის გვირაბს სახლის როუტერის NAT-ში ღიად ინახავს.

[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

თუ WireGuard-ის კლიენტი Home Assistant-ისგან განსხვავებულ მანქანაზე მუშაობს, გადაამისამართეთ 10.8.0.2:8123 ლოკალურ ქსელში HA-ის ჰოსტზე, ან უფრო მარტივად: გაუშვით კლიენტი თავად 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-ზე სრულდება, ასე რომ ეს სერვერი დაფის ტრაფიკს დაუშიფრავად ხედავს, სანამ ის გვირაბში შევა. სერვერი თქვენია და სწორედ ესაა მთავარი, მაგრამ მოეპყარით მას, როგორც სახლის ქსელის ნაწილს: მხოლოდ SSH გასაღებები, განახლებები ჩართულია და მასზე სხვა არაფერი მუშაობს. დატოვეთ ჩართული Home Assistant-ის საკუთარი პაროლი და ორფაქტორიანი შესვლა; proxy ავთენტიფიკაციის ფენა არ არის.

Home Assistant-ის გუნდის ოფიციალური ფასიანი ღრუბლოვანი სერვისი იმავე საქმეს ყოველგვარი მოვლის გარეშე აკეთებს და პროექტსაც აფინანსებს. თუ სერვერის მართვა საერთოდ არ გინდათ, ეს სრულიად კარგი პასუხია. VPS-ის გზა მაშინ იგებს, როცა უკვე თვითჰოსტინგს აკეთებთ, საკუთარი დომენი გინდათ ან მოგვიანებით სახლის სხვა სერვისების იმავე გვირაბის უკან განთავსებას აპირებთ.

დაკავშირებული გზამკვლევები

მზად ხართ განთავსებისთვის? გადაიხადეთ კრიპტოთი, KYC-ის გარეშე — ჩართული დაახლოებით წუთში.

განათავსეთ ახლა →

ხდკ

რატომ VPS და არა პორტის გადამისამართება როუტერზე?

ბევრი სახლის კავშირი პროვაიდერის დონის NAT-ის (CGNAT) უკანაა, ამიტომ გადასამისამართებელი პორტი უბრალოდ არ არსებობს. და როცა არსებობს, სახლის IP-ისა და როუტერის ინტერნეტისთვის გამოჩენა ზედმეტი რისკია. VPS-ით სახლი ამყარებს გამავალ WireGuard კავშირს, ინტერნეტისკენ კი მხოლოდ პატარა სერვერია მიმართული, რომლის ხელახლა აწყობაც წუთებში შეიძლება.

რომელი ტარიფი მჭირდება?

Nano-IP ($8/თვე) სრულიად საკმარისია: ის მხოლოდ ტრაფიკს გადასცემს და HTTPS-ს ასრულებს. გჭირდებათ ტარიფი გამოყოფილი IP-ით, რადგან VPS-მა უნდა მიიღოს შემომავალი HTTPS და WireGuard-ის UDP პორტი; NAT ტარიფები თქვენი SSH პორტის გარდა შემომავალ კავშირებს არ იღებენ.

ხედავს VPS ჩემს Home Assistant ტრაფიკს?

HTTPS VPS-ზე სრულდება, ასე რომ თქვენს კონტროლქვეშ მყოფი სერვერი მოთხოვნებს გაშიფრულად ხედავს, სანამ გვირაბში გაგზავნის. ეს ნებისმიერი reverse proxy-ის ნდობის იგივე მოდელია; განსხვავება ისაა, რომ სერვერი თქვენია. ნებისმიერ შემთხვევაში დატოვეთ ჩართული Home Assistant-ის საკუთარი შესვლა და ორფაქტორიანი ავთენტიფიკაცია.

დაამატებს ეს დაყოვნებას?

ერთ დამატებით ჰოპს. ევროპაში მდებარე სახლიდან გერმანიის ან ფინეთის VPS-მდე ეს ჩვეულებრივ 10–40 ms-ია ორმხრივად, რაც დაფებში, გადამრთველებსა და კამერის კადრებში არ იგრძნობა. მხოლოდ პირდაპირ ვიდეონაკადში შეიძლება შეამჩნიოთ.

რა ხდება, თუ VPS გაითიშება?

დისტანციური წვდომა ჩერდება; სახლის ავტომატიზაციები კი აგრძელებენ მუშაობას, რადგან თავად Home Assistant არასდროს იყო VPS-ზე დამოკიდებული. სახლის შიგნით ყველაფერი ლოკალურ მისამართზე ისე მუშაობს, როგორც ადრე.

კომენტარები

ჯერ არ არის კომენტარები. იყავით პირველი.

დატოვეთ კომენტარი

კომენტარები მოდერირდება გამოჩენამდე.