Saltar al contenido principal

Integración de firmware personalizado OpenWrt con Purple WiFi

Esta guía proporciona el manual de integración completo para implementar el firmware personalizado OpenWrt con Purple WiFi. Cubre la configuración del Captive Portal CoovaChilli, la gestión de walled garden con iptables, WiFi seguro para el personal con 802.1X mediante hostapd y la segmentación PPSK multiinquilino con asignación dinámica de VLAN, lo que brinda a los equipos de TI los pasos de configuración exactos necesarios para crear una red basada en la identidad en cualquier hardware compatible con OpenWrt.

📖 9 min de lectura📝 2,146 palabras🔧 2 ejemplos resueltos4 preguntas de práctica📚 10 definiciones clave

Escucha esta guía

Ver transcripción del podcast
[0:00 - 1:00] Introducción y contexto Bienvenido a la sesión informativa técnica de Purple. Soy su anfitrión, y en los próximos diez minutos, analizaremos la integración del firmware personalizado OpenWrt con Purple WiFi. Si usted es un gerente de TI, un arquitecto de redes o un CTO que implementa firmware personalizado en entornos de hospitalidad, retail o del sector público, esta sesión es para usted. Dejaremos de lado la teoría académica y le daremos el manual exacto para configurar CoovaChilli, proteger las redes del personal con 802.1X y segmentar entornos multiinquilino mediante claves privadas precompartidas (PPSK). ¿Por qué es esto importante? Porque implementar un firmware personalizado como OpenWrt le brinda una flexibilidad increíble e independencia de hardware. Pero sin una capa de control de acceso estructurada y basada en la identidad, esa flexibilidad se convierte en un riesgo de seguridad. Necesita capturar datos de origen de forma segura, garantizar el cumplimiento de GDPR y segmentar su tráfico de manera confiable. Entremos de lleno en el análisis técnico. [1:00 - 6:00] Análisis técnico detallado El núcleo de la integración con OpenWrt se basa en CoovaChilli. CoovaChilli es el controlador de acceso de código abierto que intercepta el tráfico de clientes no autenticados y lo redirige al Captive Portal de Purple. Cuando un huésped se conecta a su SSID abierto, CoovaChilli actúa como el guardián. Asigna una dirección IP a través de su propio servidor DHCP interno, que se ejecuta en la interfaz tun0, y bloquea todo el tráfico excepto el que usted permita explícitamente en el walled garden. Cuando el huésped intenta navegar, CoovaChilli intercepta la solicitud HTTP y emite una redirección a la página de inicio de Purple. Aquí es donde la configuración del walled garden es crítica. En su archivo chilli.conf, debe definir el parámetro HS_UAMDOMAINS. Esta es una lista de dominios separados por comas a los que los huéspedes pueden acceder antes de autenticarse. Debe incluir splash.purple.ai, api.purple.ai y los diversos dominios de CDN que utilizamos para servir los recursos del portal. Si omite un dominio, el portal no se cargará o los botones de inicio de sesión social fallarán. Es así de simple. Una vez que el huésped se autentica en el portal de Purple, el servidor RADIUS en la nube de Purple envía un mensaje Access-Accept de vuelta a CoovaChilli en el puerto UDP 1812. CoovaChilli luego autoriza la dirección MAC, abre las reglas del firewall para esa sesión y comienza a enviar datos de contabilidad (accounting) en el puerto UDP 1813. La contabilidad no es opcional. Es la forma en que Purple rastrea la duración de la sesión y el uso de datos para su panel de analíticas. Ahora, hablemos del WiFi del personal. No se utiliza CoovaChilli para el personal. Para las redes del personal, se utiliza hostapd con WPA2-Enterprise o WPA3-Enterprise. Esta es la autenticación estándar 802.1X. El punto de acceso actúa como el autenticador, reenviando mensajes EAP a su servidor RADIUS. Para los dispositivos corporativos, debería implementar EAP-TLS, que utiliza certificados digitales en lugar de contraseñas. Esto elimina por completo el robo de credenciales. Configura hostapd.conf para que apunte a su servidor RADIUS, y el servidor RADIUS dicta la asignación de VLAN para ese usuario específico. Esto nos lleva a una de las funciones más potentes en las implementaciones modernas de OpenWrt: las claves privadas precompartidas, o PPSK. En un entorno multiinquilino (por ejemplo, una propiedad de alquiler multifamiliar o un espacio de coworking), no querrá transmitir cincuenta SSIDs diferentes. Esto arruina la eficiencia del tiempo de aire. En su lugar, transmite un solo SSID. Cuando un dispositivo se conecta, hostapd envía la dirección MAC al servidor RADIUS. El servidor RADIUS responde con una contraseña específica y un ID de VLAN específico para ese dispositivo, utilizando el atributo Tunnel-Password. Esto significa que el empleado de la tienda A se coloca en la VLAN 10, mientras que el asistente al evento en el salón principal se coloca en la VLAN 30, todos conectándose exactamente al mismo SSID. Es elegante, escala y aplica el acceso de menor privilegio en el extremo de la red. [6:00 - 8:00] Recomendaciones de implementación y errores comunes Hablemos de la implementación. Al implementar OpenWrt con Purple, el primer paso siempre es recuperar sus credenciales de RADIUS desde el portal de Purple. Necesita las direcciones IP de RADIUS primaria y secundaria, el secreto compartido y la URL del portal. In su configuración de OpenWrt, definirá su interfaz de red de huéspedes (normalmente eth1 o wlan0) y vinculará CoovaChilli a ella. Asegúrese de que el parámetro HS_RADSECRET en su chilli.conf coincida exactamente con lo que está en el portal de Purple. Una sola discrepancia de caracteres causará fallas de autenticación silenciosas. El mayor error que vemos es la resolución de DNS antes de la autenticación. CoovaChilli intercepta las solicitudes de DNS. Si su firewall ascendente bloquea la resolución de DNS externos por parte del router OpenWrt, la redirección del Captive Portal fallará. Asegúrese de que su router OpenWrt tenga acceso de DNS sin restricciones a resolutores públicos como Google o OpenDNS. Otro problema común son los mecanismos de detección de Captive Portal integrados en iOS y Android. Los dispositivos Apple se comunican con captive.apple.com para verificar la conectividad a internet. Si incluye captive.apple.com en la lista de permitidos de su walled garden, el dispositivo pensará que tiene acceso a internet y no mostrará la ventana emergente del asistente de red cautiva. Si desea que aparezca automáticamente, mantenga los dominios de Apple fuera del walled garden. [8:00 - 9:00] Preguntas y respuestas rápidas Hagamos una ronda de preguntas y respuestas rápidas. Pregunta uno: ¿Puedo ejecutar CoovaChilli y hostapd 802.1X en el mismo punto de acceso OpenWrt? Sí. Vincula CoovaChilli a la interfaz de su SSID de huéspedes y configura hostapd con 802.1X en la interfaz de su SSID de personal. Funcionan de forma independiente. Pregunta dos: ¿Admite Purple la asignación dinámica de VLAN con OpenWrt? Sí. Los servidores RADIUS de Purple pueden devolver atributos RADIUS estándar, incluidos Tunnel-Type, Tunnel-Medium-Type y Tunnel-Private-Group-ID, indicando a OpenWrt que coloque al usuario autenticado en una VLAN específica. Pregunta tres: ¿Qué sucede si el router OpenWrt pierde la conexión con el servidor RADIUS de Purple? CoovaChilli no podrá autenticar nuevas sesiones. Las sesiones autorizadas existentes permanecerán activas hasta que expire el tiempo de espera de su sesión. Configure siempre el servidor RADIUS secundario de Purple para garantizar una alta disponibilidad. [9:00 - 10:00] Resumen y próximos pasos En resumen: OpenWrt proporciona una plataforma robusta e independiente del hardware para el WiFi empresarial. Al integrar CoovaChilli para el acceso de huéspedes y hostapd para el personal seguro y la segmentación PPSK multiinquilino, usted crea una red basada en la identidad. Purple simplifica la complejidad de la infraestructura RADIUS, proporcionando un portal gestionado en la nube que captura datos de origen y garantiza el cumplimiento normativo. Su próximo paso es auditar sus implementaciones actuales de firmware personalizado. Asegúrese de que sus walled gardens estén completamente configurados, verifique los intervalos de contabilidad de RADIUS y comience a planificar su migración de PSKs compartidas a la segmentación dinámica PPSK. Gracias por escuchar la sesión informativa técnica de Purple. Para obtener más información sobre cómo Purple puede proteger y monetizar su WiFi de huéspedes, visite purple.ai. Hasta la próxima.

