Tor में VPN, VPN में Tor: ज़ंजीर क्यों टूटती है
VPN, Tor और किसी अनुप्रयोग के प्रॉक्सी को एक के ऊपर एक रखने पर क्रम तय करता है कि क्या हल होगा और क्या ढोया जाएगा। तीनों बदलने से पहले पहली टूटी सीमा खोजिए।
VPN, Tor और किसी अनुप्रयोग के प्रॉक्सी को एक के ऊपर एक रखना गोपनीयता बढ़ाने जैसा लगता है, और असल में यह उन जगहों की संख्या बढ़ा देता है जहाँ कनेक्शन मर सकता है। आम नतीजा यह होता है कि ब्राउज़र घूमता रहता है जबकि तीनों औज़ार खुद को ठीक बताते हैं। तीनों सेटिंग एक साथ बदलने पर यह भी पता नहीं चलता कि कौन झूठ बोल रहा है।
पहले इच्छित रास्ता क्रम में बनाइए, और लिखिए कि कौन-सा प्रोग्राम कौन-सा कनेक्शन खोलता है और हर चरण पर कौन-सा नाम हल होता है।
परतें जुड़ती नहीं, एक-दूसरे पर असर डालती हैं
Tor से पहले VPN होने का मतलब है कि Tor क्लाइंट का प्रवेश कनेक्शन सुरंग के अंदर से जाता है। Tor के ज़रिए ले जाया गया VPN मतलब VPN क्लाइंट का अपना एंडपॉइंट Tor से पहुँचने योग्य होना चाहिए, जो बिल्कुल अलग शर्त है। ब्राउज़र का प्रॉक्सी एक और हॉप जोड़ता है जिसके बारे में ऑपरेटिंग सिस्टम को कुछ नहीं पता। तीन व्यवस्थाएँ, तीन अलग निर्भरता सूचियाँ।
हर व्यवस्था बदलती है कि क्या हल हो सकता है, क्या ले जाया जा सकता है, और पहला पैकेट कौन देखता है। इनमें से सिर्फ़ एक ही वह कॉन्फ़िगरेशन हो सकती है जो आपका इरादा था।
सीधा रास्ता भी आरेख में जोड़िए। फ़ॉलबैक रूट, स्प्लिट-टनल अपवाद या प्रॉक्सी बायपास पेज लोड करा सकते हैं जबकि वह ज़ंजीर चुपचाप छूट जाती है जिसे आप जाँचना चाहते थे, और ऐसी सफलता विफलता से ज़्यादा भ्रमित करती है।
क्रम तय करता है कि क्या ले जाया जा सकता है
Tor अपने SOCKS इंटरफ़ेस से TCP स्ट्रीम ले जाता है, और जो क्लाइंट प्रॉक्सी से होस्टनाम हल करने को कहता है वह खोज को सर्किट के अंदर ही रखता है। सामान्य कॉन्फ़िगरेशन में UDP इस तरह नहीं जाता, इसलिए बीच में अतिरिक्त TCP रिले के बिना WireGuard सुरंग को Tor के अंदर नहीं रखा जा सकता।
OpenVPN को TCP पर मजबूर किया जा सकता है, इसलिए वह व्यवस्था कम से कम बताई जा सकती है। वह धीमी और ज़्यादा नाज़ुक भी है, और टूटने पर उसका विफलता-रूप बंद पोर्ट जैसा ही दिखता है। इन दोनों को अलग पहचानने में किसी एक को ठीक करने से ज़्यादा समय लगेगा, ऐसी अपेक्षा रखिए।
हल करना दूसरा आधा हिस्सा है। --socks5-hostname के साथ प्रॉक्सी गंतव्य हल करता है, जबकि सादा --socks5 पहले स्थानीय रिज़ॉल्वर से पूछता है और नाम को सर्किट के बाहर लीक कर देता है। यही एक फ़्लैग तय करता है कि नाम की खोज ज़ंजीर का हिस्सा है या आपके ISP का।
| Order | What must resolve the endpoint | What usually breaks |
|---|---|---|
| VPN, then Tor | The tunnel's resolver | Entry guards blocked by the VPN provider's filters |
| Tor, then VPN | The SOCKS proxy, remotely | UDP transports, which Tor does not carry |
| App proxy on top | The application itself | Proxy bypass rules and cached connections |
पहली टूटी सीमा का पता लगाना
चरणों को उसी क्रम में जाँचिए जिसमें पैकेट जाते हैं, हानिरहित अनुरोधों के साथ, और पहले विफल चरण पर रुक जाइए। लिखिए कि कौन-सी कमांड पहले चली, क्योंकि क्रम सबूत का हिस्सा है। दो कमांड मृत सर्किट और मृत एग्रेस को अलग करती हैं:
curl -s --socks5-hostname 127.0.0.1:9050 https://check.torproject.org/api/ip curl -4 -s https://api.ipify.org; echo
पहली बताती है कि अनुरोध SOCKS प्रॉक्सी से पूरा होता है या नहीं, और दूसरी दिखाती है कि नेटवर्क इस समय कौन-सा पता प्रस्तुत कर रहा है। अगर पहली विफल हो और दूसरी सफल, तो समस्या Tor क्लाइंट पर या उससे पहले है। अगर दोनों सफल हों और ब्राउज़र फिर भी विफल हो, तो अनुप्रयोग शेल से अलग रास्ता इस्तेमाल कर रहा है।
सार्वजनिक IP वाला पेज भी सिर्फ़ आख़िरी दिखाई देने वाले एग्रेस का वर्णन करता है। वह नहीं बता सकता कि उससे पहले कितने हॉप थे, इसलिए एक अंक को आरेख मानने के बजाय उसे हर औज़ार के समर्थित स्टेटस आउटपुट के साथ मिलाइए।
परतें जोड़ना कब बंद करें
अगर आप एक वाक्य में नहीं बता सकते कि कोई परत क्या जोड़ती है, तो उसे हटा दीजिए। जिस ज़ंजीर का उद्देश्य साफ़ नहीं, वह ऐसी ज़ंजीर है जिसे रात तीन बजे कोई डीबग नहीं कर सकता, और बिना समझाए गए हॉप से मिलने वाला गोपनीयता-लाभ आम तौर पर उस उपलब्धता से कम होता है जो आप खोते हैं।
अगर कोई परत सचमुच अपनी जगह कमाती है, तो पहले उसे अकेले जाँचिए, फिर अगली जोड़िए और उन्हीं दो कमांडों से रास्ता फिर से पुष्टि कीजिए। सामान्य उपयोग से पहले पूरी ज़ंजीर बहाल कीजिए, और TLS सत्यापन व प्रमाणीकरण चालू रखिए; पेज लोड कराने के लिए स्वीकार किया गया प्रमाणपत्र चेतावनी राउटिंग का बचाव-रास्ता है, मरम्मत नहीं। जो क्रम आपने तय किया उसे ताज़ा रहते ही लिख लीजिए।
वह क्रम लिखिए, जिसमें हर चरण पर जवाब देने वाला रिज़ॉल्वर भी शामिल हो। जिस काम करने वाली ज़ंजीर को आप बता सकते हैं वह अगले अपडेट तक टिकती है, जबकि परखकर जोड़ी गई काम करने वाली ज़ंजीर उसके साथ ही गायब हो जाती है। तारीख़ और संस्करण जोड़िए, ताकि बाद की विफलता को याद से बहस करने के बजाय ज्ञात-अच्छी स्थिति से तुलना किया जा सके। टेक्स्ट फ़ाइल की दस पंक्तियाँ एक शाम की अटकल बचा देती हैं।