VPN कहता है कनेक्टेड है, पर कुछ रूट नहीं होता: देखने की दो जगहें
रूट चयन और रिज़ॉल्वर पंजीकरण अलग-अलग तरह से पुराने पड़ जाते हैं। पहले कर्नेल से पूछें, फिर हर लिंक के लिए रिज़ॉल्वर, और अंत में पैरेंट कनेक्शन जाँचें।
एक टनल कनेक्टेड होने की सूचना दे सकती है जबकि उस तक कुछ नहीं पहुँचता, और ये दो तथ्य अलग-अलग जगहों पर रहते हैं। एक है रूट तालिका, जो अब भी किसी ऐसे डिवाइस को पैकेट भेज सकती है जिसका कोई मालिक नहीं। दूसरा है रिज़ॉल्वर, जो अब भी किसी ऐसे लिंक पर सर्वर दर्ज कर सकता है जो जा चुका है। नेटवर्क बदलाव ने प्रोफ़ाइल को नुकसान नहीं पहुँचाया, उसने पिछले कनेक्शन की स्थिति को अनाथ कर दिया, और मरम्मत इस पर निर्भर है कि आप वास्तव में इन दोनों में से किसे देख रहे हैं।
पहले कर्नेल से पूछें कि वह कौन सा डिवाइस चुनेगा
रूट की सूची दिखाती है क्या मौजूद है; रूट की खोज दिखाती है क्या होगा। किसी सार्वजनिक पते के बारे में पूछें और जवाब में डिवाइस का नाम पढ़ें, क्योंकि वही एक फ़ील्ड तय करती है कि पैकेट किसी काम की जगह पहुँचेगा या नहीं। जब जवाब टनल डिवाइस का नाम लेता है, कर्नेल पैकेट उसी को सौंप देगा, चाहे उस इंटरफ़ेस के पीछे कोई क्लाइंट प्रक्रिया अब न चल रही हो। जब जवाब भौतिक अडैप्टर का नाम लेता है जबकि क्लाइंट कनेक्टेड होने का दावा करता है, तो टनल ऊपर है और बस चुना हुआ रास्ता नहीं है।
दूसरा मामला आम तौर पर तब होता है जब केबल वायरलेस की जगह लेता है, और वह खुद को खराब VPN के रूप में पेश करता है।
ip route show default
ip route get 203.0.113.9इसके बाद डिफ़ॉल्ट प्रविष्टियाँ पढ़ें, क्योंकि पिछले बेस कनेक्शन द्वारा जोड़ा गया रूट लिंक बदलाव से ज़्यादा जी सकता है और नए के आगे खड़ा हो सकता है। बंद डिवाइस से होकर जाने वाला डिफ़ॉल्ट रूट किसी भी डिफ़ॉल्ट रूट के न होने से बुरा है, क्योंकि कर्नेल अब भी उसे प्राथमिकता देता है। हर प्रविष्टि के बगल में मीट्रिक देखें, क्योंकि वही क्रम इंटरफ़ेस के नामों से जल्दी प्राथमिकता समझाता है।
फिर रिज़ॉल्वर हर लिंक के लिए पढ़ें, हर फ़ाइल के लिए नहीं
नाम विश्लेषण अपनी स्थिति और अपनी पुरानी होने की स्थिति साथ रखता है। रिज़ॉल्वर जो हर लिंक के लिए DNS सर्वर सूचीबद्ध करता है, ऐसे टनल लिंक के सर्वर रखे रहता है जो बंद है पर अब भी पंजीकृत है, और हर क्वेरी फिर ऐसे सर्वर का इंतज़ार करती है जो जवाब नहीं देगा। लक्षण ऐसा नेटवर्क है जो मृत महसूस होता है जबकि रूट तालिका बेदाग़ दिखती है।
स्थिति हर लिंक के लिए देखें, फ़ाइल नहीं, क्योंकि बहुत सारे वितरणों में वह फ़ाइल रिज़ॉल्वर की ओर एक सांकेतिक लिंक है और उसे संपादित करना या तो कुछ नहीं करता या जल्दी अधिलेखित हो जाता है। देखें कौन सा लिंक कौन से सर्वर और कौन सा खोज डोमेन रखता है, फिर पूछें कि क्या टनल लिंक को अब भी पंजीकृत होना चाहिए। अगर नहीं, तो उस कनेक्शन को निष्क्रिय करें जो उसका मालिक है, बजाय इसके कि बने हुए राज्य को हाथ से संपादित करें। ऐसा नाम जो हल हो जाए जबकि रूट की खोज पैकेट कहीं और भेज रही हो, तीसरा और अलग दोष है।
resolvectl status
resolvectl query app.internal.exampleअगर पते हल होते हैं और कनेक्शन विफल होते हैं, तो रिज़ॉल्वर ठीक है और रूट नहीं। अगर पते बिलकुल हल नहीं होते, तो शुरू करने की सही जगह यही है।
पुराना रूट बदलाव से कैसे बचता है
क्लाइंट अकेला नेटवर्क का मालिक नहीं होता। NetworkManager वाले होस्ट पर VPN प्रोफ़ाइल एक बेस कनेक्शन के ऊपर सक्रिय होती है, और कनेक्शन की सेटिंग्स उस बेस को वह VPN नाम देने देती हैं जिसे उसके पीछे चलना चाहिए। जब बेस इसलिए बदलता है कि कोई दूसरी प्रोफ़ाइल पसंदीदा हो जाती है, टनल नए बेस पर चली जाती है या बिना किसी बेस के रह जाती है।
VPN प्रोफ़ाइल खुद को ऊपर नहीं उठाती, इसलिए जोड़ीदारी प्रोफ़ाइल की अपनी स्वतः कनेक्ट वरीयता से कहीं ज़्यादा मायने रखती है।
सक्रिय सूची पढ़ें और टनल छूने से पहले नोट करें कि कौन सा बेस ऊपर है। अगर बेस सूची में है और टनल नहीं, तो रूट गायब है, पुराना नहीं, और मरम्मत सक्रिय करना है। अगर टनल सक्रिय करने पर शिकायत हो कि कोई स्रोत कनेक्शन नहीं है, तो जिस बेस के साथ उसकी जोड़ी थी वह जा चुका है, इसलिए पहले उसे ऊपर लाएँ या जोड़ीदारी ठीक करें, बजाय इसके कि टनल फिर आज़माएँ। ऐसी प्रोफ़ाइल को फिर आज़माना जिसका पैरेंट मौजूद न हो हर बार वही त्रुटि देता है, जो उपयोगी संकेत है, उपद्रव नहीं।
nmcli device status
nmcli connection show --active
nmcli connection up office-vpnपुरानी स्थिति को गायब पैरेंट से अलग पहचानें
तीन स्थितियाँ लगभग हर रिपोर्ट समझाती हैं, और हर एक को अलग मरम्मत चाहिए। ऐसे डिवाइस से होकर जाने वाला डिफ़ॉल्ट रूट जो अब भी मौजूद है पर टनल नहीं उठाता, पुरानी स्थिति है, जिसे प्रविष्टि हटाकर या ज़िम्मेदार प्रोफ़ाइल को फिर शुरू करके साफ़ किया जाता है। ऐसा टनल डिवाइस जिसकी क्लाइंट प्रक्रिया गायब हो गई हो, सफ़ाई की विफलता है, इसलिए ध्यान डिस्कनेक्ट के रास्ते को चाहिए, रूट तालिका को नहीं। टनल डिवाइस का बिलकुल न होना बताता है कि पैरेंट या जोड़ीदारी गायब है और रूट तालिका कभी शामिल ही नहीं थी।
फिर से शुरू करना छिपा देता है कि तीनों में से कौन सी स्थिति आपके पास थी, और यही वजह है कि वह मरम्मत जैसा लगता है।
मरम्मत के बाद कर्नेल से एक सार्वजनिक और एक आंतरिक पता माँगें, फिर कोई आंतरिक नाम खोजें। जब पता काम करे और नाम न, तो आपने रिज़ॉल्वर में डोमेन-सीमा की समस्या पाई है, रूटिंग की नहीं। लिख लें कि आपको कौन सी स्थिति मिली, क्योंकि अगला नेटवर्क बदलाव वही दोहराएगा जिसे आपने छोड़ दिया था।