header_image.png

कार्यकारी सारांश (Executive summary)

OpenWrt हे अशा IT टीम्ससाठी पसंतीचे फर्मवेअर आहे ज्यांना एंटरप्राइझ-ग्रेड नियंत्रण न गमावता हार्डवेअर स्वातंत्र्याची आवश्यकता असते. हॉस्पिटॅलिटी, रिटेल आणि सार्वजनिक क्षेत्रातील ठिकाणांवर तैनात केलेले, हे पूर्णपणे कॉन्फिगर करण्यायोग्य Linux-आधारित नेटवर्क स्टॅक प्रदान करते. परंतु डीफॉल्ट स्वरूपात, OpenWrt एक कोरा कॅनव्हास आहे. संरचित ओळख स्तराशिवाय (identity layer), अतिथी नेटवर्क्स व्यवस्थापित करणे कठीण होते, कर्मचारी नेटवर्क्स असुरक्षित राहतात आणि मल्टी-टेनंट वातावरण एकाच सपाट नेटवर्कमध्ये संकुचित होते.

हे मार्गदर्शक OpenWrt ला Purple च्या क्लाउड RADIUS आणि Captive Portal प्लॅटफॉर्मशी जोडण्यासाठी निश्चित एकत्रीकरण प्लेबुक प्रदान करते. आम्ही चार वेगवेगळ्या उपयोजन परिस्थिती कव्हर करतो: CoovaChilli वापरून अतिथी Captive Portal पुनर्निर्देशन (redirection), iptables वॉल्ड गार्डन कॉन्फिगरेशन, hostapd आणि IEEE 802.1X वापरून सुरक्षित कर्मचारी WiFi, आणि डायनॅमिक VLAN असाइनमेंटसह प्रायव्हेट प्री-शेअर्ड की (PPSK) वापरून मल्टी-टेनंट सेगमेंटेशन. शेवटी, तुमच्याकडे कोणत्याही OpenWrt-सक्षम हार्डवेअरवर उत्पादन-तयार, GDPR-सुसंगत, ओळख-चालित नेटवर्क तैनात करण्यासाठी अचूक कॉन्फिगरेशन पॅरामीटर्स, सामान्य त्रुटींचे प्रकार आणि निर्णय घेण्याची फ्रेमवर्क असेल.

Purple हे ८०,०००+ हून अधिक लाइव्ह ठिकाणी कार्यरत आहे आणि २०२४ मध्ये ४४० दशलक्ष लॉगिन प्रक्रियेतून गेले आहेत (Purple अंतर्गत डेटा, २०२४). येथे वर्णन केलेले आर्किटेक्चर हेच हॉस्पिटॅलिटी चेन्स, रिटेल इस्टेट्स आणि ट्रान्सपोर्ट हबमध्ये मोठ्या प्रमाणावर तैनात केलेले आहे.

तांत्रिक सखोल विश्लेषण (Technical deep-dive)

CoovaChilli captive portal आर्किटेक्चर

OpenWrt वर Guest WiFi तैनात करताना, CoovaChilli हे उद्योग-मानक ॲक्सेस कंट्रोलर आहे. हे एक Captive Portal डिमन म्हणून कार्य करते जे अनधिकृत क्लायंट ट्रॅफिक अडवते, tun0 व्हर्च्युअल इंटरफेसवरील त्याच्या अंतर्गत DHCP सर्व्हरद्वारे IP पत्ते प्रदान करते, आणि थेट व्यवस्थापित करत असलेल्या iptables नियमांचा वापर करून वॉल्ड गार्डन धोरणे लागू करते.

प्रमाणीकरण (authentication) प्रवाह खालीलप्रमाणे कार्य करतो. अतिथी डिव्हाइस ओपन SSID शी जोडले जाते. CoovaChilli डिव्हाइसला त्याच्या अंतर्गत पूल मधून (सहसा 10.1.0.0/24) एक IP पत्ता नियुक्त करते. जेव्हा डिव्हाइस त्याची पहिली HTTP विनंती पाठवते, तेव्हा CoovaChilli ती अडवते आणि Purple स्प्लॅश पेज URL वर HTTP 302 पुनर्निर्देशन जारी करते. या पूर्व-प्रमाणीकरण (pre-authentication) टप्प्यादरम्यान, डिव्हाइस वेगळे केले जाते - ते केवळ वॉल्ड गार्डनमध्ये स्पष्टपणे सूचीबद्ध केलेल्या डोमेनपर्यंत पोहोचू शकते.

