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

टनल गया, नीति नहीं

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

इसीलिए दोबारा इंस्टॉल करने से कभी-कभी कनेक्टिविटी लौट आती है: यह उस प्रक्रिया को फिर बनाता है जो अपनी ही नीति पलटना जानती है। जो क्लाइंट अपना स्विच सक्रिय रहते हटाया गया, उसने ऐसी स्थिति छोड़ी जिसे साफ़ करने वाला कोई नहीं बचा।

उन वस्तुओं को पढ़ें जिनका पैकेज ने कभी मालिकाना नहीं किया

बदलने से पहले स्थिति पढ़ें। डिवाइस, सक्रिय कनेक्शन और दोनों रूटिंग टेबल सूचीबद्ध करें, फिर ऐसा डमी डिवाइस खोजें जो खुद को जुड़ा बताता हो या उसकी ओर इशारा करता डिफ़ॉल्ट रूट खोजें। IPv4 और IPv6 अलग-अलग विफल होते हैं, इसलिए टूटे नाम रिज़ॉल्यूशन वाले पते पर काम करता ping मृत रूट से अलग वस्तु की ओर इशारा करता है। डिफ़ॉल्ट रूट पकड़े हुए डमी डिवाइस अकेले ही पूरी रुकावट समझा देता है।

nmcli device status
nmcli connection show --active
ip -4 route
ip -6 route

जो मिले उसे लिख लें, क्योंकि ठीक करने का तरीका एक ख़ास वस्तु हटाना है, सब कुछ रीसेट करना नहीं। इससे बड़ा कोई भी कदम दूसरी रुकावट का जोखिम लेता है। मरम्मत और अनुमान में यही फ़र्क है।

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

प्रोफ़ाइल हटाएँ, की-फ़ाइल नहीं

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

sudo nmcli connection delete pvpn-killswitch
sudo systemctl restart NetworkManager

अगर कोई डमी लिंक बचा रहे, तो वह लिंक भी हटाएँ, फिर पता और नाम अलग-अलग जाँचें। साफ़ रूटिंग के साथ विफल नाम DNS की ओर इशारा करता है, जबकि विफल पता रूट या फ़ायरवॉल की ओर।

दोहराने से पहले बूट-समय का हुक जाँचें

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

systemctl list-unit-files | grep -i vpn
grep -rl -i vpn /etc/systemd/system /etc/network/if-up.d

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

संबंधित लेख