OpenVPN remote-random: मिला-जुला क्रम, एक ही टनल
remote-random कनेक्ट होते समय कॉन्फ़िगर किए गए remote का क्रम मिला देता है। यह हर अनुरोध पर आपका एग्ज़िट नहीं बदलता, पैकेट संतुलित नहीं करता और चालू टनल नहीं बदलता।
remote-random जोड़ने से प्रोफ़ाइल एक घूमता हुआ पूल बन जाती है और हर कनेक्शन अलग पते से निकलता है—यही धारणा है। दरअसल यह निर्देश क्या करता है: जब क्लाइंट कनेक्ट होना शुरू करता है तब remote की सूची को एक बार मिला देता है, और फिर उसी नए क्रम में उन्हें आज़माता है। अंत में जो टनल बनती है वह फिर भी एक ही एंडपॉइंट पर समाप्त होती है और सत्र के पूरे जीवनकाल तक वहीं रहती है।
यह अंतर परीक्षण और गोपनीयता के दावों, दोनों के लिए मायने रखता है।
कनेक्ट होते समय विकल्प क्या बदलता है
क्लाइंट प्रोफ़ाइल में कई remote पंक्तियाँ हो सकती हैं, हर एक का अपना होस्टनाम और पोर्ट। निर्देश के बिना उन्हें फ़ाइल के क्रम में आज़माया जाता है; उसके साथ सूची सत्र की शुरुआत में एक बार क्रमबद्ध हो जाती है और जो पहला पता जवाब देता है वही जीतता है। बाकी इस प्रयास के लिए विकल्प बने रहते हैं, समांतर रास्ते नहीं। केवल एक remote वाली प्रोफ़ाइल निर्देश को मिलाने के लिए कुछ नहीं देती, और यह देखने का सबसे तेज़ तरीका है कि इसका कोई महत्व हो सकता है या नहीं।
OpenVPN का मैनुअल इस विकल्प को कनेक्शन प्रयासों के क्रम को प्रभावित करने वाला बताता है, और व्यवहार में ठीक इतना ही विस्तार अपेक्षित है।
फिर से कनेक्ट होने पर चुनाव का नया चक्र शुरू होता है, इसलिए बाद का सत्र कहीं और पहुँच सकता है। चालू टनल खड़ी रहने तक हिलती नहीं।
भ्रम: हर अनुरोध को नया सर्वर मिलता है
स्थापित होने के बाद टनल उस सत्र का सारा ट्रैफ़िक चुने गए पीयर तक ले जाती है। हर अनुरोध पर दोबारा चुनाव नहीं होता, और यह निर्देश अलग-अलग कनेक्शन के लिए लोड बैलेंसर नहीं है: यह उम्मीदवारों को मिलाता है, पैकेट बाँटता नहीं। उस टनल को साझा करने वाला हर एप्लिकेशन वही पीयर साझा करता है। ब्राउज़र अपने एग्ज़िट के बारे में जो भी बताए वह सत्र का है, किसी एक अनुरोध का नहीं।
अगर किसी परीक्षण में दो अलग एग्ज़िट दिखें, तो एक चतुर विकल्प के बजाय दो अलग सत्र खोजें। यही अंतर यह भी समझाता है कि ब्राउज़र परीक्षण और डाउनलोड परीक्षण क्यों असहमत हो सकते हैं जब उनके बीच फिर से कनेक्ट हुआ हो।
remote-random-hostname किस लिए है
समान नाम वाला दूसरा निर्देश रिज़ॉल्यूशन के लिए इस्तेमाल होने वाला होस्टनाम बदलता है, remote सूची का क्रम नहीं। यह ऐसे परिनियोजनों के लिए है जहाँ कोई नाम round-robin DNS के ज़रिए कई पतों में हल होता है, और इसका उपयोग तभी करना चाहिए जब सेवा इसके लिए बनी हो। केवल रिज़ॉल्यूशन का चरण बदलता है; उम्मीदवार सूची का क्रम नहीं।
नाम संबंधित लगते हैं इसलिए इसे सक्षम करना आम गलती है। वाइल्डकार्ड प्रमाणपत्र या ऐसी DNS व्यवस्था जो बदले हुए नाम की अपेक्षा नहीं करती, सीधे हल नहीं होगी या सत्यापित नहीं होगी।
लॉग से चुना गया एंडपॉइंट पढ़ें
निष्कर्ष निकालने से पहले दर्ज करें कि सत्र ने वास्तव में कौन-सा पीयर इस्तेमाल किया। विस्तृत आउटपुट उस पते का नाम बताता है जिसे आज़माया जा रहा है, और प्रोफ़ाइल खुद दिखाती है कि कितने उम्मीदवार हैं। मिलान को दोष देने से पहले उस संख्या की तुलना लॉग के पते से करें।
grep -c '^remote ' client.ovpn openvpn --config client.ovpn --verb 4 2>&1 | grep -i -E 'attempting|peer connection' openvpn --help | grep -A2 remote-random head -20 client.ovpn
प्रदर्शन तुलना के लिए, दूसरे remote को टिप्पणी में डालकर एंडपॉइंट को स्थिर करें ताकि परीक्षण वाला चर रास्ता नहीं बल्कि प्रोटोकॉल या क्लाइंट हो। गोपनीयता के प्रश्न के लिए सेवा की पहचान और उसकी लॉगिंग का समग्र रूप से मूल्यांकन करें; मिली-जुली पहली पसंद कुकीज़ नहीं मिटाती, खाते में लॉगिन नहीं हटाती और दो ऑपरेटरों को समान नहीं बनाती।
भेजी गई ट्रस्ट सामग्री और समर्थित एंडपॉइंट सेट को साथ रखें। फिर से मिलान केवल उस क्रम को बदलता है जिसमें वह सेट आज़माया जाता है।