एकदा अतिथीने Purple पोर्टलवर प्रमाणीकरण पूर्ण केले की, Purple चे क्लाउड RADIUS सर्व्हर UDP पोर्ट 1812 वर CoovaChilli ला Access-Accept संदेश पाठवते. त्यानंतर CoovaChilli त्या विशिष्ट MAC पत्त्यासाठी इंटरनेट प्रवेशाची परवानगी देण्यासाठी त्याचे iptables नियम अद्यतनित करते आणि UDP पोर्ट 1813 वर Purple RADIUS अकाउंटिंग सर्व्हरकडे अकाउंटिंग डेटा (सत्र कालावधी, हस्तांतरित केलेले बाईट्स) पाठवू लागते. अकाउंटिंग पर्यायी नाही - हे असे माध्यम आहे ज्याद्वारे Purple तुमच्या WiFi Analytics डॅशबोर्डमध्ये सत्राच्या डेटासह माहिती भरते.

architecture_overview.png

वॉल्ड गार्डन (Walled garden): iptables आणि डोमेन परवानगी सूची

कोणत्याही Captive Portal उपयोजनामध्ये वॉल्ड गार्डन हा सर्वात महत्त्वपूर्ण ऑपरेशनल कॉन्फिगरेशन घटक आहे. CoovaChilli दोन माध्यमांद्वारे वॉल्ड गार्डन व्यवस्थापित करते: वैयक्तिक IP पत्त्यांसाठी uamallowed पॅरामीटर आणि DNS तपासणीसह डोमेन-आधारित परवानगी सूचीसाठी uamdomains पॅरामीटर.

Purple इंटिग्रेशनसाठी, किमान आवश्यक वॉल्ड गार्डन नोंदी खालीलप्रमाणे आहेत:

डोमेन उद्देश
*.purple.ai पोर्टल मालमत्ता, API, आणि प्रमाणीकरण एंडपॉइंट्स
*.googleapis.com Google Fonts आणि Google Sign-In
*.gstatic.com Google कनेक्टिव्हिटी तपासणी आणि स्थिर मालमत्ता
*.facebook.com Facebook Login API
*.fbcdn.net लॉगिन मालमत्तेसाठी Facebook CDN
captive.apple.com Apple CNA शोध (खालील टीप पहा)
connectivitycheck.gstatic.com Android Captive Portal शोध

Apple CNA व्यवस्थापनावर टीप: जर तुम्ही वॉल्ड गार्डनमध्ये captive.apple.com समाविष्ट केले, तर iOS डिव्हाइसेस प्रमाणीकरणापूर्वी इंटरनेट कनेक्टिव्हिटी शोधतील आणि Captive Network Assistant पॉप-अप दाबून टाकतील (दाखवणार नाहीत). बहुतांश आदरातिथ्य (hospitality) उपयोजने मुद्दाम हे डोमेन वगळतात जेणेकरून स्वयंचलित पोर्टल प्रॉम्प्ट सुरू होईल. योग्य पर्याय तुमच्या अतिथी अनुभवाच्या रचनेवर अवलंबून असतो.

सुरक्षित कर्मचारी WiFi: hostapd आणि IEEE 802.1X

अतिथी नेटवर्कसाठी अडथळा नसलेल्या ऑनबोर्डिंगची आवश्यकता असते. कर्मचारी नेटवर्कसाठी पूर्ण सुरक्षिततेची आवश्यकता असते. अंतर्गत वापरकर्त्यांसाठी, OpenWrt IEEE 802.1X प्रमाणीकरण सुलभ करण्यासाठी hostapd चा वापर करते. या आर्किटेक्चरमध्ये, OpenWrt ॲक्सेस पॉइंट Authenticator म्हणून काम करतो, जे क्लायंट डिव्हाइस (Supplicant) आणि Purple RADIUS सर्व्हर दरम्यान Extensible Authentication Protocol (EAP) संदेश फॉरवर्ड करते.

कॉर्पोरेट डिव्हाइसेससाठी, EAP-TLS हा अनिवार्य मानक आहे. हे परस्पर प्रमाणपत्र प्रमाणीकरणावर अवलंबून असते - सर्व्हर आणि क्लायंट डिव्हाइस दोन्ही डिजिटल प्रमाणपत्रे सादर करतात - ज्यामुळे पासवर्ड आणि संबंधित क्रेडेंशियल चोरी किंवा फिशिंगचे धोके पूर्णपणे नष्ट होतात. संपूर्ण पब्लिक की इन्फ्रास्ट्रक्चर (PKI) साठी अद्याप तयार नसलेल्या वातावरणासाठी, PEAP-MSCHAPv2 वापरकर्ता नाव आणि पासवर्ड क्रेडेंशियलचे संरक्षण करण्यासाठी एनक्रिप्टेड टनेलचा वापर करून एक चांगला अंतरिम पर्याय प्रदान करतो.

जेव्हा एखादा कर्मचारी यशस्वीरित्या ऑथेंटिकेट करतो, तेव्हा RADIUS सर्व्हर ऑथरायझेशन ॲट्रिब्युट्स परत करतो. नेटवर्क सेगमेंटेशनसाठी मुख्य ॲट्रिब्युट Tunnel-Private-Group-ID आहे, जे OpenWrt ला युझरला योग्य VLAN मध्ये डायनॅमिकली असाइन करण्याचे निर्देश देते. आयडेंटिटी-बेस्ड नेटवर्क्स (Identity-Based Networks) मागची हीच यंत्रणा आहे: युझरची ओळख (identity), त्यांचे भौतिक स्थान नाही, त्यांचे नेटवर्क ॲक्सेस ठरवते.

मल्टी-टेनंट सेगमेंटेशन: OpenWrt PPSK कॉन्फिगरेशन

