Mac पर VPN कॉन्फ़िगरेशन कैसे हटाएँ और क्या बचा रह जाता है
Mac पर VPN सेवा हटाने से केवल एक नेटवर्क सेवा मिटती है। ऐप, नेटवर्क एक्सटेंशन, कीचेन आइटम और प्रबंधित प्रोफ़ाइल बच सकते हैं।
macOS पर VPN हटाना एक क्रिया जैसा दिखता है और वास्तव में कम से कम चार है। सिस्टम सेटिंग्स का बटन सिस्टम कॉन्फ़िगरेशन स्टोर से एक नेटवर्क सेवा मिटाता है। यह क्लाइंट ऐप, उस ऐप द्वारा इंस्टॉल किया गया नेटवर्क एक्सटेंशन, आपकी कीचेन में बैठा क्रेडेंशियल या डिवाइस प्रबंधन द्वारा भेजी गई प्रोफ़ाइल को नहीं मिटाता। यह जानना कि कौन-सा ऑब्जेक्ट किस लक्षण का मालिक है, वही चीज़ है जो हटाए गए VPN को चुपचाप लौटने से रोकती है।
कॉन्फ़िगरेशन हटाएँ वाला बटन असल में क्या मिटाता है
आप जो भी VPN जोड़ते हैं वह एक नेटवर्क सेवा बन जाता है, वही प्रकार का ऑब्जेक्ट जो Wi-Fi या Thunderbolt Bridge है। macOS उन सभी को यहाँ रखता है: /Library/Preferences/SystemConfiguration/preferences.plist में, हर एक के साथ एक सर्विस ID, एक प्रदर्शित नाम और एक कॉन्फ़िगरेशन डिक्शनरी जो टनल का प्रकार, सर्वर का पता और टनल कैसे शुरू होता है, बताती है।
जब आप सिस्टम सेटिंग्स और VPN खोलते हैं, किसी सेवा के बगल में सूचना बटन दबाते हैं, कॉन्फ़िगरेशन हटाएँ चुनते हैं और पुष्टि करते हैं, तो macOS टनल रोकता है, उस सेवा ऑब्जेक्ट को मिटाता है और स्टोर को फिर से लिखता है। जो सिस्टम का है उसके लिए यह ध्वस्तीकरण पूरा है: सेवा सूची से गायब है और लॉगिन पर उसे कुछ भी शुरू नहीं करता।
बटन जिस तक नहीं पहुँच सकता वह वह सब है जिसका मालिक कोई दूसरा सबसिस्टम है। ऐप बंडल यहाँ रहता है: /Applications। NetworkExtension क्लाइंट एक सिस्टम एक्सटेंशन के रूप में चलता है जो उसके कॉन्फ़िगरेशन से अलग पंजीकृत होता है। क्रेडेंशियल कीचेन आइटम हैं जिन पर उसी कीचेन के एक्सेस नियंत्रण होते हैं जो उन्हें रखता है। कॉन्फ़िगरेशन प्रोफ़ाइल प्रोफ़ाइल सिस्टम की है। सेवा हटाएँ और चारों ठीक वहीं रह जाते हैं जहाँ थे।
सूची बनाएँ कि Mac अभी भी क्या इंस्टॉल मानता है
कुछ भी मिटाने से पहले सूची बनाएँ। तीन कमांड उन तीन परतों को ढकते हैं जो एक ही दृश्य विफलता पैदा करती हैं:
scutil --nc list
networksetup -listallnetworkservices
profiles -Pscutil --nc list VPN कॉन्फ़िगरेशन का आधिकारिक दृश्य है, जिसमें कनेक्शन स्थिति, सेवा का नाम और सर्विस ID है। यह अक्सर ऐसी प्रविष्टियाँ दिखाता है जो सेटिंग्स की सूची में कभी नहीं आतीं: महीनों पहले अनइंस्टॉल किए गए क्लाइंट की बची हुई सेवाएँ, और चुपचाप शुरू होने वाले ऑन-डिमांड कॉन्फ़िगरेशन। networksetup -listallnetworkservices नेटवर्क सेवाओं को उन नामों से दिखाता है जिनकी कमांड-लाइन टूल अपेक्षा करते हैं, और नाम से हटाने के लिए आपको वही चाहिए। profiles -P इंस्टॉल किए गए कॉन्फ़िगरेशन प्रोफ़ाइल की सूची बनाता है; किसी प्रबंधित Mac पर VPN शायद आपकी जोड़ी हुई सेवा न हो, बल्कि उन प्रोफ़ाइल में से किसी के अंदर का पेलोड हो।
पहली पर भरोसा करने के बजाय सूचियों को साथ पढ़ें। scutil में होना लेकिन सेटिंग्स में न होना आम तौर पर इसका मतलब है कि कोई तीसरे पक्ष का क्लाइंट टनल का मालिक है और उसे अपनी विंडो में दिखाता है। दोनों दृश्यों में होना लेकिन सेटिंग्स में धूसर होना नीति का मतलब है। मिटाने के बाद फिर से दिखने वाला नाम इसका मतलब है कि कोई चीज़ उसे फिर बनाती है, और वही चीज़ असली लक्ष्य है।
सेवा को उसके मालिक के रास्ते हटाएँ
जो सेवा आपने खुद जोड़ी है, उसके लिए दस्तावेज़ी रास्ते पर रहें: सिस्टम सेटिंग्स, VPN, सूचना बटन, कॉन्फ़िगरेशन हटाएँ। Apple उस रास्ते का दस्तावेज़ीकरण करता है, और वह कॉन्फ़िगरेशन स्टोर को सुसंगत रखता है। हाथ से संपादित करना preferences.plist नेटवर्क स्टैक के चलते रहते हुए वही तरीका है जिससे आपको ऐसी डुप्लिकेट या ज़ॉम्बी सेवाएँ मिलती हैं जिन्हें कोई इंटरफ़ेस नहीं हटाता।
टर्मिनल से, सेवा को नाम से इससे हटाएँ: networksetup -removenetworkservice "Service Name", फिर इससे पुष्टि करें: scutil --nc list। कमांड उसी सेवा सूची पर काम करता है जिस पर इंटरफ़ेस, इसलिए networksetup -listallnetworkservices में न दिखने वाला नाम किसी भी रास्ते से नहीं हटेगा। जब क्लाइंट टनल का मालिक हो, तो पहले उस क्लाइंट का निकालने या अनइंस्टॉल करने का रास्ता इस्तेमाल करें, क्योंकि क्लाइंट अगली बार शुरू होने पर सेवा फिर बना देता है।
अगर VPN डिवाइस प्रबंधन से आया है, तो आप मालिक नहीं हैं। MDM द्वारा इंस्टॉल की गई प्रोफ़ाइल को हटाने योग्य नहीं चिह्नित किया जा सकता है, और हटाने योग्य प्रोफ़ाइल भी अगली जाँच पर फिर भेजी जा सकती है। इससे पुष्टि करें: profiles -P, फिर अपने संगठन की निकास प्रक्रिया अपनाएँ। पेलोड को स्थानीय रूप से मिटाना या तो विफल होता है या पुनः इंस्टॉल भड़का देता है।
वे अवशेष जो सेवा के बिना फिर जुड़ते हैं
आम «वह लौट आया» रिपोर्ट सेवा के लौटने की नहीं, बल्कि उस एक्सटेंशन की है जो उसका मालिक है। पंजीकृत सिस्टम एक्सटेंशन और नेटवर्क एक्सटेंशन प्रकार के ऐप एक्सटेंशन की सूची बनाएँ:
systemextensionsctl list
pluginkit -m -p com.apple.networkextension.packet-tunnelNetworkExtension क्लाइंट अपने टनल प्रदाता को अपनी ही पहचान के अंतर्गत इंस्टॉल रखता है, किसी भी कॉन्फ़िगरेशन से अलग। कॉन्फ़िगरेशन जाने के बाद भी एक्सटेंशन सक्रिय रह सकता है, और क्लाइंट का मेन्यू बार एजेंट अगली बार शुरू होने पर नया कॉन्फ़िगरेशन बना सकता है, कभी-कभी उसी नाम का फिर उपयोग करते हुए जिसे आपने अभी मिटाया। लॉगिन आइटम और विक्रेता का हेल्पर यहाँ जाँचें: /Library/LaunchDaemons इससे पहले कि आप निष्कर्ष निकालें कि हटाना विफल रहा।
क्रेडेंशियल दूसरा अवशेष हैं। लॉगिन कीचेन में सहेजा गया पासवर्ड या क्लाइंट प्रमाणपत्र सेवा के साथ नहीं मिटता, और IPSec का साझा रहस्य ऐतिहासिक रूप से सिस्टम कीचेन में रहता है, इसीलिए हटाकर फिर जोड़ने पर कभी-कभी पासवर्ड का संकेत छूट जाता है। अगर Mac आपके नियंत्रण से बाहर जा रहा है, तो Keychain Access में सेवा के नाम से आइटम खोजें और उस खाते, प्रमाणपत्र या पीयर कुंजी को रद्द करें जिसका प्रतिनिधित्व सहेजा गया क्रेडेंशियल करता है। A copied configuration file is a live credential even after local removal।
हटाना सत्यापित करें, और लौटती प्रोफ़ाइल को ठीक से पढ़ें
हटाना तब पूरा होता है जब सेवा दोनों दृश्यों से जा चुकी हो और रीस्टार्ट के बाद भी गई रहे। scutil --nc list में सर्विस ID जाँचें, scutil --dns से पुष्टि करें कि नाम रिज़ॉल्यूशन वही रिज़ॉल्वर इस्तेमाल करता है जिसकी आप अपेक्षा करते हैं, फिर एक बार रीबूट करें, क्योंकि ऑन-डिमांड नियम और लॉगिन एजेंट वे दो चीज़ें हैं जो केवल ताज़ा बूट पर ही दिखती हैं।
अगर वह अब भी वहाँ है, तो और ऑब्जेक्ट न मिटाएँ। पता करें कि किस परत ने उसे फिर बनाया: MDM प्रोफ़ाइल सेवा फिर भेजती है, क्लाइंट एजेंट उसे फिर बनाता है, या सेवा कभी हटी ही नहीं क्योंकि नाम मेल नहीं खाता था। वही उत्तर तय करता है कि आपको विक्रेता का अनइंस्टॉलर, अपनी IT टीम या उसी हटाने वाले संवाद से एक और दौर चाहिए। Apple की हटाने की मार्गदर्शिका आपकी जोड़ी हुई सेवाओं के समर्थित रास्ते को ढकती है; अवशेष वह हिस्सा हैं जो आपको खुद जाँचना है: remove a VPN configuration।