SSD Nodes Learn Hosting plans →
गाइड Matt Connorलेखक: Matt Connor

ब्लॉक साइट खोलने के लिए VPN: अपना सर्वर, ऐप या Tor?

Jio, Airtel या BSNL पर साइट ब्लॉक है? पहले जांचें कि ब्लॉक DNS, IP या SNI से लगा है, फिर कमर्शियल ऐप, अपने VPS पर WireGuard/Outline या Tor में से सही रास्ता चुनें।

ब्लॉक साइट खोलने के लिए VPN से पहले यह जानें कि ब्लॉक कैसे लगा है

ब्लॉक साइट खोलने के लिए VPN का सबसे भरोसेमंद रूप भारत के बाहर किसी VPS पर आपका अपना WireGuard या Outline सर्वर है: आपका ट्रैफ़िक एन्क्रिप्टेड सुरंग से होकर एक विदेशी पते से बाहर निकलता है, इसलिए ISP का फ़िल्टर न साइट का नाम देख पाता है और न उसका IP। लेकिन VPN खरीदने या सर्वर बनाने से पहले दो मिनट की जांच करें, क्योंकि Jio, Airtel, BSNL या कैंपस नेटवर्क पर लगा हर ब्लॉक एक जैसा नहीं होता। सिर्फ़ DNS वाला ब्लॉक बिना VPN के भी हट जाता है, और गलत सेट किया गया VPN, SNI या IP वाले ब्लॉक के सामने भी वही नोटिस दिखाता रहता है।

यहाँ का दायरा geo-block (किसी देश में उपलब्ध न होने वाली सेवा) और over-blocking (एक साझा IP या CDN की वजह से बंद हुई बेगुनाह साइटें) तक है। किसी खास ब्लॉकिंग आदेश पर राय यहाँ नहीं है। किस ISP ने किस साइट पर कौन सा तरीका लगाया है, यह भी यहाँ नहीं लिखा गया, क्योंकि वह बदलता रहता है और उसे मापे बिना लिखना गलत होगा। नीचे दिए टेस्ट अपने नेटवर्क पर खुद चलाएँ, जवाब वहीं से मिलेगा।

ISP किसी साइट को तीन तरीकों से रोकता है

ब्राउज़र में आपको तीन में से कोई एक चीज़ दिखती है: "Your requested URL has been blocked as per the directions received from Department of Telecommunications" वाला नोटिस, एक खाली पेज जो टाइमआउट हो जाता है, या "connection was reset" वाली गलती। हर लक्षण के पीछे एक अलग तकनीक है।

DNS का जवाब रोकना या गलत जवाब देना

DNS (domain name system) साइट के नाम को IP पते में बदलता है। ISP का resolver ब्लॉक नाम के लिए कोई जवाब नहीं देता (NXDOMAIN या SERVFAIL), या जान-बूझकर गलत जवाब देता है, जैसे 127.0.0.1 या ISP का अपना एक सर्वर जो नोटिस पेज दिखाता है। यह सबसे सस्ता तरीका है, और सबसे कमज़ोर भी, क्योंकि आप resolver बदल सकते हैं।

IP या रूट को गिरा देना

ISP अपने राउटर में उस IP या पूरे IP रेंज के लिए null route डाल देता है, यानी उस पते की ओर जाने वाला हर पैकेट चुपचाप फेंक दिया जाता है। नाम सही IP में बदलता है, लेकिन TCP कनेक्शन कभी बनता ही नहीं, और ब्राउज़र टाइमआउट दिखाता है। over-blocking इसी तरीके से होती है: एक IP पर सौ साइटें हों तो सौ की सौ बंद।

TLS SNI पढ़कर कनेक्शन रीसेट करना

HTTPS कनेक्शन की शुरुआत में ब्राउज़र एक ClientHello संदेश भेजता है। उसमें SNI (server name indication) फ़ील्ड में साइट का नाम बिना एन्क्रिप्शन के लिखा होता है, ताकि एक ही IP पर बैठा सर्वर सही सर्टिफ़िकेट चुन सके। ISP का DPI (deep packet inspection) उपकरण यह नाम पढ़ता है और ब्लॉक सूची से मिलने पर दोनों तरफ़ TCP RST पैकेट भेज देता है। नाम भी सही, IP भी पहुँच में, फिर भी handshake के बीच में कनेक्शन टूट जाता है। यह तरीका सबसे सटीक है, क्योंकि साझा IP पर बाकी साइटें चलती रहती हैं।

अपने नेटवर्क पर कौन सा ब्लॉक है, यह कैसे जांचें