मल्टी-टेनंट वातावरणात - जसे की कोवर्कर्स स्पेसेस, बिल्ड-टू-रेंट (BTR) प्रॉपर्टीज, एकाधिक विक्रेते असलेले रिटेल सेंटर्स किंवा स्वतंत्र स्पॉन्सर झोन असलेले स्टेडियम्स - एकाधिक SSIDs ब्रॉडकास्ट करणे हे ऑपरेशनली खर्चिक आणि RF-अकार्यक्षम असते. प्रत्येक अतिरिक्त SSID मॅनेजमेंट फ्रेम ओव्हरहेड वाढवतो, ज्यामुळे डेटा ट्रॅफिकसाठी उपलब्ध एअरटाइम कमी होतो.

प्रायव्हेट प्री-शेअर्ड की (PPSK), ज्याला कधीकधी डायनॅमिक PSK देखील म्हटले जाते, यावर उपाय शोधतात. तुम्ही एकच SSID ब्रॉडकास्ट करता. जेव्हा एखादे डिव्हाइस कनेक्ट करण्याचा प्रयत्न करते, तेव्हा hostapd प्रमाणित Access-Request द्वारे डिव्हाइसचा MAC ॲड्रेस RADIUS सर्व्हरकडे पाठवते. RADIUS सर्व्हर त्याच्या डेटाबेसमध्ये MAC ॲड्रेसची पडताळणी करतो आणि दोन महत्त्वपूर्ण ॲट्रिब्युट्स असलेले Access-Accept परत करतो: Tunnel-Password ॲट्रिब्युट (त्या डिव्हाइससाठी युनिक पासफ्रेज) आणि Tunnel-Private-Group-ID ॲट्रिब्युट (VLAN असाइनमेंट). डिव्हाइस त्याच्या युनिक पासफ्रेजचा वापर करून कनेक्ट होते आणि थेट त्याच्या नियुक्त केलेल्या VLAN वर जाते.

याचा अर्थ असा आहे की एखादा रिटेल मॅनेजर आणि इव्हेंटला आलेला व्यक्ती एकाच SSID शी कनेक्ट होऊ शकतात परंतु त्यांच्या युनिक ओळखीच्या आधारावर पूर्णपणे वेगळ्या, आयसोलेटेड नेटवर्क्सवर राउट केले जाऊ शकतात.

ppsk_multitenant_diagram.png

इम्प्लीमेंटेशन गाईड

पायरी १: Purple RADIUS क्रेडेंशियल्स मिळवा

OpenWrt कॉन्फिगरेशनला हात लावण्यापूर्वी, Purple पोर्टल ॲडमिन कन्सोलमधून खालील गोष्टी मिळवा:

  • प्रायमरी RADIUS सर्व्हर IP ॲड्रेस
  • सेकंडरी RADIUS सर्व्हर IP ॲड्रेस (फेलओव्हरसाठी)
  • RADIUS शेअर्ड सिक्रेट (Shared Secret)
  • Captive Portal Splash Page URL
  • पोस्ट-ऑथेंटिकेशन रिडायरेक्ट URL

पायरी २: गेस्ट WiFi साठी CoovaChilli इंस्टॉल आणि कॉन्फिगर करा

opkg द्वारे coova-chilli पॅकेज इंस्टॉल करा:

opkg update && opkg install coova-chilli

मुख्य कॉन्फिगरेशन फाईल /etc/chilli/defaults ही आहे. मुख्य नेटवर्क पॅरामीटर्स परिभाषित करा:

# Network interfaces
HS_WANIF=eth0           # Upstream internet interface
HS_LANIF=wlan0          # The guest WiFi interface (or a VLAN sub-interface)

# Guest subnet
HS_NETWORK=10.10.20.0
HS_NETMASK=255.255.255.0
HS_UAMLISTEN=10.10.20.1 # CoovaChilli's IP on the guest network
HS_UAMPORT=3990

# Purple RADIUS integration
HS_RADIUS=
HS_RADIUS2=
HS_RADSECRET=
HS_NASID=venue-openwrt-01

# Purple splash page
HS_UAMSERVER=

# Walled garden - domain-based allowlisting
HS_UAMDOMAINS=".purple.ai,.googleapis.com,.gstatic.com,.facebook.com,.fbcdn.net"

सर्व्हिस सुरू आणि सक्रिय करा:

/etc/init.d/chilli enable
/etc/init.d/chilli start

पायरी 3: गेस्ट SSID साठी OpenWrt वायरलेस इंटरफेस कॉन्फिगर करा

/etc/config/wireless मध्ये, गेस्ट SSID ला CoovaChilli व्यवस्थापित करत असलेल्या इंटरफेसशी बांधील असलेले ओपन नेटवर्क म्हणून परिभाषित करा:

config wifi-iface 'guest_wifi'
    option device 'radio0'
    option network 'guest'
    option mode 'ap'
    option ssid 'Venue_Guest'
    option encryption 'none'
    option isolate '1'

क्लायंट आयसोलेशन (isolate '1') गेस्ट डिव्हाइसेसना एकमेकांशी संवाद साधण्यापासून रोखते - कोणत्याही सामायिक नेटवर्कसाठी हे एक अनिवार्य सुरक्षा नियंत्रण आहे.

पायरी 4: 802.1X स्टाफ WiFi साठी hostapd कॉन्फिगर करा

स्टाफ SSID साठी, /etc/config/wireless मध्ये WPA2-Enterprise कॉन्फिगर करा:

config wifi-iface 'staff_wifi'
    option device 'radio0'
    option network 'staff_vlan10'
    option mode 'ap'
    option ssid 'Venue_Staff'
    option encryption 'wpa2'
    option server ''
    option port '1812'
    option key ''
    option dynamic_vlan '2'
    option vlan_tagged_interface 'eth0'
    option vlan_bridge 'br-vlan'
    option vlan_naming '0'

dynamic_vlan '2' सेट केल्याने hostapd ला RADIUS सर्व्हरद्वारे परत केलेले VLAN असाइनमेंट लागू करण्याचे आणि कोणतेही VLAN परत न आल्यास प्रमाणीकरण नाकारण्याचे निर्देश मिळतात.

पॅकेज आवश्यकता: मानक wpad-mini पॅकेज WPA2-Enterprise ला सपोर्ट करत नाही. तुम्ही wpad किंवा wpad-openssl इंस्टॉल करणे आवश्यक आहे:

opkg remove wpad-mini && opkg install wpad-openssl

पायरी 5: मल्टी-टेनंट सेगमेंटेशनसाठी PPSK कॉन्फिगर करा

