संबंधित गाइड
macOS की Network Extension मंज़ूरी क्या है
अपडेट किया गया
छोटा जवाब: यह बग नहीं है, यह macOS का सिस्टम-स्तर पर लगाया गया सुरक्षा चेकपॉइंट है। जो भी प्रोग्राम आपका नेटवर्क ट्रैफ़िक संभालना चाहता है (सिर्फ़ VPN नहीं, फ़ायरवॉल, ऐड ब्लॉकर और पैकेट-कैप्चर टूल भी), उसे सच में काम करने से पहले आपसे साफ़ तौर पर "अनुमति दें" (Allow) क्लिक करवाना पड़ता है; इंस्टॉल हो जाना और लॉग इन सफल होना काफ़ी नहीं है। हमारे तीन क्लाइंट (निजी नेटवर्क / Tailscale, Cisco Secure Client, Hiddify) macOS पर पहली बार कनेक्ट करते समय इस स्टेप पर पहुँचते हैं; OpenVPN Connect यह तरीक़ा इस्तेमाल नहीं करता और उसे ऐसी मंज़ूरी नहीं चाहिए। नीचे पहले यह कि यह चेकपॉइंट क्यों है, फिर दोनों सिस्टम वर्ज़न के लिए पूरे स्टेप।
"Network Extension" असल में क्या है
जो भी प्रोग्राम macOS पर वर्चुअल नेटवर्क एडैप्टर बनाकर सिस्टम का ट्रैफ़िक अपनी टनल से भेजना चाहता है, उसे यह क्षमता Apple के NetworkExtension फ़्रेमवर्क से माँगनी पड़ती है; Apple macOS 10.15 Catalina से यह नियम लागू करता है, और इसने पुराने, कहीं ज़्यादा अधिकार वाले kernel extensions (kexts) की जगह ली है।
इस फ़्रेमवर्क के दो हिस्से हैं: ऐप अपने साथ कोड का एक हिस्सा लाता है जो ऊँचे सिस्टम अधिकारों के साथ चलता है, और सिस्टम एक पुष्टि का संदेश दिखाता है; जब आप ख़ुद अनुमति दें (Allow) क्लिक करते हैं, तभी वह कोड लोड होकर ट्रैफ़िक संभालना शुरू करता है। यह स्टेप छोड़ दें तो एक्सटेंशन "pending" पड़ा रहता है, और इसीलिए क्लाइंट का आइकन हमेशा "connecting" दिखाता रहता है, कभी जुड़ता नहीं।
Apple इसे अलग से क्यों रोकता है
- जो चीज़ वर्चुअल एडैप्टर बनाकर ट्रैफ़िक संभाल सकती है, वह सिद्धांत रूप में आपका सारा बिना एन्क्रिप्शन वाला नेटवर्क डेटा देख सकती है और चुपचाप उसे कहीं और भेज सकती है; स्पाइवेयर को ठीक यही क्षमता सबसे ज़्यादा चाहिए। Apple ने इसे "इंस्टॉल होते ही चालू" से बदलकर "सिस्टम सेटिंग्स में हाथ से क्लिक ज़रूरी" इसीलिए किया ताकि आपकी जानकारी के बिना किसी को यह क्षमता न मिले।
- यह संदेश सिर्फ़ **पहली बार** आता है: एक बार किसी क्लाइंट को मंज़ूरी मिल गई, तो सामान्य कनेक्शन और रीबूट पर यह दोबारा नहीं आता। यह फिर आता है अगर आप सिस्टम दोबारा इंस्टॉल करें, क्लाइंट की नई कॉपी इंस्टॉल करें, या System Settings में ख़ुद मंज़ूरी बंद कर दें।
- तीनों क्लाइंट को यह गेट अलग-अलग पार करना पड़ता है; सिस्टम मंज़ूरी हर माँगने वाले प्रोग्राम के हिसाब से रखता है, कोई एक ग्लोबल स्विच नहीं है। यह फ़ालतू डिज़ाइन नहीं, जाँच का असली स्तर यही है।
macOS 15 Sequoia और उसके बाद
Sequoia में Apple ने "Login Items" और "Extensions" की मैनेजमेंट स्क्रीन को एक कर दिया। नेटवर्क एक्सटेंशन अब अलग-अलग लिस्ट होने की जगह इस नई स्क्रीन के कैटेगरी व्यू में मिलते हैं।
- सिस्टम सेटिंग्स (System Settings) → सामान्य (General) → लॉगिन आइटम और एक्सटेंशन (Login Items & Extensions) खोलें।
- नीचे "Extensions" सेक्शन तक स्क्रॉल करें और ऊपर दाईं ओर व्यू को डिफ़ॉल्ट से "By Category" पर बदलें; ऐसा न करें तो नेटवर्क एक्सटेंशन दर्जनों दूसरे सिस्टम एक्सटेंशन की लंबी लिस्ट में दब जाते हैं।
- व्यू "श्रेणी के अनुसार" (By Category) पर रखकर "नेटवर्क एक्सटेंशन" (Network Extensions) कैटेगरी ढूँढें और उसके बगल वाले ⓘ पर क्लिक करके खोलें।
- जो क्लाइंट आप इस्तेमाल कर रहे हैं (Tailscale / Cisco Secure Client / Hiddify) उसे ढूँढें और उसके बगल का टॉगल चालू करें।
- macOS आपका लॉग इन पासवर्ड या Touch ID से पुष्टि माँगेगा; इससे पक्का होता है कि मंज़ूरी मशीन के सामने बैठा व्यक्ति दे रहा है, क्लाइंट ख़ुद नहीं।
- पुष्टि होते ही टॉगल चालू हो जाता है। क्लाइंट पर वापस जाकर दोबारा कनेक्ट करें; इस बार टनल सामान्य रूप से बन जानी चाहिए।
macOS 13 Ventura / 14 Sonoma
इन दोनों वर्ज़न में पुराना रास्ता है; अलर्ट और System Settings के अंदर के शब्द Sequoia से अलग हैं। इनमें यह रास्ता अपनाएँ।
- क्लाइंट सामान्य तरीक़े से खोलें और एक बार Connect पर क्लिक करें; सिस्टम संदेश तभी दिखाता है जब असल में कनेक्ट करने की कोशिश हो, सिर्फ़ ऐप इंस्टॉल होने से नहीं।
- एक सिस्टम नोटिफ़िकेशन आता है, जिसका टाइटल कुछ ऐसा होता है: "System Extension Blocked"। इसे बंद करें या अनदेखा करें; अगला स्टेप है ख़ुद जाकर सेटिंग ढूँढना।
- सिस्टम सेटिंग्स (System Settings) → गोपनीयता और सुरक्षा (Privacy & Security) खोलें और नीचे स्क्रॉल करें (सबसे ऊपर नहीं, आमतौर पर पेज के बीच में कहीं), जब तक यह लाइन न दिखे: "System software from developer '<क्लाइंट के डेवलपर का नाम>' was blocked from loading"।
- उस लाइन के बगल में अनुमति दें (Allow) पर क्लिक करें; macOS पुष्टि के लिए आपका लॉग इन पासवर्ड माँगेगा।
- क्लाइंट पर वापस जाकर दोबारा कनेक्ट करें; इस बार टनल सामान्य रूप से बन जानी चाहिए।
कौन-सा डेवलपर नाम किस क्लाइंट का है
Ventura / Sonoma में "developer" के बाद कोट में जो नाम दिखता है, वह हर क्लाइंट के लिए अलग है; इसे उसी क्लाइंट से मिलाएँ जो आप सच में इंस्टॉल कर रहे हैं; नाम उम्मीद के मुताबिक़ न हो तो अनुमति दें (Allow) पर क्लिक न करें:
- निजी नेटवर्क (Tailscale): "Tailscale Inc." दिखता है, असली डिवाइस पर जाँचकर पक्का किया गया।
- Cisco (Cisco Secure Client): "Cisco Systems, Inc." दिखना चाहिए, यह भी अभी पक्का नहीं किया गया।
- Hiddify: "Hiddify Team" दिखना चाहिए, यह भी अभी पक्का नहीं किया गया।
ट्रबलशूटिंग
- "सिस्टम सेटिंग्स में जो लाइन दिखनी चाहिए, वह मुझे नहीं मिल रही": पक्का करें कि आपने ऊपर बताए तरीक़े से सच में क्लाइंट खोला और एक बार Connect क्लिक किया; यह लाइन तभी दिखती है जब सिस्टम को एक्सटेंशन से असली लोड रिक्वेस्ट मिले। ऐप इंस्टॉल है पर कभी खोला नहीं, तो यह लाइन नहीं आएगी।
- "ग़लती से अनुमति न दें (Don't Allow) दब गया / नोटिफ़िकेशन बंद कर दिया": कोई undo बटन ढूँढने की ज़रूरत नहीं, बस क्लाइंट पर जाकर फिर से Connect दबाएँ। सिस्टम वही संदेश फिर दिखाएगा और आप ऊपर के स्टेप कर सकते हैं; एक बार मना करने से हमेशा के लिए रास्ता बंद नहीं होता।
- "कंपनी के दिए Mac पर अनुमति दें (Allow) बटन धुँधला (greyed out) है": आमतौर पर यह MDM (डिवाइस मैनेजमेंट) पॉलिसी की वजह से सेटिंग लॉक होती है; सिर्फ़ IT एडमिनिस्ट्रेटर अपने कंसोल से मंज़ूरी दे सकता है। IT से कहें कि क्लाइंट को मंज़ूर सिस्टम एक्सटेंशन की लिस्ट में जोड़ दें।
- "तीन में से दो क्लाइंट इंस्टॉल किए, पर मंज़ूरी सिर्फ़ एक ने माँगी": दूसरा शायद अभी तक खोला और कनेक्ट नहीं किया गया; ऊपर का पहला पॉइंट देखें।
FAQ
क्या यह स्टेप आपने ख़ुद जोड़ा है?
नहीं। यह macOS 10.15 Catalina से macOS का बिल्ट-इन तरीक़ा है, जो नेटवर्क ट्रैफ़िक संभालने वाले हर प्रोग्राम पर लागू होता है, क्लाइंट चाहे किसी भी कंपनी का हो। Apple के अपने दस्तावेज़ों में इसे System Extensions के अंदर Network Extension कैटेगरी कहा गया है।
मंज़ूरी के बाद क्या यह सुरक्षित है? क्या इसका ग़लत इस्तेमाल हो सकता है?
नेटवर्क एक्सटेंशन पुराने kernel extensions से ज़्यादा पाबंद सैंडबॉक्स में चलते हैं, और macOS रिकॉर्ड रखता है कि किन प्रोग्राम के पास यह अनुमति है; पूरी लिस्ट आप कभी भी सिस्टम सेटिंग्स (System Settings) → गोपनीयता और सुरक्षा (Privacy & Security) → नेटवर्क (Network) में देख सकते हैं और किसी की भी अनुमति वापस ले सकते हैं। निजी नेटवर्क, OpenVPN और Cisco के क्लाइंट सभी कंपनी के साइन किए आधिकारिक सॉफ़्टवेयर हैं; Hiddify ओपन-सोर्स प्रोजेक्ट की बाइट-दर-बाइट कॉपी है; ज़्यादा जानकारी के लिए हर पेज पर डाउनलोड नोट देखें।
पहले ऐसा नहीं होता था, अब अचानक क्यों दिख रहा है?
सिस्टम अपग्रेड के बाद यह आम है: Sequoia पर अपडेट करने के बाद कभी-कभी पहले से इंस्टॉल क्लाइंट की मंज़ूरी अपने-आप साथ नहीं आती, और आपको ऊपर के Sequoia वाले स्टेप दोबारा करने पड़ते हैं। क्लाइंट या सिस्टम दोबारा इंस्टॉल करने पर भी ऐसा हो सकता है, क्योंकि इससे मंज़ूरी का रिकॉर्ड मिट जाता है।
क्या मुझे तीनों क्लाइंट इंस्टॉल करके मंज़ूरी देनी होगी?
नहीं, सिर्फ़ उसी को मंज़ूरी दें जो आप सच में इंस्टॉल करते हैं। अकाउंट सब पर चलता है; रोज़ के लिए जो सबसे आसान लगे वही चुनें, "कौन-सा कनेक्शन तरीक़ा किस हालात के लिए सही है" देखें।
क्या यह वही है जब macOS कहता है कि ऐप "damaged and can't be opened" है?
नहीं, हालाँकि दोनों एक के बाद एक आ सकते हैं। "Damaged" डाउनलोड किए इंस्टॉलर पर Gatekeeper की जाँच है; नेटवर्क एक्सटेंशन वाला संदेश एक अलग परत है जो ख़ास तौर पर यह तय करती है कि आपका नेटवर्क कौन संभाल सकता है। वजहें और हल अलग हैं; उसके लिए "एंटीवायरस क्लाइंट को पकड़े, या macOS कहे damaged" वाली गाइड देखें।