एयरप्लेन मोड में VPN Connecting पर अटका है: अपलिंक खोजें
एयरप्लेन मोड में Connecting पर रुका क्लाइंट शायद बस कोई अपलिंक नहीं रखता। रेडियो की स्थिति, एसोसिएशन, पोर्टल साइन-इन और ब्लॉकिंग नीति को अलग करें।
फ़ोन एयरप्लेन आइकन दिखाता है, VPN क्लाइंट दो मिनट से Connecting पर है, और प्रोफ़ाइल सही है। एक घंटे पहले यह उसी इमारत में काम कर रहा था। कुछ टूटा नहीं है: VPN एक कनेक्शन है जिसे कोई दूसरा नेटवर्क ढोता है, और एयरप्लेन मोड ने अभी उस नेटवर्क को हटा दिया जो उसे ढो रहा था। क्लाइंट बार-बार पुनःप्रयास करता रहता है, क्योंकि अपलिंक के बिना वह यही करता है।
उलझन यह है कि एयरप्लेन चिह्न आपको नहीं बताता कि Wi-Fi उपलब्ध है या नहीं, और Connecting नहीं बताता कि क्लाइंट प्रमाणीकरण कर रहा है या केवल प्रतीक्षा कर रहा है। इन दो पाठों को अलग करें और निदान एक मिनट ले लेगा।
एयरप्लेन चिह्न रेडियो की रिपोर्ट नहीं है
समर्थित Android डिवाइसों पर Wi-Fi और Bluetooth एयरप्लेन मोड में चालू रह सकते हैं, और डिवाइस आपकी पिछली बार की गई पसंद याद रखता है। Google की Pixel पर एयरप्लेन मोड संबंधी मार्गदर्शिका ठीक उसी व्यवहार का वर्णन करती है। इसलिए आइकन का अर्थ केवल यह हो सकता है कि सेलुलर बंद है, और कुछ नहीं।
ग्लिफ़ के बजाय वास्तविक स्थिति जाँचें। adb shell settings get global airplane_mode_on मोड के लिए ही 0 या 1 लौटाता है, और adb shell dumpsys connectivity डिवाइस के पास मौजूद नेटवर्कों को उनकी सत्यापन स्थिति के साथ सूचीबद्ध करता है। ये दोनों आउटपुट मिलकर उस प्रश्न का उत्तर देते हैं जो आइकन नहीं दे सकता।
अगर Wi-Fi बंद है, या चालू है पर किसी से जुड़ा नहीं है, तो VPN एंडपॉइंट तक कोई रास्ता नहीं है और कितने भी पुनःकनेक्शन उसे नहीं बनाएँगे। यही वह स्थिति है जिसे पहले बाहर करना चाहिए, क्योंकि यही एकमात्र स्थिति है जहाँ सही समाधान VPN ऐप के बाहर है।
Connecting का वास्तव में क्या अर्थ है
क्लाइंट सहेजी गई प्रोफ़ाइल रख सकता है, उसका नाम दिखा सकता है, और बिना किसी से संपर्क किए घूमता संकेतक दिखा सकता है। कॉन्फ़िगरेशन स्थानीय है। टनल बनाने के लिए पहुँच योग्य सर्वर, पूरा हुआ हैंडशेक और रूट करने के लिए एक इंटरफ़ेस चाहिए। केवल अंतिम भाग को काम करता नेटवर्क चाहिए, इसीलिए रेडियो बंद होने पर भी पहले दो सफल दिख सकते हैं।
इसलिए संकेतक कम से कम तीन अलग स्थितियों से मेल खाता है: कोई अपलिंक नहीं, ऐसा अपलिंक जो एंडपॉइंट तक नहीं पहुँच सकता, और ऐसा अपलिंक जो पहुँचता है पर प्रमाणीकरण में विफल हो जाता है। स्क्रीन पर वे एक जैसे दिखते हैं और लॉग में बिल्कुल अलग। इसीलिए इन सभी मामलों में पहला उपयोगी साक्ष्य लॉग है, एक और पुनःप्रयास नहीं।
Android का अपना VPN दस्तावेज़ीकरण कनेक्शन स्थापित करने और अलग ऑलवेज़-ऑन तथा ब्लॉकिंग नीतियों के बीच वही रेखा खींचता है। यही अलगाव कारण है कि फ़ोन ऑफ़लाइन रहते हुए सुरक्षित दिख सकता है और फिर भी उसके पास टनल नहीं होता।
अलग पहचानने योग्य चार स्थितियाँ
नीचे दी गई चार स्थितियाँ ही नाम देने योग्य हैं, क्योंकि स्क्रीन उन्हें एक जैसा दिखाती है।
| State | What you will see | What to do |
|---|---|---|
| Airplane mode, Wi-Fi off | No networks in dumpsys, VPN retries forever | Turn Wi-Fi on, or accept that the tunnel cannot exist |
| Wi-Fi on, not associated | Interface exists, no default network | Join the access point |
| Associated, not validated | Network listed, captive-portal flag set | Complete the portal sign-in, then reconnect |
| Validated, tunnel down | Internet works, VPN fails or blocks | Debug the tunnel, not the radio |
तीसरी पंक्ति होटलों और हवाई अड्डों में ज़्यादातर लोगों को फँसाती है। एसोसिएशन प्रवेश नहीं है: जिस पोर्टल ने फ़ोन को जाने नहीं दिया, वह Wi-Fi पासवर्ड खुशी से स्वीकार करेगा और फिर VPN एंडपॉइंट तक ट्रैफ़िक भेजने से मना कर देगा। टनल बंद रहते हुए पहले ब्राउज़र से साइन-इन करना आम तौर पर एकमात्र रास्ता है।
ब्लॉकिंग इसे और बुरा क्यों दिखाती है
अगर ऑलवेज़-ऑन VPN और VPN के बिना कनेक्शन ब्लॉक करें दोनों सक्षम हैं, तो टनल ऊपर न होने पर हर कवर किया गया ऐप ब्लॉक हो जाता है। यह सुविधा का काम करना है, दूसरी खराबी नहीं। लक्षण एक ऐप के विफल होने से सब कुछ विफल होने में बदल जाता है, जो बहुत बड़ी समस्या जैसा पढ़ा जाता है।
यह उस क्रम को भी समझाता है जिसे लोग गलत पढ़ते हैं: एयरप्लेन मोड चालू, कोई अपलिंक नहीं, ऐप ब्लॉक, VPN कहता है connecting। ब्लॉक नीति का अपना काम करना था। अपलिंक जाँचने के लिए नीति बंद करना वह सुरक्षा हटा देता है जो आप शायद चाहते थे, और आपको कुछ नहीं सिखाता।
इसके बजाय दायरा जाँचें। कौन से ऐप कवर हैं, कौन से बाहर, और प्रोफ़ाइल प्रति उपयोगकर्ता है या पूरे डिवाइस के लिए। Wi-Fi दिखते ही VPN ऐप शुरू करने वाला कार्य एक ट्रिगर है, यह गारंटी नहीं कि उसके चलने से पहले कोई पैकेट बाहर नहीं गया।
अटकलें समाप्त करने वाला निदान क्रम
नीचे से ऊपर काम करें। मोड की पुष्टि करें, नेटवर्क मौजूद है इसकी पुष्टि करें, यह सत्यापित है इसकी पुष्टि करें, यह स्थानीय सबनेट के बाहर किसी तक पहुँच सकता है इसकी पुष्टि करें, और तभी क्लाइंट की ओर देखें। adb shell ping -c 3 1.1.1.1 एक मोटा परीक्षण है, पर यह गुमशुदा रास्ते को उस रास्ते से अलग करता है जो टनल के असंतुष्ट रहते हुए भी मौजूद है।
अगर नेटवर्क सूचीबद्ध होते हुए ping विफल हो, तो समस्या VPN के ऊपर है और कोई क्लाइंट सेटिंग उसे ठीक नहीं करेगी। अगर ping सफल हो और टनल फिर भी न बने, तो उसी क्षण क्लाइंट का लॉग कैप्चर करें: त्रुटि समय-समाप्ति को प्रमाणीकरण अस्वीकृति से अलग करेगी, और इन दोनों में कुछ भी साझा नहीं है।
इच्छित स्थिति बहाल करके समाप्त करें: अगर यही आपका सामान्य सेटअप है तो एयरप्लेन मोड में Wi-Fi की अनुमति, पोर्टल पूरा, और ब्लॉकिंग नीति फिर से चालू। फिर एक बार पुनःकनेक्ट करें और पुष्टि करें कि टनल अपने आप ऊपर आता है, क्योंकि जो कॉन्फ़िगरेशन केवल हाथ से किए गए प्रयासों के बाद काम करता है वह अगले बूट पर फिर विफल होगा।