PPSK ला RADIUS सर्व्हरच्या विरोधात MAC ॲड्रेस प्रमाणीकरण करण्यासाठी hostapd ची आवश्यकता असते, जे नंतर प्रति-डिव्हाइस पासफ्रेज परत करते. /etc/config/wireless मध्ये:

config wifi-iface 'ppsk_ssid'
    option device 'radio0'
    option mode 'ap'
    option ssid 'Venue_Connect'
    option encryption 'psk2'
    option key 'default_fallback_key'
    option macfilter 'radius'
    option server ''
    option port '1812'
    option key ''
    option dynamic_vlan '2'
    option vlan_tagged_interface 'eth0'
    option wpa_psk_radius '2'

wpa_psk_radius '2' पॅरामीटर hostapd ला RADIUS प्रतिसादातून Tunnel-Password विशेषता आवश्यक असल्याचे निर्देश देतो. जर RADIUS सर्व्हरने पासफ्रेज परत केला नाही, तर प्रमाणीकरण नाकारले जाते.

Purple RADIUS बाजूला, तुमच्या FreeRADIUS कॉन्फिगरेशनचा (किंवा समतुल्य) authorize विभाग MAC ॲड्रेसेसना पासफ्रेज आणि VLAN IDs शी मॅप करतो:

# PPSK साठी RADIUS ऑथोराईझ एन्ट्रीचे उदाहरण
AA:BB:CC:DD:EE:FF   Auth-Type := Accept
    Tunnel-Password = "GuestPass2024",
    Tunnel-Type = VLAN,
    Tunnel-Medium-Type = IEEE-802,
    Tunnel-Private-Group-ID = "20"

पायरी 6: डायनॅमिक VLAN असाइनमेंट कॉन्फिगर करा

डायनॅमिक VLAN असाइनमेंट कार्य करण्यासाठी, तुमचे OpenWrt स्विच कोर स्विचशी जोडणाऱ्या ट्रंक पोर्टवर संबंधित VLANs टॅग केलेले ट्रॅफिक म्हणून वाहून नेण्यासाठी कॉन्फिगर केलेले असणे आवश्यक आहे. /etc/config/network मध्ये:

config interface 'vlan10'
    option ifname 'eth0.10'
    option proto 'dhcp'

config interface 'vlan20'
    option ifname 'eth0.20'
    option proto 'dhcp'

config interface 'vlan30'
    option ifname 'eth0.30'
    option proto 'dhcp'

तुमचे कोर स्विच पोर्ट ट्रंक म्हणून कॉन्फिगर केले असल्याची खात्री करा, जे VLANs 10, 20 आणि 30 टॅग केलेले पाठवेल.

सर्वोत्तम पद्धती

पूर्णपणे नेटवर्क अलगाव (Absolute network segregation). गेस्ट इंटरफेसेसना अंतर्गत नेटवर्कशी कधीही ब्रिज करू नका. गेस्ट ट्रॅफिक समर्पित VLAN वर वेगळे केले पाहिजे आणि थेट इंटरनेट फायरवॉलकडे पाठवले पाहिजे. PCI DSS 4.0 चे पालन करण्यासाठी ही एक अनिवार्य आवश्यकता आहे, ज्यामध्ये अशी तरतूद आहे की गेस्ट WiFi नेटवर्क्स कार्डधारक डेटा हाताळणाऱ्या कोणत्याही नेटवर्क सेगमेंटपासून पूर्णपणे वेगळे असावेत.

अचूक वॉल्ड गार्डन (Walled garden precision). अपूर्ण वॉल्ड गार्डन हे Captive Portal अयशस्वी होण्याचे मुख्य कारण आहे. गेस्ट SSID शी कनेक्ट केलेल्या चाचणी डिव्हाइसवर तुमच्या ब्राउझरचे डेव्हलपर टूल्स वापरा, जेणेकरून प्रमाणीकरणापूर्वी कोणते रिक्वेस्ट्स ब्लॉक केले जात आहेत हे ओळखता येईल. प्रत्येक ब्लॉक केलेले डोमेन हे पोर्टल अयशस्वी होण्याचे संभाव्य कारण असू शकते.

RADIUS अकाउंटिंग अंतराळ (RADIUS accounting intervals). CoovaChilli अकाउंटिंग अंतर १२० सेकंदांवर कॉन्फिगर करा. यामुळे अतिरिक्त RADIUS ट्रॅफिक निर्माण न करता Purple ॲनालिटिक्स डॅशबोर्डमध्ये रिअल-टाइमच्या जवळचा सेशन डेटा मिळतो.

दुय्यम RADIUS सर्व्हर. तुमच्या CoovaChilli कॉन्फिगरेशनमध्ये नेहमी HS_RADIUS2 कॉन्फिगर करा. मुख्य Purple RADIUS सर्व्हर अनुपलब्ध असल्यास, CoovaChilli नवीन सेशन्स प्रमाणित करू शकणार नाही. दुय्यम सर्व्हर ॲक्सेस पॉइंटवर कोणत्याही कॉन्फिगरेशन बदलाशिवाय स्वयंचलित फेलओव्हर प्रदान करतो.

पॅकेज निवड. बऱ्याच OpenWrt बिल्ड्ससह येणारे wpad-mini पॅकेज WPA2-Enterprise किंवा डायनॅमिक VLAN असाइनमेंटला सपोर्ट करत नाही. 802.1X किंवा PPSK आवश्यक असणाऱ्या कोणत्याही उपयोजनासाठी (deployment) नेहमी wpad-openssl इंस्टॉल करा.

एंटरप्राइझ WiFi सुरक्षा आर्किटेक्चरवरील अधिक मार्गदर्शनासाठी, आमचे Enterprise WiFi Security: A Complete Guide for 2026 पहा.

त्रुटी निवारण आणि जोखीम निवारण

