पॉडकास्ट ट्रांसक्रिप्ट देखें
Ubiquiti UniFi के लिए Captive Portal — एक Purple तकनीकी ब्रीफिंग
[प्रस्तावना और संदर्भ — लगभग 1 मिनट]
Purple तकनीकी ब्रीफिंग श्रृंखला में आपका स्वागत है। मैं आपका होस्ट हूँ, और आज हम Ubiquiti UniFi इंफ्रास्ट्रक्चर पर एक बाहरी captive portal को तैनात करने के विवरणों को समझने जा रहे हैं — जो वैश्विक स्तर पर हॉस्पिटैलिटी, रिटेल और एंटरप्राइज परिवेशों में सबसे व्यापक रूप से तैनात नेटवर्क प्लेटफार्मों में से एक है।
यदि आप एक IT मैनेजर, नेटवर्क आर्किटेक्ट, या सिस्टम्स इंटीग्रेटर हैं जो UniFi Cloud Gateways, Dream Machines, या UniFi Network Application के साथ काम कर रहे हैं, तो यह एपिसोड आपके लिए है। हम ठीक से समझने जा रहे हैं कि बाहरी पोर्टल तंत्र पृष्ठभूमि में कैसे काम करता है, इसे सही तरीके से कैसे कॉन्फ़िगर किया जाए, सामान्य त्रुटियां कहां होती हैं, और बुनियादी स्पलैश पेज से अधिक की आवश्यकता वाले वेन्यू के लिए UniFi परिनियोजन के शीर्ष पर Purple को ओवरले करना सही आर्किटेक्चरल निर्णय क्यों है।
आइए इसे शुरू करते हैं।
[तकनीकी गहरा विश्लेषण — लगभग 5 मिनट]
सबसे पहले, आइए समझें कि वास्तव में क्या होता है जब कोई गेस्ट डिवाइस किसी ऐसे UniFi SSID से कनेक्ट होता है जिसमें captive portal सक्षम है।
जब एक गेस्ट डिवाइस आपके गेस्ट SSID से जुड़ता है, तो UniFi Access Point इसे सामान्य रूप से DHCP के माध्यम से एक IP एड्रेस असाइन करता है। लेकिन डिवाइस को तुरंत ही उस स्थिति में रख दिया जाता है जिसे UniFi "लंबित" (pending) स्थिति कहता है। इस स्थिति में, AP की अंतर्निहित DNSmasq प्रक्रिया डिवाइस द्वारा की जाने वाली प्रत्येक DNS क्वेरी को इंटरसेप्ट करती है, चाहे डिवाइस किसी भी DNS सर्वर का उपयोग कर रहा हो। AP सभी DNS ट्रैफ़िक को अपने पास रीडायरेक्ट करता है।
साथ ही, AP पोर्ट 80 पर एक हल्का HTTP रीडायरेक्टर चलाता है। जैसे ही गेस्ट का ब्राउज़र कोई HTTP अनुरोध करता है - और यह मुख्य शब्द है, HTTP, न कि HTTPS - रीडायरेक्टर 302 रीडायरेक्ट वापस भेजता है, जिससे ब्राउज़र captive portal स्पलैश पेज पर चला जाता है। यह वही तंत्र है जो iOS और Android डिवाइस पर "WiFi में साइन इन करें" नोटिफिकेशन को ट्रिगर करता है।
अब, यहीं पर अंतर्निहित पोर्टल बनाम बाहरी पोर्टल का अंतर महत्वपूर्ण हो जाता है। अंतर्निहित UniFi Hotspot Portal के साथ, स्पलैश पेज सीधे UniFi Network Application द्वारा परोसा जाता है। यह कार्यात्मक है, इसे सेट करना त्वरित है, लेकिन यह गंभीर रूप से सीमित है। आपको बुनियादी पासवर्ड प्रमाणीकरण, वाउचर और Stripe भुगतान मिलते हैं। इसमें कोई ईमेल कैप्चर, कोई सोशल लॉगिन, कोई GDPR सहमति प्रबंधन, कोई CRM एकीकरण और सेशन काउंट के अलावा कोई सार्थक एनालिटिक्स नहीं है।
जब आप एक External Portal Server को कॉन्फ़िगर करते हैं - जो कि वह सेटिंग है जिस पर हम आज ध्यान केंद्रित कर रहे हैं - तो आप UniFi कंट्रोलर को गेस्ट को पूरी तरह से अलग वेब एप्लिकेशन पर रीडायरेक्ट करने के लिए कह रहे हैं। हमारे मामले में, वह Purple है। External Portal Server फ़ील्ड में आपके द्वारा दर्ज किया जाने वाला URL उन सभी 302 रीडायरेक्ट के लिए गंतव्य बन जाता है।
उस रीडायरेक्ट URL के बारे में महत्वपूर्ण तकनीकी विवरण यहां दिया गया है। जब UniFi किसी गेस्ट को आपके बाहरी पोर्टल पर रीडायरेक्ट करता है, तो यह URL में कई क्वेरी पैरामीटर जोड़ता है। इनमें शामिल हैं: AP MAC एड्रेस, क्लाइंट डिवाइस MAC एड्रेस, एक Unix टाइमस्टैम्प, मूल URL जिसे क्लाइंट एक्सेस करने का प्रयास कर रहा था, और SSID नाम। आपका बाहरी पोर्टल - इस संदर्भ में Purple - उन पैरामीटर को कैप्चर करता है, उनका उपयोग कनेक्ट करने वाले डिवाइस की पहचान करने के लिए करता है, उपयुक्त स्प्लैश पेज प्रस्तुत करता है, प्रमाणीकरण को संभालता है, और फिर उस MAC एड्रेस को अधिकृत करने के लिए UniFi Network Application को वापस एक API कॉल करता है।
वह API कॉल सबसे महत्वपूर्ण हैंडशेक है। UniFi Network Application 9.1 और उसके बाद के संस्करणों में, उचित की-आधारित प्रमाणीकरण के साथ एक आधिकारिक REST API उपलब्ध है। ऑथराइजेशन एंडपॉइंट साइट्स API के वर्जन वन के लिए एक POST रिक्वेस्ट है, जो विशिष्ट क्लाइंट ID को टारगेट करता है, जिसमें एक JSON बॉडी होती है जो मिनटों में समय सीमा, मेगाबाइट में डेटा उपयोग सीमा और किलोबिट प्रति सेकंड में दर सीमा निर्दिष्ट कर सकती है। जैसे ही कंट्रोलर को वह ऑथराइजेशन प्राप्त होता है, यह निर्देश को AP पर भेज देता है, और गेस्ट लंबित से अधिकृत स्थिति में आ जाता है। इंटरनेट एक्सेस प्रदान कर दिया जाता है।
अब बात करते हैं Walled Garden के बारे में, जिसे UniFi प्री-ऑथराइजेशन एक्सेस कहता है। यह उन डोमेन और IP एड्रेस की व्हाइटलिस्ट है जिन तक गेस्ट प्रमाणित होने से पहले पहुंच सकते हैं। यह आवश्यक है, और यह गलत कॉन्फ़िगरेशन के सबसे आम कारणों में से एक है।
कम से कम, आपके walled garden में आपके Purple पोर्टल का पूरी तरह से योग्य डोमेन नाम और वे IP एड्रेस या CIDR रेंज शामिल होनी चाहिए जिन पर Purple का इंफ्रास्ट्रक्चर रिज़ॉल्व होता है। यदि आप सोशल लॉगिन - Facebook, Google, Microsoft - का उपयोग कर रहे हैं, तो आपको उन प्रदाताओं के लिए OAuth एंडपॉइंट डोमेन भी जोड़ने होंगे। Google के लॉगिन एंडपॉइंट कई IP रेंज और कई डोमेन में फैले हुए हैं जिनमें accounts.google.com और oauth2.googleapis.com शामिल हैं। Facebook के लॉगिन इंफ्रास्ट्रक्चर को भी इसी तरह कई प्रविष्टियों की आवश्यकता होती है। Purple का दस्तावेज़ आवश्यक सटीक प्रविष्टियों की एक अद्यतन सूची प्रदान करता है, और इस सूची को वर्तमान रखा जाता है क्योंकि वे प्रदाता अपने इंफ्रास्ट्रक्चर को अपडेट करते रहते हैं।
UniFi के लिए एक महत्वपूर्ण विशिष्ट समस्या है जो कई डिप्लॉयमेंट को प्रभावित करती है। AP पर HTTP रीडायरेक्टर केवल पोर्ट 80 पर सामान्य HTTP ट्रैफ़िक को इंटरसेप्ट करता है। आधुनिक डिवाइस - iOS, Android, Windows, macOS - सभी HTTPS-आधारित Captive Portal डिटेक्शन करते हैं। Apple डिवाइस HTTPS पर captive.apple.com पर जाते हैं। Android डिवाइस connectivitycheck.gstatic.com पर जाते हैं। यदि उन HTTPS अनुरोधों को एक विशिष्ट प्रतिक्रिया नहीं मिलती है, तो डिवाइस यह तय कर सकता है कि कोई Captive Portal नहीं है और केवल साइन-इन प्रॉम्प्ट दिखाने में विफल हो सकता है।
इसका समाधान यह सुनिश्चित करना है कि आपके walled garden में प्रमुख ऑपरेटिंग सिस्टम के लिए Captive Portal डिटेक्शन डोमेन शामिल हों, और आपका Purple पोर्टल एक वैध, विश्वसनीय SSL सर्टिफिकेट के साथ HTTPS पर सुलभ हो। स्व-हस्ताक्षरित सर्टिफिकेट के कारण ब्राउज़र सुरक्षा चेतावनियाँ आएंगी जो पोर्टल को लोड होने से रोक देंगी। प्रोडक्शन डिप्लॉयमेंट के लिए यह गैर-परक्राम्य है।दूसरा UniFi-विशिष्ट विचार controller accessibility है। UniFi Network Application — चाहे वह Cloud Gateway, Cloud Key, या self-hosted server पर चल रहा हो — API authorisation कॉल के सफल होने के लिए Purple के बुनियादी ढांचे से सुलभ होना चाहिए। यदि आपका controller NAT के पीछे एक निजी नेटवर्क पर है, तो आपको यह सुनिश्चित करना होगा कि प्रासंगिक API पोर्ट सुलभ हों। self-hosted controllers के लिए, यह आमतौर पर लीगेसी API के लिए पोर्ट 8443 होता है, या संस्करण 9.1 में पेश किए गए नए API के लिए मानक HTTPS पोर्ट 443 होता है। Purple के सहायता दस्तावेज़ उन सटीक IP श्रेणियों को निर्दिष्ट करते हैं जिन्हें आपके controller तक इनबाउंड एक्सेस की आवश्यकता होती है।
RADIUS-आधारित प्रमाणीकरण के लिए — जो तब प्रासंगिक होता है जब आप ओपन गेस्ट SSID मॉडल के बजाय WPA2-Enterprise या WPA3-Enterprise SSIDs के साथ Purple को तैनात कर रहे होते हैं — UniFi का अंतर्निहित RADIUS सर्वर मानक 802.1X EAP विधियों का समर्थन करता है। आप Settings, Networks, RADIUS Servers के अंतर्गत RADIUS प्रोफाइल को कॉन्फ़िगर करते हैं, और फिर अपने SSID कॉन्फ़िगरेशन में उस प्रोफाइल को संदर्भित करते हैं। UniFi संस्करण 8.4 के बाद से TLS पर RADIUS का भी समर्थन करता है, जिसे RADSEC के रूप में जाना जाता है, जो AP और प्रमाणीकरण सर्वर के बीच RADIUS ट्रैफ़िक को एन्क्रिप्ट करता है। बहु-साइट तैनाती के लिए जहां RADIUS ट्रैफ़िक सार्वजनिक इंटरनेट से होकर गुजरता है, RADSEC की दृढ़ता से सिफारिश की जाती है।
[कार्यान्वयन सिफारिशें और संभावित त्रुटियाँ - लगभग 2 मिनट]
मैं आपको व्यावहारिक कार्यान्वयन चेकलिस्ट प्रदान करता हूँ जो मैं UniFi पर Purple को तैनात करने वाले किसी भी क्लाइंट के साथ साझा करूँगा।
पहला, नेटवर्क विभाजन। आपका गेस्ट SSID एक समर्पित VLAN पर होना चाहिए, जो आपके कॉर्पोरेट और IoT नेटवर्क से अलग हो। UniFi इसे सीधा बनाता है - Settings, Networks में एक समर्पित नेटवर्क बनाएं, इसे एक VLAN ID असाइन करें, और अपने गेस्ट SSID को उस नेटवर्क के साथ संबद्ध करें। गेस्ट-टू-गेस्ट ट्रैफ़िक को रोकने के लिए गेस्ट नेटवर्क पर क्लाइंट अलगाव को सक्षम करें।
दूसरा, controller के पास एक वैध FQDN और एक विश्वसनीय SSL प्रमाणपत्र होना चाहिए। IP एड्रेस पर भरोसा न करें। एक उचित डोमेन नाम का उपयोग करें, उस पर Let's Encrypt या व्यावसायिक प्रमाणपत्र प्राप्त करें, और उस प्रमाणपत्र का उपयोग करने के लिए UniFi को कॉन्फ़िगर करें। यह अधिकांश HTTPS रीडायरेक्ट समस्याओं का समाधान करता है।
तीसरा, अपने walled garden को सावधानीपूर्वक बनाएं और उसका परीक्षण करें। न्यूनतम प्रविष्टियाँ हैं: आपका Purple पोर्टल डोमेन और उसकी IP श्रेणियां, iOS, Android, और Windows के लिए captive portal डिटेक्शन डोमेन, और आपके द्वारा उपयोग किए जा रहे कोई भी OAuth प्रदाता डोमेन। ऐसे डिवाइस के साथ परीक्षण करें जो पहले कभी नेटवर्क से कनेक्ट नहीं हुआ है - कैश्ड DNS और नेटवर्क स्थिति परीक्षण के दौरान walled garden के अंतरालों को छुपा सकती है।
चौथा, API एकीकरण के लिए, न्यूनतम आवश्यक अनुमतियों के साथ UniFi Network Application में एक समर्पित स्थानीय व्यवस्थापक खाते का उपयोग करें। अपने प्राथमिक व्यवस्थापक क्रेडेंशियल का उपयोग न करें। यदि आप Network Application 9.1 या बाद के संस्करण पर हैं, तो Control Plane, Integrations के अंतर्गत नए API कुंजी तंत्र का उपयोग करें - यह अधिक सुरक्षित है और इसके लिए क्रेडेंशियल-आधारित प्रमाणीकरण की आवश्यकता नहीं होती है।
पाँचवा, सत्र की अवधि (session duration) पर ध्यान से विचार करें। UniFi की डिफ़ॉल्ट अतिथि सत्र समाप्ति आठ घंटे जितनी कम हो सकती है। हॉस्पिटैलिटी डेप्लॉयमेंट के लिए जहाँ अतिथि कई रातें रुक सकते हैं, Purple पोर्टल सेटिंग्स में उपयुक्त सत्र अवधि कॉन्फ़िगर करें, और सुनिश्चित करें कि वे अवधियाँ API ऑथराइजेशन कॉल में सही ढंग से पास की गई हैं।
सबसे आम गलती जो मैं देखता हूँ वह है स्व-होस्ट किए गए (self-hosted) कंट्रोलर पर डेप्लॉय करना जो सार्वजनिक रूप से सुलभ नहीं है। यदि Purple अतिथियों को ऑथराइज करने के लिए आपके कंट्रोलर तक नहीं पहुँच पाता है, तो पोर्टल लोड हो जाएगा लेकिन प्रमाणीकरण (authentication) चुपचाप विफल हो जाएगा। लाइव होने से पहले हमेशा Purple के इंफ्रास्ट्रक्चर से API कनेक्टिविटी सत्यापित करें।
[रैपिड-फायर प्रश्नोत्तर - लगभग 1 मिनट]
क्या यह UniFi Dream Machine Pro पर काम करता है? हाँ। सभी UniFi OS कंसोल - UDM, UDM Pro, UDM SE, UCG Ultra, UCG-Max - एक्सटर्नल पोर्टल सर्वर कॉन्फ़िगरेशन का समर्थन करते हैं। नेटवर्क एप्लिकेशन डिवाइस पर चलता है।
क्या मैं एक ही Purple खाते से कई UniFi साइटों पर Purple का उपयोग कर सकता हूँ? हाँ। Purple का मल्टी-साइट आर्किटेक्चर बिल्कुल इसी के लिए डिज़ाइन किया गया है। प्रत्येक वेन्यू को Purple में एक अलग साइट के रूप में कॉन्फ़िगर किया गया है, जो संबंधित UniFi साइट से मैप की गई है।
क्या मुझे UniFi गेटवे पर फ़ायरवॉल पोर्ट खोलने की आवश्यकता है? आपको यह सुनिश्चित करना होगा कि गेस्ट VLAN ट्रैफ़िक पोर्ट 443 पर Purple पोर्टल डोमेन तक पहुँच सके। कंट्रोलर API पोर्ट भी Purple के सर्वरों से सुलभ होना चाहिए। Purple के दस्तावेज़ विशिष्ट IP रेंज प्रदान करते हैं।
WPA3 के बारे में क्या? UniFi WPA3 Personal और WPA3 Enterprise का समर्थन करता है। Captive Portal मैकेनिज्म गेस्ट नेटवर्क पर WPA3 Personal के साथ काम करता है। WPA3 Enterprise 802.1X और RADIUS का उपयोग करता है, जो एक अलग प्रमाणीकरण प्रवाह है।
[सारांश और अगले कदम - लगभग 1 मिनट]
संक्षेप में कहें तो: UniFi पर एक्सटर्नल Captive Portal के रूप में Purple को डेप्लॉय करना एक अच्छी तरह से समर्थित, आर्किटेक्चरली मजबूत एकीकरण है। मुख्य कदम हैं: अपने गेस्ट SSID को आपके Purple पोर्टल URL की ओर इशारा करने वाले एक्सटर्नल पोर्टल सर्वर विकल्प के साथ कॉन्फ़िगर करें, एक व्यापकwalled garden का निर्माण करें जो Purple के इंफ्रास्ट्रक्चर और आपके द्वारा उपयोग किए जा रहे किसी भी OAuth प्रदाताओं को कवर करता हो, सुनिश्चित करें कि आपके UniFi कंट्रोलर के पास एक वैध SSL प्रमाणपत्र है और वह Purple के API सर्वरों से सुलभ है, और अपने वेन्यू प्रकार के लिए उपयुक्त सत्र अवधि कॉन्फ़िगर करें।
बिजनेस केस सीधा है। इन-बिल्ट UniFi पोर्टल आपको एक स्पलैश पेज देता है। Purple आपको एक अनुपालन-तैयार (compliance-ready), एनालिटिक्स-संचालित गेस्ट एक्सपीरियंस प्लेटफॉर्म देता है जो आपके CRM के साथ एकीकृत होता है, GDPR सहमति के तहत फर्स्ट-पार्टी डेटा कैप्चर करता है, और फुटफॉल और ड्वेल-टाइम एनालिटिक्स प्रदान करता है जिसकी वास्तव में वेन्यू ऑपरेटरों और मार्केटिंग टीमों को आवश्यकता होती है।
यदि आप एक MSP या सिस्टम इंटीग्रेटर हैं जो बड़े पैमाने पर UniFi को डेप्लॉय कर रहे हैं, तो Purple की मल्टी-साइट प्रबंधन और व्हाइट-लेबल क्षमताएं इसे आपके ग्राहकों के लिए सही विकल्प बनाती हैं।
विस्तृत कॉन्फ़िगरेशन दस्तावेज़ीकरण, walled garden IP सूचियों, और API एकीकरण गाइडों के लिए, purple.ai पर जाएं। सुनने के लिए धन्यवाद।