हर ऐप के लिए VPN या split tunnel? Mac का रूट क्या तय कर सकता है
रूट गंतव्यों को चुनता है, प्रक्रियाओं को नहीं। गंतव्य-आधारित split tunneling की तुलना प्रबंधित प्रति-ऐप VPN प्रोफ़ाइल और तीसरे रास्ते के रूप में स्थानीय प्रॉक्सी से करें।
दो ऐप एक ही ऑफ़िस सर्वर से कनेक्शन खोलते हैं, और उनमें से सिर्फ़ एक को टनल का इस्तेमाल करना चाहिए। रूट इस इच्छा को व्यक्त नहीं कर सकता, क्योंकि रूटिंग टेबल गंतव्यों पर आधारित होती हैं और उन्हें इस बात का कोई अंदाज़ा नहीं होता कि किस प्रक्रिया ने सॉकेट खोला। लोग जो माँगते हैं और जिनकी उन्हें ज़रूरत होती है, वे अक्सर अलग चीज़ें होती हैं। कोई भी कॉन्फ़िगरेशन बदलने से पहले दोनों को अलग करें।
चयनकर्ता गंतव्य है, कभी प्रक्रिया नहीं
हर रूटिंग फ़ैसला एक गंतव्य पते से शुरू होता है और एक इंटरफ़ेस पर ख़त्म होता है। कर्नेल कभी नहीं पूछता कि पैकेट किस प्रोग्राम ने भेजा, और macOS पर pf भी प्रक्रिया के हिसाब से रूट नहीं करता, इसलिए फ़ायरवॉल नियम किसी एक ऐप को दूसरे रास्ते पर नहीं डाल सकता। इसलिए वही सर्वर, चाहे ब्राउज़र से पहुँचा जाए या रिपोर्टिंग टूल से, दोनों के लिए एक ही रास्ता लेता है। इसलिए ऐप-स्तर पर अलगाव रूट के अलावा किसी और चीज़ से आना चाहिए: एक VPN प्लगइन जो सॉकेट का मालिक हो, एक प्रॉक्सी जो ऐप की ओर से कनेक्शन ले, या एक अलग नेटवर्क स्टैक। इनमें से कोई भी रूटिंग बदलाव नहीं है।
एक ही पते से बात करने वाले दो ऐप किसी डिज़ाइन की सबसे साफ़ परख हैं। अगर जवाब उन दोनों के बीच अलग नहीं हो सकता, तो डिज़ाइन गंतव्य-आधारित है, चाहे उसे कोई भी नाम दिया जाए।
आम split tunnel असल में क्या देता है
split tunnel निजी प्रीफ़िक्स के लिए रूट इंस्टॉल करता है और बाकी सब कुछ भौतिक रास्ते पर छोड़ देता है। आम तौर पर अनुरोध का मतलब यही होता है: ऑफ़िस सर्वर तक टनल से पहुँचना, सार्वजनिक ब्राउज़िंग को सीधा रखना। यह सरल है, हर आम क्लाइंट इसका समर्थन करता है, और यह किसी भी अन्य रूट की तरह उसी तंत्र से लागू होता है। ख़ास गंतव्य को route -n get से जाँचें, डिफ़ॉल्ट रूट पढ़ने के बजाय, क्योंकि split tunnel अक्सर डिफ़ॉल्ट रूट को अछूता छोड़ देता है।
डिफ़ॉल्ट रूट को हाथ से बदलना किसी चीज़ में तब्दीली नहीं है। यह क्लाइंट की अपनी रूट बहाली से लड़ता है और ऐसे क्लाइंट में जो सुरक्षा नीति इंस्टॉल करते हैं, मशीन को ऐसी हालत में छोड़ सकता है जिसकी न आप उम्मीद करते हैं न क्लाइंट। इसके बजाय split tunnel को क्लाइंट की समर्थित सेटिंग्स में कॉन्फ़िगर करें।
macOS पर प्रति-ऐप VPN क्या माँगता है
macOS पर असली प्रति-ऐप VPN एक Network Extension सुविधा है जिसे कॉन्फ़िगरेशन प्रोफ़ाइल चलाती है। एक प्रबंधन पेलोड चुने हुए ऐप को VPN कॉन्फ़िगरेशन से जोड़ता है, और सिस्टम फिर उन ऐप के ट्रैफ़िक को उसी हिसाब से रूट करता है। यह एक प्रबंधित परिनियोजन है, यानी MDM, हस्ताक्षरित प्रोफ़ाइल और एक ऐसा व्यवस्थापक जो दोनों का मालिक हो।
क्लाइंट को हाथ से इंस्टॉल करना वह जोड़ी नहीं बनाता, और आम सेटिंग्स पैनल ऐप को अलग-अलग चुनने योग्य नहीं बनाता। कोई विक्रेता अपने ऐप नियम दे सकता है, और वे सामान्य नियम के बजाय उसके दस्तावेज़ों का पालन करते हैं।
MDM के बिना ऐप-स्तरीय अलगाव के तीन रास्ते
जहाँ प्रबंधन उपलब्ध नहीं है, वहाँ प्रॉक्सी व्यावहारिक जवाब है। ऐप का अपना प्रॉक्सी कॉन्फ़िगरेशन सेट करें, या ऐसी PAC फ़ाइल इस्तेमाल करें जो सिर्फ़ उसी ऐप के लिए गंतव्य और प्रोटोकॉल के हिसाब से चुनती है।
स्थानीय प्रॉक्सी कनेक्शन ख़त्म करता है और उसे टनल से दोबारा बनाता है, इसलिए ऐप को कभी रूट की ज़रूरत नहीं होती। दूसरा विकल्प अलग नेटवर्क स्टैक है: अपने डिफ़ॉल्ट रूट वाली वर्चुअल मशीन या कंटेनर, जहाँ ऐप स्थानीय पते से पहुँचता है। तीसरा यह है कि गंतव्य-आधारित रूटिंग स्वीकार कर ली जाए और शर्त छोड़ दी जाए, जो तब ईमानदार है जब दोनों ऐप टनल का इस्तेमाल कर सकते हों। तीनों जाँचे जा सकते हैं, और इनमें से कोई यह दिखावा नहीं करता कि रूट प्रक्रियाओं को जानता है।
अनुरोध ऐसे लिखें कि जवाब साफ़ हो
तंत्र के बजाय कार्यप्रवाह बताएँ: किस ऐप को कौन सी सेवा चाहिए, क्या किसी दूसरे ऐप को उसी सेवा से दूर रखना है, और टनल बंद होने के दौरान क्या होना चाहिए। ये तीन जवाब डिज़ाइन चुनते हैं। वे व्यवस्थापक को यह भी बताते हैं कि अनुरोध रूटिंग बदलाव है या परिनियोजन परियोजना।
बहिष्कृत ऐप का मामला साफ़ तौर पर शामिल करें। जो क्लाइंट किसी ऐप को तब रोक देता है जब उसका सुरक्षित रास्ता उपलब्ध न हो, वह उस क्लाइंट से अलग बर्ताव करता है जो उसे भौतिक इंटरफ़ेस पर वापस गिरने देता है, और उपयोगकर्ता वह अंतर तुरंत भाँप लेते हैं। टिकट में अपेक्षा का नाम लिखें। फिर असली मशीन पर जाँचें, क्योंकि वही उत्पाद macOS पर अक्सर Windows से अलग बर्ताव करता है, और उसका macOS दस्तावेज़ ही इस बारे में भरोसेमंद स्रोत है कि उसकी सेटिंग्स क्या करती हैं।