VPN चालू होने पर iPhone ऐप लोकल डिवाइस नहीं ढूँढ पाता
दो द्वार तय करते हैं कि iPhone ऐप VPN से प्रिंटर या टीवी तक पहुँचेगा या नहीं: लोकल नेटवर्क की अनुमति और खुद टनल के रूट। इन्हें क्रम से जाँचें।
आपका प्रिंटर ऐप खाली सूची दिखाता है, कैमरा ऐप बताता है कि कोई डिवाइस नहीं मिला, और किसी वीडियो ऐप में कास्ट बटन हार मानने तक घूमता रहता है। VPN आइकन स्टेटस बार में बैठा है, फ़ोन में पूरा सिग्नल है और Safari पेज सहज ही लोड करता है, यानी कनेक्शन में कुछ टूटा नहीं दिखता। फिर आप ऐप की अपनी सेटिंग्स खोलते हैं और बदलने के लिए कुछ नहीं पाते।
घरेलू नेटवर्क पर लेबल प्रिंटर के साथ मैं ठीक इसी दीवार से टकराया: ऐप को कभी लोकल नेटवर्क की अनुमति नहीं दी गई थी, और जिस प्रोफ़ाइल को मैं जाँच रहा था वह पूरा टनल था जो 192.168.1.0/24 पर भेजा गया हर पैकेट निगल जाता था। दो स्वतंत्र द्वार बंद थे, और एक खोलने से लक्षण नहीं जाता।
एक ऐप और एक प्रिंटर के बीच दो द्वार
पहला द्वार निजता का फ़ैसला है जो ऑपरेटिंग सिस्टम का है, ऐप का नहीं। iOS तय करता है कि कोई ऐप लोकल नेटवर्क के पतों पर ट्रैफ़िक भेज सकता है या नहीं, और ऐप की पहली कोशिश पर उपयोगकर्ता से पूछता है। दूसरा द्वार रूटिंग तालिका है। 192.168.1.50 की ओर भेजा गया पैकेट या Wi-Fi से प्रिंटर की ओर निकलता है, या टनल में घुसता है, और यह चुनाव VPN प्रोफ़ाइल में लिखा है।
दोनों द्वार अलग-अलग तरह से विफल होते हैं, और यही निदान को संभव बनाता है। ठुकराई गई अनुमति ऐप की अपनी socket कॉल को मार देती है, इसलिए ऐप के पास बताने को कुछ नहीं रहता और वह सामान्य खाली स्थिति में गिर जाता है। रूटिंग की समस्या टाइमआउट जैसी दिखती है, क्योंकि पैकेट फ़ोन छोड़कर दूसरी तरफ़ कहीं मर गए। वही खाली स्क्रीन, अलग मरम्मत।
VPN छूने से पहले अनुमति की स्थिति पढ़ें
सेटिंग्स, फिर निजता और सुरक्षा, फिर लोकल नेटवर्क खोलें। जिस भी ऐप ने पहुँच माँगी है वह वहाँ एक स्विच के साथ दिखता है। Apple ने इस स्क्रीन के हिस्सों को iOS 14 से iOS 18 के बीच खिसकाया और नाम बदले हैं, इसलिए अगर प्रविष्टि वहाँ नहीं है जहाँ आप उम्मीद करते हैं, पेड़ छानने के बजाय सेटिंग्स के खोज फ़ील्ड में लोकल नेटवर्क लिखें।
लोगों को सबसे ज़्यादा एक बार वाला अनुरोध पकड़ता है। iOS तब पूछता है जब कोई ऐप पहली बार लोकल नेटवर्क को छूता है, और सिर्फ़ तभी। अनुमति न दें दबाएँ और अगली बार खोलने पर अनुरोध वापस नहीं आता; स्विच ही लौटने का एकमात्र रास्ता है, और वह शुरू में बंद होता है। ऐप दोबारा इंस्टॉल करने से फ़ैसला रीसेट हो जाता है, इसलिए कुछ ट्रबलशूटिंग थ्रेड दावा करते हैं कि दोबारा इंस्टॉल ने खोज ठीक कर दी। ठीक भी की, इनकार मिटाकर।
निगरानी वाले या प्रबंधित iPhone पर स्विच कभी-कभी धूसर होता है। MDM की भेजी निजता प्राथमिकताओं की पेलोड लोकल नेटवर्क की पहुँच पहले से तय या लॉक कर सकती है, और लॉक किया हुआ बंद स्विच मतलब मरम्मत नीति का बदलाव है, फ़ोन का बदलाव नहीं। Apple यहाँ अनुरोध और प्रति-ऐप स्विच का दस्तावेज़ देता है: support.apple.com/en-us/102229।
जाँचें कि टनल असल में क्या रूट करता है
पूरा टनल 0.0.0.0/0 ले लेता है और उसके साथ हर निजी रेंज भी। 10.x, 172.16.0.0/12 और 192.168.x.x के पैकेट सर्वर तक जाते हैं, जो आमतौर पर उन्हें गिरा देता है या अपने सबनेट में बदल देता है, इसलिए अनुमति देने के बाद भी प्रिंटर नहीं पहुँचता। स्प्लिट टनल उलटा करता है, लेकिन सिर्फ़ उन रेंजों के लिए जो प्रोफ़ाइल में सूचीबद्ध हैं।
Apple Configurator से बने या .mobileconfig के रूप में बाँटे गए IKEv2 प्रोफ़ाइल इसे सारा ट्रैफ़िक भेजने की सेटिंग और स्प्लिट होने पर बाहर रखने वाले लोकल नेटवर्क की स्पष्ट सूची के रूप में व्यक्त करते हैं। NEPacketTunnelProvider पर बने क्लाइंट ऐप वही फ़ैसला includedRoutes के ज़रिए व्यक्त करते हैं। इनमें से कोई भी स्टेटस बार से दिखता नहीं, और दोनों उस चीज़ को ओवरराइड करते हैं जिसकी ऐप उम्मीद करता है।
यह वह परीक्षण है जो मैं इस्तेमाल करता हूँ। VPN जुड़ा होने पर Safari में राउटर का एडमिन पेज उसके LAN पते से खोलें। अगर सार्वजनिक साइटें लोड हों जबकि वह पेज टाइमआउट हो, तो आपकी निजी रेंज टनल के अंदर है। अगर पेज लोड हो, तो लोकल ट्रैफ़िक अब भी Wi-Fi से निकल रहा है और रुकावट कहीं और है।
लक्षण को द्वार से जोड़ें
एक ही फ़ोन पर दो ऐप असहमत हो सकते हैं, क्योंकि अनुमति प्रति ऐप मिलती है जबकि रूट प्रति प्रोफ़ाइल। कुछ बदलने से पहले तुलना करें कि क्या विफल होता है: आमतौर पर पैटर्न खुद ही द्वार का नाम ले लेता है।
| What you see | Gate | Next step |
|---|---|---|
| Device list stays empty, Local Network switch is off | Permission | Enable the switch, force-quit the app, reopen it |
| Switch is on, router page times out, public sites load | Routing | Exclude the local range in the profile, or move to a split tunnel |
| Both pass, direct IP works, discovery stays empty | Link-local multicast | Enter the device address by hand, or check profile discovery support |
| Works by IP address, never by name such as printer.local | Name resolution | Fix mDNS reachability or use the numeric address |
| Everything fails with the VPN off, on hotel Wi-Fi | Client isolation | Change network, do not change permissions |
mDNS पंक्ति एक टिप्पणी के योग्य है। Bonjour और ज़्यादातर कास्ट प्रोटोकॉल का खोज ट्रैफ़िक लिंक-लोकल दायरे के साथ 224.0.0.251 और ff02::fb पर मल्टीकास्ट जाता है, और रूट किया गया टनल उसे नहीं ढोता। इसीलिए कोई डिवाइस सीधे कनेक्शन का जवाब दे सकता है मगर कभी सूची में नहीं दिखता।
प्रक्रिया जाँचें, आइकन नहीं
लोकल नेटवर्क का स्विच बदलने के बाद ऐप को ऐप स्विचर से ज़बरदस्ती बंद करें और फिर से खोलें। चलती प्रक्रिया बदलाव से पहले की ठुकराई स्थिति थाम सकती है, और खाली सूची लौटाता रहने वाला ऐप एक जैसा दिखता है चाहे अनुमति काम करे या न करे। फिर एक ठोस काम करें, जैसे परीक्षण पेज प्रिंट करना या वीडियो शुरू करना, बजाय डिवाइस सूची भरने का इंतज़ार करने के।
तुलना के दौरान VPN प्रोफ़ाइल स्थिर रखें। अगर खोज सिर्फ़ डिस्कनेक्ट करने के बाद काम करने लगे, तो आपने जान लिया कि दोषी टनल है, अनुमति नहीं। हर कोशिश में एक चर बदलें, वरना अगली बार आपको कुछ नहीं बताएगी।
इसी क्रम में ठीक करें
नीचे दिया क्रम वही है जो मैं अब मानता हूँ, क्योंकि यह फ़ोन को कभी आधा बदली हालत में नहीं छोड़ता जहाँ अगला परीक्षण अपठनीय हो।
- पुष्टि करें कि ऐप निजता और सुरक्षा, लोकल नेटवर्क के नीचे सूचीबद्ध है और उसका स्विच चालू है।
- ज़बरदस्ती बंद करें, ऐप फिर से खोलें, और असली प्रक्रिया एक बार दोबारा आज़माएँ।
- जुड़े रहते हुए राउटर का पेज LAN पते से खोलें ताकि साबित हो कि निजी रेंज टनल में है या नहीं।
- अगर टनल में है, प्रोफ़ाइल बदलकर लोकल नेटवर्क बाहर करें, या प्रोफ़ाइल के मालिक से ऐसा करने को कहें।
- अगर स्विच धूसर है, डिवाइस को प्रबंधित मानें और अनुरोध व्यवस्थापक तक पहुँचाएँ।
आमतौर पर इनमें से सिर्फ़ एक लागू होता है। अगर कोई भी नतीजा न बदले, तो बचे हुए संदिग्ध खुद नेटवर्क हैं, जैसे एक्सेस पॉइंट अलगाव या Wi-Fi पतों से बँधी स्वीकृत क्लाइंट सूची, और ऊपर की मैपिंग तालिका बताती है कौन सा।