पॉडकास्ट ट्रांसक्रिप्ट देखें
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 एक्सेस पॉइंट इसे सामान्य रूप से DHCP के माध्यम से एक IP पता असाइन करता है। लेकिन डिवाइस को तुरंत उसी स्थिति में रखा जाता है जिसे UniFi एक "लंबित" स्थिति कहता है। इस स्थिति में, AP की अंतर्निहित DNSmasq प्रक्रिया डिवाइस द्वारा किए जाने वाले प्रत्येक DNS क्वेरी को रोकती है, भले ही डिवाइस को लगता हो कि वह किस DNS सर्वर का उपयोग कर रहा है। AP सभी DNS ट्रैफ़िक को अपनी ओर रीडायरेक्ट करता है।
साथ ही, AP पोर्ट 80 पर एक हल्का HTTP रीडायरेक्टर चलाता है। जैसे ही अतिथि का ब्राउज़र कोई भी HTTP अनुरोध करता है - और यह मुख्य शब्द है, HTTP, HTTPS नहीं - रीडायरेक्टर वापस 302 रीडायरेक्ट भेजता है, जिससे ब्राउज़र captive portal स्प्लैश पेज पर चला जाता है। यह वह तंत्र है जो iOS और Android डिवाइसों पर "WiFi में साइन इन करें" सूचना को ट्रिगर करता है।
अब, यह वह जगह है जहाँ अंतर्निहित पोर्टल बनाम बाहरी पोर्टल का अंतर महत्वपूर्ण हो जाता है। अंतर्निहित UniFi हॉटस्पॉट पोर्टल के साथ, स्प्लैश पेज सीधे UniFi Network Application द्वारा परोसा जाता है। यह कार्यात्मक है, इसे सेटअप करना त्वरित है, लेकिन यह गंभीर रूप से सीमित है। आपको बुनियादी पासवर्ड प्रमाणीकरण, वाउचर और Stripe भुगतान मिलते हैं। सत्र गणना से परे कोई ईमेल कैप्चर, कोई सोशल लॉगिन, कोई GDPR सहमति प्रबंधन, कोई CRM एकीकरण, और कोई सार्थक विश्लेषण नहीं है।
जब आप एक बाहरी पोर्टल सर्वर कॉन्फ़िगर करते हैं - जो कि वह सेटिंग है जिस पर हम आज ध्यान केंद्रित कर रहे हैं - तो आप UniFi कंट्रोलर को मेहमानों को पूरी तरह से अलग वेब एप्लिकेशन पर रीडायरेक्ट करने के लिए कह रहे हैं। हमारे मामले में, वह Purple है। बाहरी पोर्टल सर्वर फ़ील्ड में आपके द्वारा दर्ज किया गया 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 प्री-ऑथराइजेशन एक्सेस (Pre-Authorization Access) कहता है। यह उन डोमेन और 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-विशिष्ट विचार नियंत्रक एक्सेसिबिलिटी है। UniFi Network Application - चाहे वह Cloud Gateway, Cloud Key, या स्व-होस्ट किए गए सर्वर पर चल रही हो - API प्राधिकरण कॉल सफल होने के लिए Purple के बुनियादी ढांचे से पहुंच योग्य होनी चाहिए। यदि आपका नियंत्रक NAT के पीछे एक निजी नेटवर्क पर है, तो आपको यह सुनिश्चित करना होगा कि प्रासंगिक API पोर्ट सुलभ हैं। स्व-होस्ट किए गए नियंत्रकों के लिए, यह आमतौर पर पुराने API के लिए पोर्ट 8443 होता है, या संस्करण 9.1 में पेश किए गए नए API के लिए मानक HTTPS पोर्ट 443 होता है। Purple का सहायता दस्तावेज़ उन सटीक IP श्रेणियों को निर्दिष्ट करता है जिन्हें आपके नियंत्रक तक इनबाउंड एक्सेस की आवश्यकता होती है।
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 को उस नेटवर्क के साथ संबद्ध करें। अतिथि-से-अतिथि ट्रैफ़िक को रोकने के लिए अतिथि नेटवर्क पर क्लाइंट अलगाव सक्षम करें।
दूसरा, नियंत्रक के पास एक वैध 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 ऑथराइजेशन कॉल में सही ढंग से पास की गई हैं।
सबसे आम गलती जो मैं देखता हूँ वह है एक सेल्फ-होस्टेड कंट्रोलर पर डेप्लॉय करना जो सार्वजनिक रूप से सुलभ नहीं है। यदि Purple अतिथियों को प्रमाणित करने के लिए आपके कंट्रोलर तक नहीं पहुँच पाता है, तो पोर्टल लोड हो जाएगा लेकिन ऑथेंटिकेशन चुपचाप विफल हो जाएगा। लाइव होने से पहले हमेशा Purple के इन्फ्रास्ट्रक्चर से API कनेक्टिविटी सत्यापित करें।
[त्वरित प्रश्नोत्तर - लगभग 1 मिनट]
क्या यह UniFi Dream Machine Pro पर काम करता है? हाँ। सभी UniFi OS कंसोल - UDM, UDM Pro, UDM SE, UCG Ultra, UCG-Max - External Portal Server कॉन्फ़िगरेशन का समर्थन करते हैं। Network Application डिवाइस पर चलता है।
क्या मैं एक ही 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 को External Portal Server विकल्प के साथ कॉन्फ़िगर करें जो आपके Purple पोर्टल URL की ओर संकेत करता हो, एक व्यापक वॉल्ड गार्डन (walled garden) बनाएं जो Purple के इन्फ्रास्ट्रक्चर और आपके द्वारा उपयोग किए जा रहे किसी भी OAuth प्रदाताओं को कवर करता हो, यह सुनिश्चित करें कि आपके UniFi कंट्रोलर के पास एक मान्य SSL प्रमाणपत्र है और वह Purple के API सर्वरों से सुलभ है, और अपने वेन्यू के प्रकार के लिए उपयुक्त सत्र अवधि कॉन्फ़िगर करें।
व्यावसायिक दृष्टिकोण से लाभ स्पष्ट है। अंतर्निहित UniFi पोर्टल आपको एक स्प्लैश पेज देता है। Purple आपको एक अनुपालन-अनुकूल (compliance-ready), एनालिटिक्स-संचालित अतिथि अनुभव प्लेटफ़ॉर्म देता है जो आपके CRM के साथ एकीकृत होता है, GDPR सहमति के तहत फ़र्स्ट-पार्टी डेटा कैप्चर करता है, और फुटफ़ॉल और ड्वेल-टाइम एनालिटिक्स प्रदान करता है जिसकी वेन्यू ऑपरेटरों और मार्केटिंग टीमों को वास्तव में आवश्यकता होती है।
यदि आप एक MSP या सिस्टम इंटीग्रेटर हैं जो बड़े पैमाने पर UniFi डेप्लॉय कर रहे हैं, तो Purple की मल्टी-साइट प्रबंधन और व्हाइट-लेबल क्षमताएं इसे आपके ग्राहकों के लिए सही ओवरले बनाती हैं।
विस्तृत कॉन्फ़िगरेशन दस्तावेज़, वॉल्ड गार्डन IP सूचियों, और API एकीकरण गाइड के लिए, purple.ai पर जाएं। सुनने के लिए धन्यवाद।