VPS पर AdGuard Home कैसे सेट अप करें
Ubuntu पर AdGuard Home इंस्टॉल करें, पहली-रन विज़ार्ड पूरा करें, वेब UI बंद करें, DNS-over-HTTPS और DNS-over-TLS चालू करें, डिवाइस अपने resolver की ओर इंगित करें, और ऐसा खुला DNS सर्वर न चलाएँ जिसका पूरा इंटरनेट दुरुपयोग कर सके।

AdGuard Home स्व-होस्टेड DNS sinkhole और वेब इंटरफ़ेस वाला रिकर्सिव-शैली resolver है। जो भी डिवाइस इसे DNS के रूप में इस्तेमाल करे — फ़ोन, लैपटॉप, स्मार्ट TV, और अन्य VPS प्रोजेक्ट — उनके लिए विज्ञापन, ट्रैकर और मैलवेयर डोमेन ब्लॉक कर सकता है। ब्राउज़र एक्सटेंशन के विपरीत यह उन ऐप के लिए भी काम करता है जो hosts फ़ाइलें अनदेखी करते हैं। सड़क पर वही फ़िल्टर चाहिए, या घर के नेटवर्क पर Raspberry Pi नहीं चाहिए, तब VPS पर चलाना उपयोगी है।
वह खतरनाक डिफ़ॉल्ट जो नहीं भेजना चाहिए खुला resolver है: अगर UDP/TCP 53 पूरे इंटरनेट से बिना पहुँच नियंत्रण के पहुँच योग्य हो, अजनबी आपके VPS का DNS प्रवर्धन के लिए इस्तेमाल करेंगे और दुरुपयोग शिकायतें आएंगी। यह गाइड Ubuntu पर AdGuard Home इंस्टॉल करती है, जानबूझकर एन्क्रिप्टेड DNS न खोलें तो DNS को localhost या निजी WireGuard इंटरफ़ेस से बाँधती है, डैशबोर्ड HTTPS पर रखती है, और दिखाती है कि लैपटॉप और फ़ोन क्लासिक पोर्ट 53 दुनिया के लिए खोले बिना DNS-over-HTTPS (DoH) या DNS-over-TLS (DoT) कैसे इस्तेमाल कर सकते हैं।
AdGuard Home किस काम का है
आम तुलना Pi-hole है। AdGuard Home अंतर्निहित वेब UI, वैकल्पिक एन्क्रिप्टेड DNS फ्रंटएंड, और प्रति-क्लाइंट सेटिंग वाला एक बाइनरी है। Docker में या systemd सेवा के रूप में चला सकते हैं। Hiddence VPS पर यह निजी VPN के साथ अच्छा जुड़ता है: डिवाइस WireGuard में आते हैं, टनल पर VPS को DNS भेजते हैं, और पोर्ट 53 कभी सार्वजनिक नहीं करते।
- हर डिवाइस पर ऐप इंस्टॉल किए बिना नेटवर्क-व्यापी ब्लॉकिंग
- DoH (443) और DoT (853) ताकि सार्वजनिक Wi-Fi पर DNS सादा पाठ न हो
- क्वेरी लॉग और आँकड़े ताकि देख सकें कौन सा डिवाइस किस डोमेन से बात करता है
- कस्टम अपस्ट्रीम (Quad9, Cloudflare, या अपना Unbound)
- छोटा पदचिह्न — 1 GB VPS एक घर प्लस कुछ अतिरिक्त क्लाइंट फ़िल्टर कर सकता है
आवश्यकताएँ
DoH/DoT और डैशबोर्ड के लिए विश्वसनीय प्रमाणपत्र चाहिए तो डोमेन चाहिए। पहले HTTP और सर्वर IP पर जाँच सकते हैं, लेकिन वैसा न छोड़ें। Ubuntu पर systemd-resolved पहले से पोर्ट 53 का मालिक हो तो AdGuard Home DNS बाँधने से पहले हम उसे खाली करेंगे।
- root/sudo वाला Ubuntu 22.04 या 24.04 VPS
- व्यक्तिगत उपयोग के लिए 1 GB RAM काफ़ी है
- VPS पर A रिकॉर्ड वाला डोमेन या सबडोमेन (dns.example.com)
- SSH पहुँच; DNS केवल टनल के अंदर चाहिए तो वैकल्पिक WireGuard
चरण 1: पोर्ट 53 खाली करें और AdGuard Home इंस्टॉल करें
Ubuntu Server अक्सर systemd-resolved को 127.0.0.53:53 पर stub के रूप में चलाता है। AdGuard Home आपके चुने इंटरफ़ेस पर 53 चाहता है। इंस्टॉलर यह कर सकता है, लेकिन स्पष्ट करना VPS के अपने DNS के आधे-टूटे रहने से बचाता है (सर्वर को अभी भी पैकेज resolve करने हैं)।
ssh root@YOUR_VPS_IP
apt update && apt -y upgrade
apt -y install curl ca-certificates
# See who owns port 53:
ss -tulpn | grep ':53'
# Typical Ubuntu fix: stop stub listener, point the OS at a temporary resolver
mkdir -p /etc/systemd/resolved.conf.d
cat >/etc/systemd/resolved.conf.d/adguardhome.conf <<'EOF'
[Resolve]
DNS=1.1.1.1
DNSStubListener=no
EOF
ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
systemctl restart systemd-resolved
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -vचरण 2: पहली-रन विज़ार्ड
इंस्टॉलर URL प्रिंट करता है, आमतौर पर http://YOUR_IP:3000/। खोलें, लंबे पासवर्ड वाला एडमिन उपयोगकर्ता बनाएँ, और लिस्न पते चुनें। सार्वजनिक VPS के लिए सुरक्षित पहला सेटअप: Admin Web 127.0.0.1:3000 पर (आगे Caddy रखेंगे) या TLS के बाद 80/443 पर; DNS लिस्न 127.0.0.1:53 प्लस VPN इंटरफ़ेस, 0.0.0.0:53 पर नहीं। दोस्तों के लिए सचमुच LAN-शैली DNS चाहिए तो खुला 53/udp नहीं, प्रमाणीकरण के साथ 443/853 पर DoH/DoT पसंद करें।
जिन अपस्ट्रीम DNS सर्वर पर भरोसा हो उन्हें चुनें। बहुत लोग https://dns.quad9.net/dns-query या Cloudflare इस्तेमाल करते हैं। तेज़ फ़ेलओवर चाहिए तो समानांतर अनुरोध चालू करें। डिफ़ॉल्ट फ़िल्टर सूचियाँ चालू करें, बाद में और जोड़ें — पहले दिन पचास सूचियाँ चालू करना साइट टूटने पर डिबग असंभव बना देता है।
चरण 3: डैशबोर्ड के लिए रिवर्स प्रॉक्सी और HTTPS
विज़ार्ड खत्म होने के बाद AdGuard Home आमतौर पर UI को पोर्ट 80 पर ले जाता है। साइटें भी होस्ट करें तो यह Caddy या Nginx से टकराता है। साफ पैटर्न: AdGuard Home वेब 127.0.0.1:8080 पर, DNS 127.0.0.1:53 पर, डैशबोर्ड और DoH दोनों के लिए 443 पर Caddy।
# In AdGuard Home settings, bind the web UI to 127.0.0.1:8080
# Example Caddyfile:
dns.example.com {
reverse_proxy 127.0.0.1:8080
}
# After Caddy is up:
curl -I https://dns.example.comचरण 4: DNS-over-HTTPS और DNS-over-TLS चालू करें
Encryption सेटिंग में एन्क्रिप्शन चालू करें, सर्वर नाम dns.example.com सेट करें, और AdGuard Home को अपने प्रमाणपत्र फ़ाइलों की ओर इंगित करें — Caddy जो संग्रहीत करता है, या 443 पर सुन रहा हो तो AdGuard Home स्वयं प्राप्त करता है। DoH आमतौर पर https://dns.example.com/dns-query है। DoT dns.example.com:853 है। Caddy पहले से 443 का मालिक हो तो Caddy TLS समाप्त करे और DoH पथ को AdGuard Home के सादे HTTP DoH पोर्ट पर रिवर्स प्रॉक्सी करे, या AdGuard Home 443 पर सुने और डैशबोर्ड दूसरे सबडोमेन पर रखें।
हर डिवाइस बदलने से पहले क्लाइंट से सत्यापित करें। आधुनिक curl वाले लैपटॉप पर:
curl -H 'accept: application/dns-json' 'https://dns.example.com/dns-query?name=example.com&type=A'
# DoT test (kdig from knot-dnsutils, if installed):
# kdig @dns.example.com +tls-ca +tls-host=dns.example.com example.comचरण 5: वास्तविक डिवाइस अपने resolver की ओर इंगित करें
Windows 11 और हालिया Android बिल्ड DoH टेम्पलेट इस्तेमाल कर सकते हैं। iOS कॉन्फ़िगरेशन प्रोफ़ाइल या DoH समर्थित क्लाइंट इस्तेमाल कर सकता है। Firefox और Chromium भी कस्टम DoH URL देते हैं। घरेलू राउटर पर WAN DNS केवल तभी सेट करें जब राउटर DoT/DoH समर्थित हो; वरना WireGuard चलाएँ और DNS को VPS VPN IP पर सेट करें ताकि क्लासिक DNS कभी इंटरनेट न पार करे।
- Android 9+: निजी DNS (DoT) → dns.example.com
- Firefox: Settings → Network → DNS over HTTPS → कस्टम URL https://dns.example.com/dns-query
- Apple डिवाइस: हस्ताक्षरित mobileconfig या DoH/DoT समर्थित ऐप
- अन्य VPS: resolv.conf या systemd-resolved को इस AdGuard इंस्टेंस के WireGuard IP पर सेट करें
- एन्क्रिप्शन के बिना यादृच्छिक सार्वजनिक नेटवर्क पर इस VPS IP को DNS के रूप में सेट करने से बचें
चरण 6: फ़ायरवॉल — खुला रिकर्सिव DNS बंद करें
यह खंड बुरी हैरानी रोकता है। SSH, HTTPS, और वैकल्पिक रूप से DoT के लिए 853/tcp अनुमति दें। बहुत विशिष्ट, दर-सीमित, प्रमाणीकृत डिज़ाइन न हो तो 0.0.0.0/0 से 53/udp अनुमति न दें — और तब भी शायद नहीं देनी चाहिए।
ufw allow OpenSSH
ufw allow 443/tcp comment 'dashboard + DoH'
ufw allow 853/tcp comment 'DoT'
# If DNS is only on WireGuard (example iface wg0, 10.8.0.1):
# ufw allow in on wg0 to any port 53 proto udp
ufw enable
ufw status verbose
# Confirm 53 is not public:
ss -tulpn | grep ':53'फ़िल्टर, अनुमति सूची और क्लाइंट
AdGuard के डिफ़ॉल्ट DNS फ़िल्टर और एक मैलवेयर सूची से शुरू करें। साइट खराब व्यवहार करे तो क्वेरी लॉग जाँचें, फिर सारी ब्लॉकिंग बंद करने की जगह विशिष्ट अनुमति नियम जोड़ें। क्लाइंट नाम इस्तेमाल करें (IP या DoH URL में ClientID से) ताकि स्मार्ट TV पर सख्त सूची और कार्य लैपटॉप पर ढीली सूची लागू कर सकें। सुरक्षित खोज केवल तभी चालू करें जब सचमुच चाहिए — पुनर्लेखित Google परिणाम न माँगने वालों को हैरान करता है।
- क्वेरी लॉग: ब्लॉक डोमेन खोजें, गलत सकारात्मक हो तो व्हाइटलिस्ट करें
- क्लाइंट सेटिंग: डिवाइस के अनुसार अलग ब्लॉकलिस्ट
- अस्वीकृत क्लाइंट: जिन रेंज के मालिक नहीं उन्हें ब्लॉक करें
- दर सीमित करना: मुट्ठी भर से अधिक उपयोगकर्ता कभी खोलें तो चालू करें
समस्या निवारण
VPS स्वयं apt update न कर सके तो पोर्ट 53 खाली करते समय स्थानीय DNS तोड़ दिया — ऊपर जैसा resolved.conf में स्थिर resolver डालें। डिवाइस का ‘इंटरनेट है’ लेकिन विज्ञापन अभी भी लोड हों तो वे आपके DNS को बाईपास कर रहे हैं (हार्डकोडेड resolver, ब्राउज़र में DoH, या अपना DNS इस्तेमाल करने वाला ऐप)। डैशबोर्ड खाली हो तो गलत इंस्टेंस देख रहे हैं या विज़ार्ड UI हटाने के बाद अभी भी पोर्ट 3000 पर जा रहे हैं।
- apt विफल: /etc/resolv.conf और systemd-resolved जाँचें
- पोर्ट 53 उपयोग में: ss -tulpn, stub लिस्नर बंद करें
- DoH प्रमाणपत्र त्रुटियाँ: होस्टनाम प्रमाणपत्र SAN से मेल खाना चाहिए
- विज्ञापन अभी दिखते हैं: ब्राउज़र DoH दूसरे प्रदाता पर OS को ओवरराइड करता है
- उच्च RAM: क्वेरी लॉग + बहुत फ़िल्टर सूचियाँ — सूचियाँ काटें और लॉग प्रतिधारण छोटा करें
सुरक्षा जाँच सूची
वेब UI एडमिन पैनल है। अद्वितीय पासवर्ड, केवल HTTPS, और URL प्रकाशित न करें। AdGuard Home अपडेट रखें; इंस्टॉल स्क्रिप्ट और UI दोनों अपडेट पथ दिखाते हैं। केवल आपके डिवाइस DoH इस्तेमाल करें तो 443 सीमित करें — DoH पथ पर HTTP बेसिक ऑथ या केवल WireGuard पहुँच प्रसिद्ध खुले resolver से कहीं सुरक्षित है।
- कोई सार्वजनिक 53/udp नहीं
- डैशबोर्ड पर HTTPS
- मजबूत एडमिन पासवर्ड, पासवर्ड मैनेजर में संग्रहीत
- परिवार डिवाइस के लिए WireGuard + आंतरिक DNS पसंद करें
- AdGuardHome.yaml सर्वर से बाहर बैकअप करें
सुझाव
- हर अपग्रेड से पहले /opt/AdGuardHome/AdGuardHome.yaml बैकअप करें
- समर्पित सबडोमेन इस्तेमाल करें; असंबंधित CMS से साझा न करें
- पहले से Caddy चला रहे हों तो 443 Caddy के पास छोड़ें और AdGuard Home localhost पर रखें
- डिवाइस के लिए DoH URL दस्तावेज़ करें — भूल जाएँगे
- VPS केवल ‘DNS-सुरक्षित’ न हो इसके लिए SSH सख्ती और फ़ायरवॉल गाइड से जोड़ें
VPS पर AdGuard Home सीधा है: स्थानीय रूप से पोर्ट 53 खाली करें, इंस्टॉलर चलाएँ, मजबूत एडमिन पासवर्ड से विज़ार्ड खत्म करें, UI HTTPS पर रखें, DoH/DoT चालू करें, और क्लासिक DNS सार्वजनिक इंटरनेट से दूर रखें। डिवाइस अपने एन्क्रिप्टेड एंडपॉइंट या VPN IP की ओर इंगित करें, छोटी फ़िल्टर सेट से शुरू करें, और कुछ टूटे तो क्वेरी लॉग इस्तेमाल करें। यह निजी resolver है जिसे आप सचमुच नियंत्रित करते हैं — ऐसा सार्वजनिक खुला DNS नहीं जो आपके VPS को दुरुपयोग डेटाबेस में डाल दे।