नीचे के कमांड Ubuntu या किसी भी Linux मशीन पर चलते हैं। Windows पर nslookup और curl से यही काम हो जाता है। उदाहरण में blocked.example की जगह वह साइट लिखें जो आपके यहाँ नहीं खुल रही।

sudo apt install -y dnsutils curl
resolvectl status | grep 'DNS Servers'

resolvectl status वह resolver दिखाता है जो आपके नेटवर्क ने DHCP से दिया है। ज़्यादातर मामलों में यही ISP का resolver है, या घर का राउटर जो आगे ISP से पूछता है।

पहला टेस्ट: ISP resolver और public resolver के जवाब मिलाएँ

dig +short blocked.example
dig +short @1.1.1.1 blocked.example
dig +short @9.9.9.9 blocked.example

पहली लाइन सिस्टम का resolver इस्तेमाल करती है, बाकी दो सीधे public resolver से पूछती हैं। तीन नतीजे संभव हैं। पहली लाइन खाली और बाकी दो में असली IP: ISP जवाब रोक रहा है (+short हटाकर चलाएँ, status: NXDOMAIN या status: SERVFAIL दिखेगा)। पहली लाइन में 127.0.0.1, 0.0.0.0 या ISP के रेंज का कोई IP और बाकी दो में कुछ और: ISP गलत जवाब दे रहा है, और वही गलत IP आपको नोटिस पेज दिखाता है। तीनों एक जैसे: ब्लॉक DNS में नहीं है, अगले टेस्ट पर जाएँ।

एक पेच है। कुछ नेटवर्क port 53 पर जाने वाली हर DNS क्वेरी को बीच में पकड़कर खुद जवाब देते हैं, इसलिए @1.1.1.1 का जवाब भी ISP का ही हो सकता है। इसे पकड़ने के लिए DoH (DNS over HTTPS) से पूछें, जिसे बीच में कोई बदल नहीं सकता, सिर्फ़ रोक सकता है:

curl -s 'https://dns.google/resolve?name=blocked.example&type=A'

इस JSON के Answer में जो data है, वही असली IP है। अगर यह dig @1.1.1.1 के जवाब से अलग है, तो आपका नेटवर्क port 53 को हाईजैक कर रहा है, और DNS बदलने भर से काम नहीं चलेगा।

दूसरा टेस्ट: curl -v चलाकर देखें कि handshake कहाँ टूटता है

curl -v --connect-timeout 10 -o /dev/null https://blocked.example

आउटपुट में यह लाइनें ढूँढें, ऊपर से नीचे:

  • Could not resolve host: blocked.example: DNS ब्लॉक। पहले टेस्ट से यह पहले ही पता चल चुका होगा।
  • Connected to वाली लाइन कभी नहीं आती, और अंत में Failed to connect to blocked.example port 443 के साथ Timeout was reached: IP या रूट गिराया गया है। पैकेट जा रहे हैं, लौट कुछ नहीं रहा। कुछ नेटवर्क SYN का जवाब RST से देते हैं, तब वही लाइन Couldn't connect to server पर खत्म होती है।
  • Connected to blocked.example (203.0.113.10) port 443 आ जाती है, फिर TLS handshake, Client hello (1) के ठीक बाद OpenSSL SSL_connect: Connection reset by peer: SNI ब्लॉक। TCP बना, नाम भेजते ही किसी ने RST भेज दिया।

HTTP (बिना s) पर ISP कनेक्शन तोड़ने की जगह नोटिस पेज घुसा देता है। curl -s http://blocked.example | grep -i blocked में "blocked as per the directions" मिले तो जवाब ISP के उपकरण से आया है, असली साइट से नहीं।

DNS वाले शक को अलग करने का एक और छोटा तरीका है: नाम को खुद असली IP से बाँध दें।

IP=$(curl -s 'https://dns.google/resolve?name=blocked.example&type=A' | grep -o '"data":"[0-9.]*"' | head -n1 | cut -d'"' -f4)
echo "$IP"
curl -v --resolve "blocked.example:443:$IP" -o /dev/null https://blocked.example

--resolve curl को DNS पूछने ही नहीं देता। अगर इससे साइट खुल जाती है और सामान्य curl नहीं खुलती, तो ब्लॉक सिर्फ़ DNS में है।

तीसरा टेस्ट: SNI बदलकर देखें

IP गिरा है या SNI पकड़ा जा रहा है, इसका फ़ैसला openssl s_client से करें। पहले असली नाम भेजें, फिर कोई भी दूसरा नाम, उसी IP और उसी port पर।

