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

चार प्रक्रियाएँ, लॉग के दो गंतव्य

कनेक्शन IPsec से शुरू होता है, जो इंस्टॉलेशन के अनुसार libreswan या strongSwan होता है। फिर L2TP डेमॉन, पारंपरिक रूप से xl2tpd और कुछ बिल्ड में kl2tpd, टनल चलाता है। अंत में pppd उसके अंदर प्रमाणीकरण और पता-निर्धारण संभालता है।

हेल्पर सेवा उन टुकड़ों को समन्वित करती है और अपनी प्रगति छापती है। IPsec डेमॉन और pppd आमतौर पर सिस्टम जर्नल के माध्यम से रिपोर्ट करते हैं, इसलिए टर्मिनल विफल होता कनेक्शन दिखाता है जबकि कारण उस फ़ाइल में है जिसे आपने नहीं खोला।

यह विभाजन यह भी समझाता है कि PSK त्रुटि और पासवर्ड त्रुटि डेस्कटॉप से एक जैसी क्यों दिखती हैं: दोनों एक सामान्य डिस्कनेक्ट पैदा करती हैं, और विफल चरण केवल प्रत्येक प्रक्रिया के आउटपुट में दिखता है। जर्नल का यहाँ महत्वपूर्ण होने का पूरा कारण यही है। डेस्कटॉप पर एक सामान्य संदेश, उसके पीछे चार संभावित लेखक।

एक प्रयास एकत्र करें, फिर क्रम पढ़ें

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

ये कमांड वर्तमान बूट के लिए भाग लेने वाली प्रक्रियाओं का चयन करते हैं, और अपने डिस्ट्रीब्यूशन पर प्लगइन का पथ सत्यापित करना उचित है:

journalctl -b --no-hostname _COMM=nm-l2tp-service _COMM=pluto _COMM=charon _COMM=xl2tpd _COMM=pppd
rpm -ql NetworkManager-l2tp 2>/dev/null | grep nm-l2tp-service

एक कॉल में दोहराए गए फ़ील्ड उन प्रक्रियाओं का संघ चुनते हैं, जो क्रम को समय के क्रम में रखता है। Debian-आधारित सिस्टम में समकक्ष क्वेरी dpkg -L है; बात यह है कि हाथ से चलाने से पहले यह पता लगाएँ कि हेल्पर वास्तव में कहाँ रहता है।

अगला कदम तीन शर्तें तय करती हैं

पहला विफल चरण पढ़ें, फिर उसी के अनुसार चुनें। यदि IPsec प्रस्ताव या सहकर्मी प्रमाणीकरण की विफलता बताता है, तो टनल कभी बना ही नहीं, और PPP पासवर्ड बदलने से मदद नहीं मिल सकती।

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

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

डिबग सेटिंग को छूने से पहले यह सत्यापित करना भी उचित है कि कौन-सा IPsec बैकएंड इंस्टॉल है। strongSwan के लिए लिखा गया लॉगिंग विकल्प तब कुछ नहीं करता जब libreswan चल रहा हो, और कनेक्शन उसी जगह विफल होता रहेगा जब तक आप ऐसी फ़ाइल संपादित करते हैं जिसे कोई नहीं पढ़ता।

डिबग मोड फ़ाइलें छोड़ जाता है

मूल डिबग वर्कफ़्लो सेवा को डिबग फ़्लैग के साथ हाथ से चलाता है, और वह मोड कनेक्शन समाप्त होने पर उत्पन्न रनटाइम कॉन्फ़िगरेशन फ़ाइलें वहीं छोड़ सकता है।

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

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

इसके बाद सामान्य हेल्पर बहाल करें

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

फिर परिणाम उस परत पर सत्यापित करें जो विफल हुई, डेस्कटॉप आइकन पर नहीं:

journalctl -b -u NetworkManager --since -10min | tail -30
ip -4 addr show ppp0
ip -4 route get 10.20.4.10

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

संबंधित लेख