OpenVPN की दो लॉग पंक्तियाँ एक ही शब्दों से शुरू होती हैं, और उनमें से केवल एक किसी समस्या की सूचना देती है। Could not determine IPv4/IPv6 protocol. Using AF_INET एक फ़ॉलबैक सूचना है: प्रोफ़ाइल ने पता-परिवार खुला छोड़ दिया, इसलिए डेमॉन ने एक चुना और आगे बढ़ गया। विफलता की शाखा बताती है कि कोई सॉकेट नहीं बना और पुनः आरंभ माँगती है। साझा उपसर्ग के बाद का सब कुछ उन्हें अलग करता है, इसलिए कुछ भी बदलने से पहले उसके आगे पढ़ें।

फ़ॉलबैक सूचना क्या बताती है

OpenVPN proto udp4 या proto udp6 के ज़रिए स्पष्ट परिवार स्वीकार करता है, और जब परिवार स्टार्टअप पर निकालना हो तो proto udp स्वीकार करता है। दूसरे मामले में डेमॉन स्थानीय बाइंड जानकारी देखता है और चुनता है।

जब वह निष्कर्षण काम करता है, तो चेतावनी बताती है कि वह किस दिशा में गया और प्रक्रिया सॉकेट बनाने में आगे बढ़ती है। ड्यूअल-स्टैक होस्ट पर proto udp वाला सर्वर अक्सर इसी तरह IPv4 पर पहुँचता है। उस रास्ते में कुछ भी त्रुटि नहीं है, और उसमें कुछ भी हमले, अनुपस्थित वेब सर्वर या अस्वीकृत खाते का संकेत नहीं देता। पंक्ति केवल इसलिए उपयोगी है कि बाद की जाँचें उस परिवार से तुलना करें जिसका वह नाम लेती है।

इसे एक प्रश्न के उत्तर की तरह लें, निदान की तरह नहीं। यह बताती है कि इस प्रक्रिया ने कौन-सा परिवार चुना, और इस बारे में कुछ भी नहीं कि कोई क्लाइंट क्यों जुड़ नहीं पाता।

विफलता की शाखा कैसी दिखती है

बाद में उसी सॉकेट कोड में एक शाखा है जहाँ कोई सॉकेट ही नहीं है। वह छोटा पता-परिवार संदेश लॉग करती है और पुनः आरंभ माँगती है, क्योंकि आगे बढ़ने के लिए कुछ बचा नहीं है। शुरुआती शब्द फ़ॉलबैक से मेल खाते हैं; नतीजा नहीं।

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

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

चेतावनी के बजाय लिसनर जाँचें

चलता हुआ सर्वर लॉग टेक्स्ट से अनुमान लगाए बिना परिवार के प्रश्न का सीधा उत्तर देता है।

ss -lunp | grep openvpn
ss -ltnp | grep openvpn

परिवार, पता और पोर्ट को प्रोफ़ाइल से मिलाएँ। 0.0.0.0:1194 पंक्ति केवल IPv4 है, जबकि ड्यूअल-स्टैक होस्ट पर [::]:1194 पंक्ति bindv6only सेटिंग के आधार पर दोनों परिवार स्वीकार कर सकती है। यदि प्रोफ़ाइल udp कहती है और सॉकेट IPv4 है, तो जिनका रिज़ॉल्वर केवल AAAA रिकॉर्ड लौटाता है वे क्लाइंट टनल पर बातचीत होने से पहले ही विफल हो जाएँगे।

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

परिवार को बाध्य करना कब सही है

proto udp4 पिन करना केवल-IPv4 परिनियोजन के लिए उपयुक्त है: केवल A प्रकार का DNS नाम, एक v4 पते के लिए फ़ायरवॉल नियम, केवल v4 पते देने वाले ऑपरेटरों के पीछे के क्लाइंट। यह अस्पष्टता हटाता है और अगली लॉग पंक्तियों के समूह को पूर्वानुमेय बनाता है।

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

अंतिम बिंदुओं और उन तक पहुँचने वाले क्लाइंट के आधार पर चुनें। OpenVPN 2.6 मैनुअल परिवहन रूपों का दस्तावेज़ीकरण करता है, और संदेश उस चुनाव का आउटपुट है, उसका इनपुट नहीं।

रिकॉर्ड संकीर्ण रखें

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

इस चेतावनी के साथ आने वाले पैकेज सुझाव असंबंधित हैं जब तक कोई त्रुटि किसी अनुपस्थित निष्पादन योग्य फ़ाइल का नाम न ले।

यदि ifconfig वास्तव में अनुपस्थित है, तो स्क्रिप्ट द्वारा बुलाए जाने पर डेमॉन नाम लेकर यह बताता है, और यह अपनी अलग जाँच का हक़दार है। AF_INET पंक्ति और अनुपस्थित उपयोगिता अलग-अलग विफलताएँ हैं, और चेतावनी बदलती है या नहीं यह देखने के लिए चीज़ें स्थापित करना वही तरीका है जिससे साफ़ होस्ट गंदा हो जाता है।

संबंधित लेख