openssl s_client -connect "$IP:443" -servername blocked.example </dev/null 2>&1 | head -n 5
openssl s_client -connect "$IP:443" -servername www.example.org </dev/null 2>&1 | head -n 5

असली नाम पर CONNECTED(00000003) के बाद errno=104 (Linux में 104 का मतलब है Connection reset by peer), और नकली नाम पर सर्टिफ़िकेट की लाइनें या सर्वर की तरफ़ से TLS alert: बीच का उपकरण SNI पढ़ रहा है, क्योंकि उसी IP और उसी port पर सिर्फ़ नाम बदलने से नतीजा बदल गया। दोनों बार CONNECTED भी न आए: IP ही गिरा है, नाम से फ़र्क नहीं पड़ता।

ब्लॉक साइट खोलने के तीन रास्ते और हर एक का threat model

तीनों ब्लॉक का इलाज एक ही सिद्धांत है: आपका पैकेट ISP के फ़िल्टर से गुज़रते समय ऐसा दिखे कि उसमें न ब्लॉक नाम हो, न ब्लॉक IP। VPN ऐसा इसलिए कर पाता है क्योंकि DNS क्वेरी, ClientHello और असली IP, सब एन्क्रिप्टेड सुरंग के अंदर होते हैं, और ISP को सिर्फ़ आपके और VPN सर्वर के बीच का ट्रैफ़िक दिखता है। threat model का मतलब है: किसे क्या दिखता है, और आप किस पर भरोसा कर रहे हैं। तीनों रास्तों में यह अलग है।

रास्ता 1: कमर्शियल VPN ऐप

सबसे तेज़ और सबसे आसान। ऐप इंस्टॉल करें, देश चुनें, हो गया। भरोसा पूरी तरह उस कंपनी पर है: आपकी हर साइट, हर DNS क्वेरी उसके सर्वर से गुज़रती है, और उसकी "no logs" नीति एक वादा है, जिसे आप जांच नहीं सकते।

भारत के लिए एक खास बात है। अप्रैल 2022 में CERT-In (Indian Computer Emergency Response Team) ने निर्देश जारी किए कि भारत में सर्वर चलाने वाले VPN प्रदाता ग्राहकों का नाम, IP और उपयोग का रिकॉर्ड पाँच साल तक रखें। जवाब में ExpressVPN, NordVPN, Surfshark, Proton VPN और Mullvad जैसे बड़े प्रदाताओं ने अपने भारतीय सर्वर हटा दिए। सितंबर 2026 तक यही स्थिति है: ये कंपनियाँ भारतीय ग्राहकों को सिंगापुर या यूरोप के सर्वर से सेवा देती हैं, और ऐप में दिखने वाली "India" लोकेशन ज़्यादातर एक virtual server है, जो असल में देश के बाहर रखा है और सिर्फ़ भारतीय IP देता है। जुलाई 2026 में खबर आई कि सरकार VPN कंपनियों के लिए नया कानून लाने की तैयारी में है; यह लिखते समय वह लागू नहीं हुआ है। ऐप चुनने से पहले प्रदाता के सर्वर पेज पर ताज़ा स्थिति खुद देखें।

exit IP सैकड़ों लोगों के साथ साझा होता है, इसलिए साइट के लिए आप भीड़ का एक हिस्सा हैं। यह गुमनामी नहीं है। फिर भी, अपने VPS के अकेले IP की तुलना में भीड़ में छिपना आसान है।

रास्ता 2: भारत के बाहर VPS पर अपना WireGuard या Outline सर्वर

एक छोटा VPS किसी दूसरे देश में लें, उस पर WireGuard या Outline सर्वर चलाएँ, और फ़ोन या लैपटॉप को उससे जोड़ें। सारा ट्रैफ़िक उस VPS के IP से बाहर निकलता है। इंस्टॉल के चरण यहाँ दोहराए नहीं गए हैं। अपने VPS पर WireGuard VPN सेट करने की पूरी गाइड में key बनाना, wg0.conf, IP forwarding, NAT और handshake की गलतियाँ सब हैं, और Outline VPN सर्वर सेट करने की गाइड में Outline Manager से सर्वर बनाना और access key बाँटना। Docker और वेब पैनल पसंद हो तो wg-easy से Docker में WireGuard चलाना सबसे कम मेहनत वाला रास्ता है।

