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

दो प्रोग्राम, दो ज़िम्मेदारियाँ

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

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

वह सहायक खोजें जो चल रहा क्लाइंट इस्तेमाल करता है

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

openconnect --version
ps -o args= -C openconnect
dpkg -L openconnect | grep -i script
ls -l /etc/vpnc/ 2>/dev/null

अगर प्रक्रिया की पंक्ति में --script तर्क हो, तो वह फ़ाइल कंपाइल किए गए डिफ़ॉल्ट पर भारी पड़ती है। पुराने पथ जैसे /etc/vpnc/vpnc-script मौजूद हो सकते हैं और फिर भी बिना इस्तेमाल के रह सकते हैं, इसलिए उन्हें मिटाना या बदलना नए बिल्ड पर कुछ नहीं बदलता। बदलाव की तारीख़ भी देखें, क्योंकि सालों से किसी ने जिस सहायक को नहीं छुआ वह मज़बूत संकेत है कि पैकेज वाला डिफ़ॉल्ट ही काम कर रहा है।

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

आख़िरी चेतावनी नहीं, पहली असफल क्रिया पढ़ें

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

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

कनेक्शन, पुनःकनेक्शन और डिस्कनेक्ट जाँचें

सेटअप अनुबंध का आधा हिस्सा भर है, क्योंकि टनल बंद होने पर वही सहायक अपनी रखी स्थिति बहाल या हटानी ही होगी। जो सहायक रूट जोड़ता है और कभी हटाता नहीं वह मशीन को सत्र से ज़्यादा जीने वाला पुराना पथ छोड़ देता है।

ip -brief address show tun0
ip route get 10.24.8.15
resolvectl status tun0
journalctl -u NetworkManager -b --no-pager | grep -i -E 'vpnc|script'

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

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

संबंधित लेख