Android की VPN स्क्रीन एक नाम, कुंजी आइकन और शायद हमेशा-चालू टॉगल वाली एक पंक्ति दिखाती है। यह शायद ही एंडपॉइंट, रूट नीति, DNS सर्वर या वे क्रेडेंशियल दिखाती है जो कनेक्शन को काम कराते हैं, क्योंकि ऐप-आधारित टनल में ये ऐप के होते हैं। व्यावहारिक नतीजा दार्शनिक नहीं, runbook का सवाल है: डाउनलोड की गई फ़ाइल संपादित करने या केंद्रीय प्रोफ़ाइल स्टोर खोजने से पहले पता करें कि कौन-सा घटक उस सेटिंग का मालिक है जिसे आप बदलना चाहते हैं।

पहले कनेक्शन का प्रकार पहचानें

उसी सेटिंग्स स्क्रीन पर कम से कम तीन व्यवस्थाएँ हैं। एक ऐप VpnService का उपयोग वर्चुअल इंटरफ़ेस बनाने और प्रोटोकॉल तथा निजी कॉन्फ़िगरेशन का मालिक होने के लिए कर सकता है, जिसमें दूरस्थ आउटलेट के बिना स्थानीय फ़िल्टरिंग ऐप भी शामिल है। Android API 30 से उपलब्ध Ikev2VpnProfile के माध्यम से प्लेटफ़ॉर्म IKEv2 प्रोफ़ाइल भी प्रदान कर सकता है, जहाँ प्लेटफ़ॉर्म प्रोफ़ाइल का अधिक हिस्सा रखता है। और प्रदाता ऐप अपनी सर्वर सूची दिखाकर सेटिंग्स भीतर ही जोड़ सकता है।

adb shell dumpsys connectivity | grep -i -A12 "VPN"
adb shell cmd connectivity list-owners 2>/dev/null || true

पहला कमांड सक्रिय VPN नेटवर्क और उसके लिंक गुण दिखाता है, जो लागू स्थिति है। यदि पंक्ति कोई ऐसा पैकेज बताती है जिसे आप पहचानते हैं, तो सिस्टम स्क्रीन के बजाय उसी ऐप के प्रोफ़ाइल दृश्य से शुरू करें।

मालिक और प्रोफ़ाइल का दायरा दर्ज करें

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

यह चरण सबसे आम बर्बाद घंटे को रोकता है, यानी ऐसी प्रोफ़ाइल संपादित करना जो जुड़ी हुई नहीं है। ऐप अक्सर कई प्रोफ़ाइल रखते हैं, और सक्रिय प्रोफ़ाइल ऐप का गुण है, Android पंक्ति का नहीं।

अनुरोधित, प्राप्त और लागू स्थिति की तुलना करें

ये तीन अलग चरण हैं, और इनके बीच का अंतर बताता है कि कौन-सा घटक ठीक करना है।

StageWhere to lookWhat it proves
RequestedThe app's profile editor or imported fileWhat the owner intends to use
ReceivedSanitized app log of server-supplied optionsWhat the peer actually pushed
AppliedLink properties and routes after connectWhat the device is really using

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

adb shell ip addr show tun0
adb shell ip route show table all | head -40

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

वह फ़ाइल संपादित करें जिसे मालिक वास्तव में पढ़ता है

आयातित OpenVPN प्रोफ़ाइल के लिए ऐप आमतौर पर अपनी प्रति रखता है। मूल रूप से डाउनलोड की गई फ़ाइल को बाद में संपादित करने से अगला कनेक्शन नहीं बदलता; ऐप के प्रलेखित एडिटर का उपयोग करें, या फिर से आयात करके पुष्टि करें कि अब कौन-सी प्रोफ़ाइल सक्रिय है। फ़ाइल बदलने और कॉन्फ़िगरेशन बदलने में यही अंतर है।

प्रदाता ऐप अक्सर उपयोगकर्ता-संपादनयोग्य फ़ाइल लिखने के बजाय सर्वर सूची से सेटिंग्स जोड़ते हैं। निर्यात बटन का न होना इस बात का प्रमाण नहीं कि VPN नकली है, और निर्यात की गई फ़ाइल डिवाइस से बंधी कुंजियाँ या नामांकन सामग्री छोड़ सकती है जिसकी दूसरे डिवाइस को आवश्यकता होगी। निर्यात और आयात को उनकी अपनी पूर्वशर्तों वाले अलग संचालन मानें।

रहस्य उजागर किए बिना सहायता नोट लिखें

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

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

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

संबंधित लेख