WireGuard और Outline में फ़र्क यह है कि WireGuard UDP पर चलता है और उसका ट्रैफ़िक पैटर्न पहचाना जा सकता है, जबकि Outline, Shadowsocks पर बना है, TCP पर चलता है, और सामान्य एन्क्रिप्टेड ट्रैफ़िक जैसा दिखता है। घर के ब्रॉडबैंड पर WireGuard तेज़ है। कैंपस या ऑफ़िस नेटवर्क, जहाँ UDP बंद हो या VPN पकड़ा जाता हो, वहाँ Outline पहले आज़माएँ।

अब threat model, साफ़ शब्दों में। पहला: यह आपको गुमनाम नहीं बनाता। VPS का IP सिर्फ़ आपका है, इसलिए हर साइट आपके सारे सेशन एक ही पते से जोड़ सकती है, और VPS का बिल आपके नाम पर है। दूसरा: ISP की जगह अब VPS प्रदाता है जो आपका metadata देखता है। उसे यह नहीं दिखता कि HTTPS के अंदर क्या है, लेकिन यह दिखता है कि आपका सर्वर किन IP से कितना डेटा ले रहा है। तीसरा: ISP को दिखता है कि आपसे एक विदेशी IP की ओर लगातार एन्क्रिप्टेड ट्रैफ़िक जा रहा है। वह जान सकता है कि आप VPN चला रहे हैं, यह नहीं कि उसमें क्या है। चौथा: log आपके हाथ में हैं, किसी नीति पर भरोसा नहीं करना पड़ता, और यही इस रास्ते का असली फ़ायदा है।

geo-block के लिए एक ईमानदार चेतावनी: कुछ स्ट्रीमिंग सेवाएँ डेटा-सेंटर के IP रेंज पहचानकर रोकती हैं। VPS का IP ऐसी सूची में हो सकता है, और अपना सर्वर इसका हल नहीं है।

रास्ता 3: Tor

Tor आपका ट्रैफ़िक तीन बेतरतीब relay से घुमाता है, ताकि कोई एक पक्ष आपको और साइट दोनों को न देख सके। Tor गुमनामी का औज़ार है। ब्लॉक हटाना उसका मुख्य काम नहीं है, और इसकी कीमत रफ़्तार है। threat model बिल्कुल अलग है, इसलिए यहाँ इसे सिखाया नहीं गया है। Tor और VPN में असली फ़र्क क्या है पढ़ें और तब तय करें कि आपको ब्लॉक हटाना है या पहचान छिपानी है। दोनों एक ही चीज़ नहीं हैं।

VPN चालू है, फिर भी साइट नहीं खुल रही: तीन वजहें

वही नोटिस पेज दिख रहा है। DNS सुरंग के बाहर जा रहा है। WireGuard क्लाइंट में DNS = लाइन न हो तो फ़ोन या लैपटॉप ISP का resolver ही पूछता रहता है, और ISP का गलत जवाब आपको वहीं नोटिस पर पहुँचा देता है, भले ही बाकी ट्रैफ़िक सुरंग से जा रहा हो। VPN चालू होने पर भी dig +short blocked.example ISP वाला जवाब दे तो यही समस्या है। WireGuard पर DNS leak ठीक करने की गाइड में DNS = लाइन और resolvectl वाले हल हैं।

VPN का handshake ही नहीं हो रहा। wg show में latest handshake नहीं आता। नेटवर्क UDP या WireGuard के पैटर्न को रोक रहा है। VPN ब्लॉक होने पर क्या चलाएँ में Outline, TCP पर WireGuard और दूसरे विकल्प क्रम से दिए हैं।

कुछ साइटें खुलती हैं, बड़े पेज अटक जाते हैं। इसकी वजह ब्लॉक से अलग है: MTU (maximum transmission unit), क्योंकि सुरंग हर पैकेट में अपना हेडर जोड़ती है और बीच का कोई लिंक बड़े पैकेट चुपचाप गिरा देता है। WireGuard की धीमी रफ़्तार और MTU में इसे नापने और ठीक करने का तरीका है।

अगर आप पूरे डिवाइस की जगह सिर्फ़ एक ऐप या कंटेनर VPN से भेजना चाहते हैं, तो Gluetun से Docker कंटेनर का ट्रैफ़िक VPN से भेजना देखें। बाकी मशीन ISP के रास्ते चलती रहती है, सिर्फ़ चुना हुआ कंटेनर सुरंग से।

क्या भारत में VPN इस्तेमाल करना कानूनी है