लक्षण संभाव्य कारण उपाय
रिडायरेक्शननंतर पोर्टल लोड होत नाही अपूर्ण वॉल्ड गार्डन गहाळ असलेले CDN/API डोमेन्स HS_UAMDOMAINS मध्ये जोडा
प्रमाणीकरण न सांगता अयशस्वी होते RADIUS सामायिक सिक्रेट विसंगती HS_RADSECRET हे CoovaChilli आणि Purple पोर्टल दोन्हीमध्ये अचूक जुळत असल्याची खात्री करा
Purple ॲनालिटिक्समध्ये डेटा नाही RADIUS अकाउंटिंग ब्लॉक केले आहे आउटबाउंड UDP 1813 ला परवानगी असल्याची खात्री करा; HS_RADIUS2 अकाउंटिंग कॉन्फिगरेशन तपासा
iOS वर पोर्टल पॉप-अप दिसत नाही वॉल्ड गार्डनमध्ये captive.apple.com आहे HS_UAMDOMAINS मधून Apple डिटेक्शन डोमेन्स काढा
PPSK क्लायंट चुकीच्या VLAN वर जातात vlan_tagged_interface चुकीचे कॉन्फिगर केले आहे OpenWrt आणि कोर स्विच दोन्हीवर ट्रंक पोर्ट कॉन्फिगरेशन तपासा
wpad त्रुटीसह 802.1X प्रमाणीकरण अयशस्वी wpad-mini इंस्टॉल केलेले आहे wpad-mini काढा, wpad-openssl इंस्टॉल करा
Dynamic VLAN fails on ath10k Known driver issue in older builds Update to OpenWrt 21.02 or later; use non-CT ath10k firmware

GDPR अनुपालन नोंद: CoovaChilli स्वतः वैयक्तिक डेटा गोळा किंवा स्टोअर करत नाही. सर्व संमती मिळवणे, डेटा प्रक्रिया करणे आणि GDPR अनुपालन यंत्रणा पोर्टल लेयरवर Purple प्लॅटफॉर्मद्वारे हाताळल्या जातात. लाइव्ह जाण्यापूर्वी तुमचे Purple पोर्टल तुमच्या वेन्यूच्या अटी व शर्ती आणि डेटा प्रोसेसिंग नोटीससह कॉन्फिगर केले असल्याची खात्री करा.

संबंधित हार्डवेअर इंटिग्रेशन पॅटर्नसाठी, आमचे EnGenius Cloud Access Points Integration with Purple WiFi आणि DrayTek Vigor Routers and Access Points Integration with Purple WiFi वरील मार्गदर्शक पहा.

ROI आणि व्यावसायिक प्रभाव

बेसिक PSK नेटवर्कवरून Purple-व्यवस्थापित OpenWrt आर्किटेक्चरवर स्थलांतरित केल्याने तीन आयामांमध्ये मोजण्यायोग्य प्रभाव दिसून येतो.

डेटा कॅप्चर आणि मार्केटिंग. Captive Portal ऑथेंटिकेशन लागू करून, वेन्यू WiFi कनेक्शनच्या वेळी सुसंगत, फर्स्ट-पार्टी डेमोग्राफिक डेटा - नावे, ईमेल पत्ते, सोशल प्रोफाइल - कॅप्चर करतात. हा डेटा थेट CRM आणि ईमेल मार्केटिंग प्लॅटफॉर्मवर पाठवला जातो, ज्यामुळे लॉयल्टी प्रोग्राम साइन-अप वाढतात आणि लक्ष्यित मोहिमा सक्षम होतात. Purple ने 2024 मध्ये 440 दशलक्ष लॉगिनवर प्रक्रिया केली आहे (Purple अंतर्गत डेटा), जे नेटवर्क एजवर शक्य असलेल्या फर्स्ट-पार्टी डेटा कॅप्चरचे प्रमाण दर्शवते.

ऑपरेशनल कार्यक्षमता. PPSK लागू केल्याने SSID ओव्हरहेड कमी होतो, ज्यामुळे दाट वातावरणात WiFi कामगिरी सुधारते. 200-लोकेशन असलेल्या रिटेल चेनसाठी, प्रत्येक साइटवर स्थानिक राउटर कॉन्फिगरेशन अपडेट करण्याऐवजी - Purple च्या क्लाउड RADIUS द्वारे मध्यवर्ती पद्धतीने ओळख व्यवस्थापित केल्याने - दरवर्षी शेकडो इंजिनिअरिंग तास वाचतात. एकच RADIUS पॉलिसी बदल सर्व 200 ठिकाणी त्वरित लागू होतो.

सुरक्षा आणि अनुपालन. डायनॅमिक VLAN असाइनमेंट एजवर सर्वात कमी-विशेषाधिकार प्रवेश (least-privilege access) लागू करते. कर्मचारी पाहुण्यांपासून वेगळे केले जातात. IoT डिव्हाइसेस कर्मचाऱ्यांपासून वेगळे केले जातात. POS टर्मिनल्स इतर सर्व ट्रॅफिकपासून वेगळे केले जातात. हे वर्गीकरण PCI DSS 4.0 नेटवर्क आयसोलेशन आवश्यकता पूर्ण करते आणि GDPR अनुपालन पुनरावलोकनांसाठी स्पष्ट, ऑडिट करण्यायोग्य नेटवर्क टोपोलॉजी प्रदान करते.

विशिष्ट क्षेत्रांतील डिप्लॉयमेंट पॅटर्नसाठी, आमचे Retail , Hospitality , Healthcare , आणि Transport वातावरणासाठीचे मार्गदर्शक पहा. वेन्यू डिप्लॉयमेंटमधील पूरक वायरलेस तंत्रज्ञान समजून घेण्यासाठी तुम्हाला आमचे What Is Wireless Display: Protocols & Best Practices 2026 वरील मार्गदर्शक देखील उपयुक्त वाटू शकते.

Definiciones clave

CoovaChilli

Un controlador de acceso de software de código abierto que proporciona un Captive Portal y un entorno de walled garden para redes inalámbricas, utilizando RADIUS para la autenticación y la contabilidad (accounting).

Los equipos de TI implementan CoovaChilli en OpenWrt para interceptar el tráfico HTTP de los huéspedes y redirigirlo a la página de inicio de Purple. Gestiona las reglas de iptables que aplican el walled garden y otorgan acceso a internet después de la autenticación.

Walled garden

Una lista de permitidos estricta de direcciones IP o dominios a los que un usuario no autenticado puede acceder antes de completar la autenticación del Captive Portal.

Crítico para permitir que los dispositivos de los huéspedes carguen los gráficos del portal de Purple y accedan a las APIs de inicio de sesión de redes sociales mientras se bloquea el acceso general a internet. Un walled garden incompleto es la causa más común de fallas en el Captive Portal.

PPSK (Private Pre-Shared Key)

