- 2024 में वेब और software विज्ञापनों, tracking, analytics widgets, cookie banners और लगातार बाहरी communication के कारण ज्यादा थकाऊ हो गया है, और Pi-hole इसे network स्तर पर कम करने का तरीका है
- Pi-hole घर या office network में DNS sinkhole की तरह काम करता है और trackers, ad CDN, तथा अनचाहे domain requests को सभी devices पर block करता है
- वास्तविक उपयोग में कुल traffic का 66.6% block हुआ, और रोजमर्रा के कामों पर कोई functional असर नहीं पड़ा बताया गया
- setup के लिए Raspberry Pi और microSD card, initial setup peripherals, Pi-hole installation, और router को DNS requests Pi-hole पर भेजने के लिए network configuration की जरूरत होती है
- सिर्फ Pi-hole से सभी ads रोकना मुश्किल है, इसलिए YouTube जैसी services के लिए uBlock Origin जैसे browser ad blocker के साथ इस्तेमाल करने वाला setup उपयोगी है
Pi-hole क्यों इस्तेमाल करें
- web browsing और software usage के दौरान अनचाहा data collection और tracking काफी बढ़ गई है, और users ऐसी स्थिति से बचना चाहते हैं जहाँ उनका computer, browser और अन्य signals बिना सहमति profiling में इस्तेमाल हों
- 2024 का सामान्य online experience ads, malicious scripts, analytics widgets, chatbot widgets, page को ढकने वाले cookie consent banners, और हर click पर बाहर communication करने वाले software से भरा हुआ है
- ad technology visitors का जरूरत से ज्यादा शोषण करने की दिशा में बदल गई है, और इसके जवाब में home network में Pi-hole लगाने का तरीका सुझाया गया है
- Pi-hole पहले से ही काफी जाना-पहचाना project है, और Jeff Atwood, Troy Hunt, Scott Hanselman, Scott Helme आदि कई वर्षों से इस tool पर लिखते रहे हैं
network में यह कैसे काम करता है
- Pi-hole आमतौर पर Raspberry Pi पर चलता है, लेकिन तकनीकी रूप से Pi के बाहर भी चलाया जा सकता है
- यह network के अंदर DNS proxy/sinkhole की तरह काम करता है
- जब user
https://example.com पर जाता है, request पहले Pi-hole से होकर गुजरती है
- उसके बाद flow authoritative DNS server से domain information पूछने की ओर बढ़ता है
- इसका उद्देश्य network से उन domain requests को block करना है जिन तक पहुंचना नहीं चाहते
- trackers
- ad-serving CDN
- ऐसे domains जिन्हें घर या business के अंदर से data भेजना नहीं चाहते
- वास्तविक network में कुल traffic का 66.6% block हुआ, और user के कामों पर कोई functional असर नहीं पड़ा
installation के लिए जरूरी setup
- Pi-hole setup के लिए बड़े investment की जरूरत नहीं है; hardware से ज्यादा बड़ी लागत setup और verification में लगने वाला समय है
- basic setup इस प्रकार है
- Raspberry Pi
- US मानक के हिसाब से लगभग 155 डॉलर का CanaKit starter kit
- इसमें setup के लिए जरूरी microSD card भी शामिल है
- Raspberry Pi के initial setup से जोड़ने के लिए monitor, mouse, keyboard
- Pi-hole basic installation guide follow करने का समय
- network की DNS requests Pi-hole से होकर जाएँ, इसके लिए router configure करने का समय
- Pi-hole team ने installation process को जितना हो सके उतना simple बनाया है
block domain lists का संचालन
- hardware और software install करने के बाद, router की DNS request destination को Pi-hole device की ओर point करने के लिए configure करना होगा
- अगला step यह तय करना है कि किन domains को block करना है
- network से गुजरने वाली requests को खुद देखकर निर्णय लिया जा सकता है
- community block lists इस्तेमाल की जा सकती हैं
- Firebog शुरुआत के लिए recommended resource है, और community द्वारा research और collect की गई कई domain lists देता है
- सभी lists को बिना सोचे लागू करने की जरूरत नहीं है
- कुछ functionality टूट सकती है या काम नहीं कर सकती
- Pi-hole के real-time query log में देखा जा सकता है कि कौन सा client किस domain तक पहुंचने की कोशिश कर रहा है
- जरूरत के अनुसार domains को dynamically block या allow किया जा सकता है
- regular expression से खास conditions से match करने वाले domains block किए जा सकते हैं
- Russia, China, Hong Kong से आने वाले malicious traffic को ज्यादा देखने के कारण
.cn, .ru, .hk TLD block करने का उदाहरण है
(^|\.)(cn|ru|hk)$
- यह rule लागू करने पर, जब तक DNS request Pi-hole से होकर गुजरती है, उन TLD servers की ओर जाने वाला communication network से बाहर नहीं जाता
- country TLD malware का अकेला attack vector नहीं है, लेकिन इन्हें block करना पूरे network security posture को बेहतर करने का एक छोटा step माना जाता है
DNS bypass रोकना
- कुछ devices user द्वारा set किए गए DNS को bypass करके ads serve करने या analytics data collect करने की कोशिश कर सकते हैं
- countermeasure इस्तेमाल किए जा रहे router hardware पर निर्भर करता है
- UniFi ecosystem और UDM Pro वाले environment में UDM पर SSH से connect कर
iptables rules चलाने का उदाहरण है
iptables -t nat -A PREROUTING ! -s YOUR_PI_HOLE_IP -p tcp --dport 53 -j DNAT --to YOUR_PI_HOLE_IP
iptables -t nat -A PREROUTING ! -s YOUR_PI_HOLE_IP -p udp --dport 53 -j DNAT --to YOUR_PI_HOLE_IP
# Make sure that we skip 192.168.1.1 since that seems to break UniFi Protect
iptables -t nat -A POSTROUTING -m iprange --src-range 192.168.1.2-192.168.254.254 -j MASQUERADE
- यह script सभी DNS traffic यानी port 53 को Pi-hole पर redirect करती है, और NAT rule से network address masquerading लागू करती है
- पहला command TCP DNS packets को Pi-hole IP पर destination NAT करता है
-t nat: NAT table rule specify करता है
-A PREROUTING: routing से पहले inbound packets process करने वाली chain में rule add करता है
! -s YOUR_PI_HOLE_IP: Pi-hole से ही शुरू हुए packets को exclude करता है
-p tcp: TCP packets पर apply करता है
--dport 53: DNS port 53 को target करने वाले packets match करता है
-j DNAT: destination IP address बदलने वाले DNAT target पर भेजता है
--to YOUR_PI_HOLE_IP: packets को Pi-hole IP पर redirect करता है
- दूसरा command यही process UDP packets पर apply करता है
- तीसरा command दिए गए internal IP range के source IP को router IP में बदलने वाला
MASQUERADE rule है
- example range
192.168.1.2 से 192.168.254.254 तक है, और इसे अपने network के अनुसार adjust किया जा सकता है
192.168.1.1 को UniFi Protect के टूटने से बचाने के लिए exclude किया गया है
- नतीजतन, Pi-hole से खुद निकली requests को छोड़कर network devices की सभी TCP और UDP DNS requests Pi-hole पर redirect हो जाती हैं
browser ad blocker के साथ इस्तेमाल
- Pi-hole network devices और internet के बीच होने के बावजूद uBlock Origin जैसा भरोसेमंद ad blocker अब भी valuable है
- YouTube जैसी services में service usage बनाए रखते हुए ads के बिना इस्तेमाल करना चाहें, तो सिर्फ domain-level blocking से हल निकालना मुश्किल है
- Pi-hole browser ad blocker के ऊपर unwanted content और requests रोकने वाली additional layer के रूप में इस्तेमाल होता है
- browser ad blockers main website domain से load होने वाले manual ads या sponsored content जैसे specific UI elements भी block कर सकते हैं
इस्तेमाल के बाद आकलन
- network में Pi-hole install करने के बाद इसका असर इतना बड़ा था कि वापस जाना मुश्किल लगा
- parents और spouse के parents के networks पर भी वही setup apply किया गया
- online life की quality में बड़ा फर्क लाता है, इस वजह से इसे आगे भी recommend करने की बात कही गई
5 टिप्पणियां
ज़रूरी नहीं कि आप Pi-Hole ही इस्तेमाल करें; आम तौर पर पहले से ad-blocking वाला DNS इस्तेमाल करना भी ठीक रहता है.
http://youtube.com/watch?v=OvfnqFXRybk इस तरह adguard इंस्टॉल करके इस्तेमाल करने का तरीका भी अच्छा लगा।
मैंने Adguard Home, PiHole और NextDNS तीनों इस्तेमाल किए हैं, और Adguard Home सबसे बेहतर लगा।
अगर parallel requests चालू हों और cache पर्याप्त दिया जाए, तो DNS requests 10ms से कम में प्रोसेस हो जाती हैं.
विज्ञापन ब्लॉकिंग के नज़रिए से यह काफ़ी ठीक सेवा है। लेकिन जैसा कि मुख्य लेख में भी है, विज्ञापन ब्लॉक करने पर काफ़ी ऐसी सेवाएँ होती हैं जो चुपचाप काम नहीं करतीं, इसलिए ऐसे समय में विज्ञापन बंद करने पड़ते हैं वगैरह... अगर मैं अकेला होता तो शायद ठीक था, लेकिन जब पत्नी इस्तेमाल करते हुए कुछ न चले और चिढ़ जाए तो वह भी सिरदर्द बन जाता है, इसलिए मैं इसे सिर्फ अपने पर्सनल कंप्यूटर पर ही इस्तेमाल कर रहा हूँ. सिसकियां
ओ.. धन्यवाद..