आप VPN सूची खोलते हैं, दूसरी सहेजी गई प्रविष्टि चुनते हैं और साफ़ बदली की अपेक्षा करते हैं: नया एग्ज़िट पता और बाकी सब अपरिवर्तित। यही वह धारणा है जिसे पहले छोड़ना चाहिए। macOS पर सहेजा गया VPN कोई प्रीसेट नहीं बल्कि पूरी नेटवर्क सेवा है, इसलिए सेवा बदलने से रूटिंग, DNS और प्रमाणीकरण एक साथ बदल सकते हैं। मेन्यू बार बताता है कौन सी सेवा सक्रिय है; यह नहीं बताता कि नीचे की सुरंग आपके इरादे से मेल खाती है या नहीं।

सहेजी गई सूची प्रोफ़ाइल चयनकर्ता नहीं है

सिस्टम सेटिंग्स > नेटवर्क में हर प्रविष्टि अपनी अलग सेवा है, जिसका अपना सर्वर पता, खाता, प्रमाणीकरण विधि, DNS सर्वर और Send all traffic over VPN connection जैसे विकल्प हैं। पुराने संस्करणों में सिस्टम प्रेफ़रेंसेज़ यही सूची रखते हैं। दो प्रविष्टियाँ एक ही होस्टनेम की ओर इशारा कर सकती हैं और फिर भी अलग व्यवहार कर सकती हैं, क्योंकिप्रोटोकॉल या क्लाइंट एक्सटेंशन तय करता है कि सुरंग कैसे बनती है।

तृतीय-पक्ष क्लाइंट अलग सूचियाँ रखते हैं। Tunnelblick अपने फ़ोल्डर से कॉन्फ़िग पढ़ता है, WireGuard अपनी सुरंग सूची रखता है, और OpenVPN Connect प्रोफ़ाइल ऐप के भीतर संग्रहीत करता है। कुछ कॉन्फ़िग को सिस्टम में पंजीकृत करते हैं; अन्य सब कुछ ऐप के भीतर रखते हैं और अंतर्निहित सूची में कभी नहीं दिखते। इसलिए “सहेजे गए पर जाएँ” का अर्थ प्रोफ़ाइल किस ऐप का है, इसके अनुसार अलग क्रियाएँ है।

scutil --nc list सिस्टम कॉन्फ़िग में पंजीकृत VPN सेवाओं को उद्धरण चिह्नों में नामों के साथ छापता है। जब आप बदली को स्क्रिप्ट करें तो ठीक इन्हीं नामों का उपयोग करें, और यह न मानें कि सूची हर तृतीय-पक्ष सुरंग को कवर करती है।

बदली वास्तव में क्या बदलती है

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

What you assumeWhat the system does
Same server name means same tunnelProtocol, certificate and account are per service
All traffic follows the active VPNOnly when Send all traffic over VPN is on
DNS switches with the VPNOnly if that service defines DNS servers
Disconnect ends the connectionOn Demand or a management profile can reconnect
Open sessions survive the switchTCP sessions tied to the old address stall

DNS वाला हिस्सा लोगों को चौंकाता है। macOS रिज़ॉल्वर का क्रम बनाए रखता है, और scutil --dns दिखाता है कि कौन से रिज़ॉल्वर उपयोग में हैं और किस इंटरफ़ेस पर। बिना DNS सर्वर वाली VPN सेवा Wi-Fi रिज़ॉल्वर को उत्तर देने दे सकती है, इसलिए आपको पुराने DNS व्यवहार के साथ नया सार्वजनिक पता मिलता है और आप मान लेते हैं कि बदली आधी काम कर गई।

पुराना कॉन्फ़िग वापस क्यों आता है

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

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

सुरंग सत्यापित करें, टिक नहीं

सेटिंग्स छूने से पहले सिस्टम के अपने दृश्य से गुज़रें।scutil --nc status "Name" बताता है कि सिस्टम क्या मानता है;ifconfig दिखाता है किutun इंटरफ़ेस का पता है या नहीं;netstat -rn -f inet दिखाता है कि डिफ़ॉल्ट रूट कहाँ इशारा करता है;scutil --dns दिखाता है कि वास्तव में कौन सा रिज़ॉल्वर उपयोग हो रहा है। फिर नया कनेक्शन खोलें और एग्ज़िट पता पुष्टि करें, क्योंकि पहले से साइन-इन पेज शायद अब भी पुरानी सुरंग से बँधा सॉकेट उपयोग कर रहा हो।

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

आश्चर्य से बचने वाला बदली क्रम

  1. वर्तमान सेवा और यह कि कोई प्रोफ़ाइल उसे प्रबंधित करता है या नहीं, नोट करें।
  2. जब दोनों सुरंगें साथ नहीं रह सकतीं तो पहले उसे डिस्कनेक्ट करें।
  3. लक्ष्य को कनेक्ट करें और Connecting नहीं, Connected की प्रतीक्षा करें।
  4. डिफ़ॉल्ट रूट, रिज़ॉल्वर सूची और नया एग्ज़िट पता जाँचें।
  5. लंबे सत्र रखने वाले ऐप पुनः आरंभ करें।

नई प्रविष्टि इन जाँचों को पार न कर ले तब तक पुरानी प्रविष्टि रखें, और हर प्रविष्टि को अलग नाम दें; एक जैसे लेबल अगली विफलता का श्रेय देना कठिन बनाते हैं। Apple की Mac सहायता मूल पक्ष का वर्णन यहाँ करती है:Mac पर VPN कनेक्शन सेट करना, जो प्रबंधित कॉन्फ़िग संपादित करने से पहले देखा जाने वाला संदर्भ है।

अगर चयन वापस लौटता है, तो पहले इसे नीति या On Demand मानें। पुष्टि करें कि कॉन्फ़िग किसका है और क्या वह स्वतः कनेक्ट के लिए सेट है, फिर तय करें कि आप सेवा बदल रहे हैं या प्रोफ़ाइल से लड़ रहे हैं।

संबंधित लेख