Un mecanismo de seguridad en el que se asignan contraseñas únicas a usuarios o dispositivos individuales para el mismo SSID de WiFi, donde RADIUS devuelve la contraseña correcta y la asignación de VLAN por dirección MAC del dispositivo.

Se utiliza para segmentar entornos multiinquilino sin transmitir múltiples SSIDs. Compatible con OpenWrt a través del parámetro wpa_psk_radius en hostapd.

Dynamic VLAN assignment

El proceso mediante el cual un servidor RADIUS indica al punto de acceso que coloque a un usuario autenticado específico en una VLAN virtual específica, utilizando los atributos RADIUS Tunnel-Type, Tunnel-Medium-Type y Tunnel-Private-Group-ID.

El mecanismo principal para las redes basadas en la identidad. La identidad del usuario, no su puerto físico, determina su segmento de red y sus derechos de acceso.

IEEE 802.1X

El estándar IEEE para el control de acceso a la red basado en puertos, que define los roles de Autenticador (punto de acceso), Suplicante (dispositivo cliente) y Servidor de Autenticación (RADIUS) en la autenticación WiFi empresarial.

El protocolo subyacente para el WiFi seguro del personal en OpenWrt. Requiere el paquete completo wpad o wpad-openssl; wpad-mini no lo admite.

EAP-TLS (Extensible Authentication Protocol - Transport Layer Security)

Un método de autenticación 802.1X que utiliza autenticación mutua basada en certificados, lo que requiere que tanto el servidor RADIUS como el dispositivo cliente presenten certificados digitales válidos.

El estándar de oro para la autenticación de dispositivos corporativos. Elimina por completo las contraseñas, neutralizando el robo de credenciales y los ataques de phishing. Requiere una infraestructura PKI para emitir certificados de cliente.

Captive Network Assistant (CNA)

El pseudonavegador que los dispositivos iOS y Android muestran automáticamente cuando detectan que están detrás de un Captive Portal, basándose en el sondeo de URLs de detección específicas.

Los ingenieros de red deben gestionar sus walled gardens con cuidado para controlar si el CNA se activa automáticamente. La mayoría de las implementaciones en el sector de hospitalidad excluyen los dominios de detección de Apple y Google para forzar la ventana emergente del CNA.

RADIUS accounting

El tercer pilar del marco AAA (Autenticación, Autorización y Contabilidad), que rastrea el consumo de recursos de red registrando eventos de inicio de sesión, actualizaciones provisionales y finalización de sesión en el puerto UDP 1813.

Requerido por Purple para alimentar el panel de analíticas con datos de duración de la sesión y ancho de banda. Se configura en CoovaChilli a través de HS_RADIUS2 y el parámetro radiusacctport.

hostapd

El demonio de punto de acceso IEEE 802.11 de código abierto utilizado por OpenWrt para gestionar interfaces inalámbricas, compatible con los modos de autenticación WPA2/WPA3-Enterprise, 802.1X y PPSK.

El demonio principal para el WiFi del personal y PPSK en OpenWrt. El paquete wpad-openssl proporciona la compilación completa de hostapd requerida para la autenticación empresarial.

Tunnel-Password attribute

Un atributo RADIUS (atributo 69) utilizado en implementaciones PPSK para devolver una contraseña por dispositivo desde el servidor RADIUS al punto de acceso durante la autenticación MAC.

El mecanismo mediante el cual el servidor RADIUS de Purple entrega contraseñas PSK únicas al demonio hostapd de OpenWrt para la segmentación multiinquilino basada en PPSK.

Ejemplos resueltos

Un hotel de 200 habitaciones necesita proporcionar acceso WiFi por niveles: internet básico gratuito para los huéspedes, acceso de alta velocidad para los miembros del programa de lealtad y acceso seguro para los dispositivos de punto de venta (POS) del personal. El equipo de TI desea minimizar la sobrecarga de SSID y aplicar el aislamiento de red PCI DSS entre las terminales POS y el tráfico de huéspedes.

Implemente puntos de acceso OpenWrt que transmitan dos SSIDs: 'Hotel_Guest' (abierto, gestionado por CoovaChilli) y 'Hotel_Secure' (gestionado por PPSK a través de hostapd). En 'Hotel_Guest', CoovaChilli redirige todo el tráfico no autenticado a la página de inicio de Purple. Los huéspedes se autentican a través del portal y acceden a la VLAN 20 (solo internet). En 'Hotel_Secure', configure hostapd con wpa_psk_radius=2. Cuando se conecta el dispositivo de un miembro del programa de lealtad, el servidor RADIUS devuelve su PSK única y la VLAN 21 (nivel de mayor ancho de banda). Cuando se conecta una terminal POS, el servidor RADIUS devuelve la PSK del dispositivo POS y la VLAN 10 (acceso a la red interna, internet bloqueado). La segmentación de VLAN aplica el aislamiento PCI DSS entre los datos del titular de la tarjeta (VLAN 10) y el tráfico de huéspedes (VLANs 20 y 21) a nivel de punto de acceso.

Comentario del examinador: Esta arquitectura utiliza dos SSIDs en lugar de uno para separar el flujo del Captive Portal (huéspedes) del flujo de PPSK (personal y lealtad). Este es el enfoque correcto porque CoovaChilli y hostapd PPSK sirven a modelos de autenticación fundamentalmente diferentes. Combinarlos en un solo SSID requiere una configuración de proxy RADIUS que añade complejidad innecesaria. El modelo de dos SSIDs es más sencillo, más confiable y más fácil de auditar para el cumplimiento de PCI DSS.

Una cadena de tiendas de retail está implementando routers OpenWrt en 50 ubicaciones. Durante las pruebas de aceptación del usuario (UAT) en el primer sitio, la página de inicio de Purple se carga correctamente después de la redirección, pero al hacer clic en el botón de inicio de sesión de Facebook se produce un tiempo de espera de conexión agotado. El botón de inicio de sesión de Google funciona correctamente.

El problema es un walled garden de CoovaChilli incompleto. El flujo de autenticación de Facebook requiere acceso a múltiples dominios: facebook.com, connect.facebook.net y fbcdn.net (la CDN de Facebook para los recursos de inicio de sesión). El inicio de sesión de Google funciona porque googleapis.com y gstatic.com ya están en el walled garden. Actualice el parámetro HS_UAMDOMAINS en /etc/chilli/defaults para agregar '.facebook.com,.connect.facebook.net,.fbcdn.net'. Reinicie el demonio chilli con '/etc/init.d/chilli restart' y vuelva a probar. Para diagnosticar sistemáticamente futuros problemas del walled garden, conecte un dispositivo de prueba al SSID de huéspedes y use las herramientas de desarrollo del navegador (pestaña Red) para identificar qué solicitudes devuelven errores de conexión antes de la autenticación.

