क्लाइंट शुरू होने से इनकार करता है और शिकायत करता है कि वह स्थानीय पता बाइंड नहीं कर सकता, और स्पष्ट समाधान यह लगता है कि उसे उस टनल पते की ओर इंगित किया जाए जिसकी उसे अपेक्षा है। यह काम नहीं कर सकता, और कारण समझने योग्य है: टनल के अस्तित्व में आने से पहले कोई भीतरी पता नहीं होता, और सर्वर से संपर्क करने वाला सॉकेट पहले मौजूद होना चाहिए। इसमें दो अलग पते हैं, और उनमें से केवल एक ही स्थानीय रूप से चुना जा सकता है।

बाइंड त्रुटि एक स्थानीय पते का नाम लेती है

जब OpenVPN बताता है कि वह स्थानीय पता बाइंड नहीं कर सकता, तब वह ट्रांसपोर्ट सॉकेट की बात कर रहा है: वह UDP या TCP अंतिम बिंदु जो एन्क्रिप्टेड कनेक्शन को पीयर तक ले जाता है।

स्पष्ट local निर्देश डेमन से उस सॉकेट को किसी विशिष्ट स्थानीय पते पर बाइंड करने को कहता है। पता उस नेटवर्क नामस्थान में मौजूद होना चाहिए जहाँ प्रक्रिया चलती है, और क्लाइंट के शुरू होने के क्षण में वह आवंटन योग्य होना चाहिए।

राउटर या क्लाउड किनारे पर अनूदित सार्वजनिक पता वह स्थानीय पता नहीं है जिसे डेमन बाइंड कर सके, भले ही सर्वर वही पता देखता हो। यही अंतर समझाता है कि एक प्रोफ़ाइल घर पर क्यों काम करती है और क्लाउड इंस्टेंस पर क्यों विफल होती है। यह यह भी समझाता है कि सार्वजनिक पते को लूपबैक इंटरफ़ेस पर जोड़ने से मदद क्यों नहीं मिलती, क्योंकि तब ट्रांसपोर्ट ऐसे पते से निकलेगा जहाँ नेटवर्क वापस नहीं भेज सकता। प्रोफ़ाइल संपादित करने से पहले इंटरफ़ेस सूची पढ़ें।

local और remote वास्तव में क्या चुनते हैं

remote उस पीयर का नाम लेता है जिससे संपर्क करना है। local उसी सॉकेट के निकट सिरे को बाइंड करता है। nobind ऑपरेटिंग सिस्टम को स्थानीय पता और पोर्ट दोनों चुनने देता है, इसीलिए घरेलू राउटर के पीछे के क्लाइंट सामान्यतः दोनों में से किसी निर्देश के बिना काम करते हैं।

दोनों में से किसी निर्देश का टनल के अंदर के पते से कोई संबंध नहीं है।

कंटेनर या नेटवर्क नामस्थान में वही नियम अधिक सीमित परिधि के साथ लागू होता है: होस्ट के पते अंदर मौजूद नहीं होते, इसलिए होस्ट कॉन्फ़िगरेशन से कॉपी की गई local पंक्ति गलत पते से बिल्कुल अलग कारण से विफल होती है।

ip -brief address show
ip route get 203.0.113.10

भीतरी पता सर्वर से आता है

टनल के अंदर का पता नियंत्रण चैनल स्थापित होने के बाद तय या आवंटित किया जाता है। गतिशील पूल में सर्वर कनेक्शन के समय यह तय करता है, और क्लाइंट-विशिष्ट कॉन्फ़िगरेशन में यह प्रत्येक पहचान के लिए स्थिर हो सकता है।

भीतरी पते के साथ local लिखने से सर्वर से वह पता आवंटित करने को नहीं कहा जाता। सबसे अच्छी स्थिति में बाइंड विफल होता है; सबसे बुरी स्थिति में क्लाइंट उसी मान वाला कोई असंबंधित होस्ट पता पाता है और उसे ट्रांसपोर्ट के लिए उपयोग करने लगता है।

जो इंटरफ़ेस पढ़ने हैं वे भी अलग हैं। ifconfig पैरामीटर और पूल कॉन्फ़िगरेशन भीतरी हिस्से का वर्णन करते हैं, जबकि remote, local, proto और nobind बाहरी हिस्से का। दोनों सूचियों को अलग रखना फ़ोरम पर मिलने वाले लगभग हर भ्रमित करने वाले उदाहरण को समझा देता है। OpenVPN 2.6 मैनुअल इसी कारण उन्हें अलग अनुभागों में दस्तावेज़ करता है।

जाल: पूरी टनल जो अपना ही ट्रांसपोर्ट पकड़ लेती है

टनल के ऊपर उठने और डिफ़ॉल्ट मार्ग ले जाने के बाद, उसे बनाए रखने वाले पैकेट उसके अंदर रूट नहीं किए जाने चाहिए। यह रूटिंग की समस्या है, पते की नहीं, और डेमन इसे मूल गेटवे से होकर सर्वर के अपने पते तक अधिक विशिष्ट मार्ग स्थापित करके हल करता है।

यदि आप ट्रांसपोर्ट को किसी विशिष्ट स्थानीय पते पर पिन करते हैं और बाद में उस पते द्वारा उपयोग किया जाने वाला मार्ग बदलते हैं, तो बाहरी कनेक्शन रास्ता खो सकता है जबकि भीतरी हिस्सा कॉन्फ़िगर रहता है। टनल जुड़ा होने की रिपोर्ट देता रहता है क्योंकि भीतरी हिस्सा ठीक है। केवल ट्रांसपोर्ट टूटा है, और इसीलिए लॉग विरोधाभास की तरह पढ़े जाते हैं।

तब लक्षण ऐसी टनल जैसे दिखते हैं जो जुड़ती है और जम जाती है, या ऐसी जो बिना किसी उपयोगी त्रुटि के लूप में फिर से जुड़ती है। टनल के अंदर कुछ भी जाँचने से पहले पीयर के पते तक का मार्ग जाँचें, और पुष्टि करें कि आपने जो स्थानीय पता बाइंड किया वह अब भी उसी इंटरफ़ेस का है जिसकी अपेक्षा थी।

भ्रम रोकने की एक आदत

प्रोफ़ाइल के हर पते को पढ़ें और संपादित करने से पहले तय करें कि वह किस परत का है।

यदि वह ट्रांसपोर्ट के दूर वाले सिरे का नाम लेता है या उसके निकट सिरे को बाइंड करता है, तो वह बाहरी पता है और शुरू होने से पहले मौजूद होना चाहिए। यदि वह बताता है कि टनल के अंदर क्या होता है, तो वह सर्वर या टोपोलॉजी से आता है, और कोई स्थानीय निर्देश उसकी जगह नहीं ले सकता।

दोनों सूचियों को प्रोफ़ाइल के पास तैनाती नोट्स में लिखें। अगला समस्या-निवारण सत्र तब अनुमान के बजाय परत से शुरू होगा।

संबंधित लेख