सितंबर 2026 तक, हाँ। भारत में कोई कानून VPN के इस्तेमाल को अपने आप में अपराध नहीं बनाता। 2022 के CERT-In निर्देश VPN सेवा देने वाली कंपनियों पर लागू होते हैं, उपयोगकर्ता पर नहीं। इसे लिखते समय VPN कंपनियों के लिए नया कानून चर्चा में है, इसलिए पढ़ते समय ताज़ा स्थिति एक बार देख लें। दो बातें अलग से याद रखें। VPN से कोई गैर-कानूनी काम कानूनी नहीं हो जाता। और कैंपस या ऑफ़िस का नेटवर्क अपनी नीति से VPN रोक सकता है, भले ही कानून न रोके; उस नीति को तोड़ने का नतीजा आपका संस्थान तय करता है।

कौन सा रास्ता चुनें

ब्लॉक सिर्फ़ DNS में है: VPN की ज़रूरत ही नहीं। ब्राउज़र में DoH चालू करें या सिस्टम का resolver 1.1.1.1 या 9.9.9.9 पर रखें। एक साइट, कभी-कभार, बिना झंझट: कमर्शियल ऐप, प्रदाता के सर्वर पेज पर भारतीय स्थिति देखकर। रोज़ का इस्तेमाल, अपने log, और एक तय देश से निकलने वाला IP: अपना WireGuard या Outline सर्वर, महीने के VPS खर्च पर। पहचान छिपानी है: Tor, और उसके लिए ऊपर दिया लिंक पढ़ें।

FAQ

क्या सिर्फ़ DNS बदलने से ब्लॉक साइट खुल जाएगी?

तभी, जब ब्लॉक सिर्फ़ DNS में हो। dig +short @1.1.1.1 blocked.example से असली IP मिले और curl -v --resolve से साइट खुल जाए, तो resolver बदलना या ब्राउज़र में DoH चालू करना काफ़ी है। अगर curl -v में Connected to के बाद Connection reset by peer आता है, तो SNI पढ़ा जा रहा है और DNS बदलने से कुछ नहीं होगा; ClientHello को सुरंग के अंदर छिपाने के लिए VPN चाहिए।

अपना VPN सर्वर होने से क्या मैं गुमनाम हो जाता हूँ?

नहीं। VPS का IP सिर्फ़ आप इस्तेमाल करते हैं, इसलिए हर साइट आपके सारे सेशन उसी पते से जोड़ सकती है, VPS का बिल आपके नाम पर है, और VPS प्रदाता को दिखता है कि आपका सर्वर किन पतों से कितना डेटा ले रहा है। अपना सर्वर ब्लॉक हटाता है और log आपके हाथ में देता है। गुमनामी का औज़ार Tor है, और उसका threat model अलग है।

भारत में VPN इस्तेमाल करना कानूनी है या नहीं?

सितंबर 2026 तक कानूनी है। 2022 के CERT-In निर्देश VPN कंपनियों पर लॉग रखने की शर्त लगाते हैं, उपयोगकर्ता पर कोई रोक नहीं है, और इसी वजह से ज़्यादातर बड़ी कंपनियों ने भारत से सर्वर हटाकर बाहर से सेवा देना चुना। नया कानून चर्चा में है, इसलिए ताज़ा स्थिति देख लें। VPN से गैर-कानूनी काम कानूनी नहीं होता, और कैंपस या ऑफ़िस की नेटवर्क नीति अलग से लागू होती है।

VPN कनेक्ट है, फिर भी वही ब्लॉक नोटिस दिख रहा है। क्यों?

DNS सुरंग के बाहर जा रहा है। क्लाइंट config में DNS = लाइन न हो तो डिवाइस ISP के resolver से ही पूछता है, और ISP का गलत जवाब आपको नोटिस पेज पर भेज देता है, भले ही बाकी ट्रैफ़िक सुरंग से जा रहा हो। VPN चालू रखकर dig +short blocked.example चलाएँ; ISP वाला जवाब आए तो client config में DNS = लाइन जोड़ें: सर्वर पर resolver चल रहा हो तो DNS = 10.8.0.1, वरना कोई public resolver जैसे DNS = 9.9.9.9।

ब्लॉक साइट खोलने के लिए WireGuard चुनूँ या Outline?

घर के ब्रॉडबैंड पर WireGuard: तेज़, kernel में चलता है, config चालीस लाइन का। कैंपस या ऑफ़िस नेटवर्क पर, जहाँ UDP बंद हो या wg show में handshake कभी न आए, Outline: Shadowsocks पर बना है, TCP पर चलता है, और सामान्य एन्क्रिप्टेड ट्रैफ़िक जैसा दिखता है। दोनों एक ही VPS पर साथ चल सकते हैं, इसलिए पहले WireGuard बनाएँ और ब्लॉक होने पर Outline जोड़ें।