Comentario del examinador: Los flujos modernos de inicio de sesión social cargan recursos de múltiples dominios de CDN y API. El SDK de Facebook por sí solo hace referencia al menos a tres dominios distintos. Un enfoque sistemático para la depuración del walled garden (usando las herramientas de desarrollo del navegador para identificar solicitudes bloqueadas antes de la autenticación) es mucho más confiable que adivinar listas de dominios. Antes del lanzamiento en las 50 ubicaciones, el ingeniero debe probar cada método de autenticación configurado (Facebook, Google, correo electrónico, SMS) y verificar que cada uno se complete con éxito.

Preguntas de práctica

Q1. Ha implementado OpenWrt con CoovaChilli en una propiedad de Premier Inn. Los huéspedes informan que sus iPhones no les solicitan automáticamente iniciar sesión cuando se conectan al WiFi de huéspedes. Deben abrir Safari manualmente y navegar a un sitio HTTP para activar el portal. ¿Qué cambio de configuración causa esto y cómo lo resuelve?

Sugerencia: Considere cómo iOS determina si una red tiene acceso completo a internet al asociarse.

Ver respuesta modelo

El ingeniero ha incluido el dominio de detección del Captive Portal de Apple (captive.apple.com) en el walled garden de CoovaChilli a través de HS_UAMDOMAINS. Cuando un iPhone se conecta, iOS envía un sondeo a captive.apple.com. Debido a que este dominio está en el walled garden, el sondeo tiene éxito antes de la autenticación, e iOS concluye que tiene acceso completo a internet, suprimiendo la ventana emergente del Captive Network Assistant. Para resolver esto, elimine captive.apple.com de HS_UAMDOMAINS y reinicie el demonio chilli. Los dispositivos iOS recibirán entonces una respuesta de sondeo fallida, identificarán correctamente el Captive Portal y mostrarán el aviso de inicio de sesión automáticamente.

Q2. Un operador de espacio de coworking desea implementar termostatos inteligentes IoT en todas sus instalaciones. Ya transmiten un SSID 'Cowork_Guest' (CoovaChilli) y un SSID 'Cowork_Staff' (802.1X). Los termostatos no admiten WPA2-Enterprise. ¿Cómo los incorpora de forma segura sin agregar un tercer SSID?

Sugerencia: Los dispositivos IoT normalmente solo admiten WPA2-PSK. Considere qué SSID existente se puede extender para admitir contraseñas por dispositivo.

Ver respuesta modelo

Configure PPSK en el SSID 'Cowork_Staff' habilitando wpa_psk_radius=2 en la configuración de hostapd. Registre la dirección MAC de cada termostato en el servidor RADIUS de Purple con una contraseña única y la VLAN 40 (VLAN de IoT) como Tunnel-Private-Group-ID. Cuando un termostato se conecta, hostapd consulta al servidor RADIUS con la MAC del dispositivo, recibe la PSK única y la asignación de VLAN, y coloca el termostato en la VLAN 40, completamente aislado del tráfico del personal en la VLAN 10. Este enfoque evita un tercer SSID, mantiene la eficiencia de RF y aplica el acceso de menor privilegio para los dispositivos IoT sin requerir una infraestructura de certificados 802.1X.

Q3. Después de implementar OpenWrt con CoovaChilli en una tienda de retail, el panel de analíticas de Purple muestra cero sesiones activas y ningún dato de ancho de banda, a pesar de que los huéspedes se conectan y navegan por internet con éxito. ¿Cuál es la causa más probable y cuáles son los dos pasos para diagnosticarla?

Sugerencia: La autenticación (puerto 1812) y la contabilidad (puerto 1813) son funciones RADIUS independientes.

Ver respuesta modelo

La configuración de contabilidad (accounting) de RADIUS falta o está bloqueada. Paso 1: Verifique la configuración de CoovaChilli. Compruebe que HS_RADIUS y HS_RADIUS2 estén configurados correctamente en /etc/chilli/defaults, y confirme que radiusacctport esté configurado en 1813. Si HS_RADIUS2 no está configurado, no hay un servidor de contabilidad definido. Paso 2: Verifique las reglas del firewall. Confirme que el tráfico saliente del puerto UDP 1813 desde el router OpenWrt hacia las direcciones IP del servidor RADIUS de Purple esté permitido por el firewall perimetral del lugar. Use 'tcpdump -i eth0 udp port 1813' en el dispositivo OpenWrt para confirmar si se están enviando paquetes de contabilidad. Si los paquetes aparecen en tcpdump pero el panel permanece vacío, el problema es que un firewall está bloqueando el tráfico entre el router y los servidores RADIUS en la nube de Purple.

Q4. Una implementación de OpenWrt en un estadio utiliza la asignación dinámica de VLAN a través de RADIUS para segmentar el WiFi de los aficionados (VLAN 30), los medios de comunicación (VLAN 40) y las operaciones (VLAN 50). Después de actualizar los puntos de acceso a un nuevo hardware que ejecuta OpenWrt 19.07 con controladores ath10k, la asignación de VLAN deja de funcionar. Todos los usuarios autenticados terminan en la VLAN predeterminada, independientemente de los atributos de RADIUS. ¿Cuál es la causa conocida?

Sugerencia: Considere el soporte a nivel de controlador para el modo AP/VLAN en ath10k.

Ver respuesta modelo

Esta es una regresión conocida en el firmware ath10k-ct (Candela Technologies) incluido en OpenWrt 19.07. El controlador ath10k-ct en esta versión tiene un error que rompe el modo AP/VLAN, lo que impide que funcione la asignación dinámica de VLAN. La resolución es actualizar a OpenWrt 21.02 o posterior, donde se actualizó el controlador ath10k-ct para restaurar la funcionalidad AP/VLAN. Alternativamente, reemplace el firmware ath10k-ct con el firmware ath10k estándar (variante no CT) en la compilación 19.07. Este problema no afecta al hardware basado en ath9k, que maneja correctamente el modo AP/VLAN en todas las versiones de OpenWrt.