آپ ٹرین میں اپنا 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۔ گھر میں ایک WireGuard کلائنٹ (Home Assistant ہوسٹ، Raspberry Pi یا روٹر پر) سرنگ کھلی رکھتا ہے۔ جب آپ https://ha.example.com کھولتے ہیں تو Caddy درخواست کو سرنگ کے ذریعے 10.8.0.2:8123 تک پہنچاتا ہے۔
آپ کو کیا چاہیے
- dedicated IP والا پلان۔ VPS کو آنے والا 443 اور UDP 51820 قبول کرنا ہوتا ہے۔ Nano-IP $8/ماہ پر کافی سے زیادہ ہے: یہ ڈیش بورڈ کا چند کلوبائٹ ٹریفک بغیر کسی مشقت کے منتقل کرتا ہے۔ NAT پلانز آپ کے ذاتی SSH پورٹ کے علاوہ آنے والے کنکشنز قبول نہیں کرتے (یہاں NAT کیسے کام کرتا ہے)۔
- ایک ڈومین جس کا A ریکارڈ VPS کے IP کی طرف اشارہ کرے۔
- گھر میں ایک WireGuard کلائنٹ جو مقامی نیٹ ورک پر Home Assistant تک پہنچ سکے۔
1. VPS پر WireGuard سرور
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. Caddy کے ساتھ HTTPS
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 کو پراکسی پر بھروسا کرنے کا کہیں
اس کے بغیر HA پراکسی سے آنے والی درخواستیں رد کر دیتا ہے۔ 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 کا اپنا پاس ورڈ اور دو مرحلہ لاگ اِن آن رکھیں؛ پراکسی تصدیق کی تہہ نہیں ہے۔
Home Assistant ٹیم کی سرکاری ادا شدہ کلاؤڈ سروس یہی کام بغیر کسی دیکھ بھال کے کرتی ہے اور پروجیکٹ کو فنڈ بھی کرتی ہے۔ اگر آپ سرور چلانا ہی نہیں چاہتے تو یہ بالکل درست جواب ہے۔ VPS کا راستہ تب جیتتا ہے جب آپ پہلے سے self-hosting کر رہے ہوں، اپنا ڈومین چاہتے ہوں، یا بعد میں گھر کی دوسری سروسز بھی اسی سرنگ کے پیچھے رکھنا چاہتے ہوں۔
متعلقہ گائیڈز
- VPS پر WireGuard VPN سیٹ اپ کریں: WireGuard کی مکمل رہنمائی
- HTTPS کے ساتھ Nginx ریورس پراکسی: اگر آپ Caddy کے بجائے Nginx پسند کرتے ہیں
- نئے VPS کو محفوظ بنانا: انٹرنیٹ کے سامنے کسی بھی مشین پر پہلے یہ کریں
تبصرے
ابھی کوئی تبصرہ نہیں۔ پہلے بنیں۔