Saltar para o conteúdo principal

Integração de Firmware Personalizado OpenWrt com Purple WiFi

Este guia fornece o manual de integração completo para implementar firmware personalizado OpenWrt com Purple WiFi. Abrange a configuração do Captive Portal CoovaChilli, a gestão de walled garden com iptables, WiFi seguro para funcionários em 802.1X com hostapd, e segmentação PPSK multi-tenant com atribuição dinâmica de VLAN - oferecendo às equipas de TI os passos exatos de configuração necessários para criar uma Rede Baseada em Identidade em qualquer hardware compatível com OpenWrt.

📖 9 min de leitura📝 2,146 palavras🔧 2 exemplos práticos4 perguntas de prática📚 10 definições principais

Ouça este guia

Ver transcrição do podcast
[0:00 - 1:00] Introdução e Contexto Bem-vindo ao Purple Technical Briefing. Sou o seu anfitrião e, nos próximos dez minutos, iremos analisar detalhadamente a integração do firmware personalizado OpenWrt com o Purple WiFi. Se é um gestor de TI, um arquiteto de rede ou um CTO a implementar firmware personalizado em ambientes de hotelaria, retalho ou setor público, este briefing é para si. Iremos direto ao assunto, sem rodeios académicos, e daremos o manual exato para configurar o CoovaChilli, proteger as redes do pessoal com 802.1X e segmentar ambientes multi-tenant utilizando Private Pre-Shared Keys. Porque é que isto importa? Porque a implementação de firmware personalizado como o OpenWrt dá-lhe uma flexibilidade incrível e independência de hardware. Mas sem uma camada de controlo de acessos estruturada e baseada em identidade, essa flexibilidade torna-se um risco de segurança. Precisa de capturar dados primários (first-party data) de forma segura, garantir a conformidade com o GDPR e segmentar o seu tráfego de forma fiável. Vamos entrar na análise técnica detalhada. [1:00 - 6:00] Análise Técnica Detalhada O núcleo da integração com OpenWrt assenta no CoovaChilli. O CoovaChilli é o controlador de acessos open-source que intercepta o tráfego de clientes não autenticados e o redireciona para o Captive Portal da Purple. Quando um convidado se liga ao seu SSID aberto, o CoovaChilli funciona como o guardião. Atribui um endereço IP através do seu próprio servidor DHCP interno, a correr na interface tun0, e bloqueia todo o tráfego exceto aquele que autorizar explicitamente no walled garden. Quando o convidado tenta navegar, o CoovaChilli intercepta o pedido HTTP e emite um redirecionamento para a splash page da Purple. É aqui que a configuração do walled garden é crítica. No seu ficheiro chilli.conf, deve definir o parâmetro HS_UAMDOMAINS. Esta é uma lista de domínios separados por vírgulas aos quais os convidados podem aceder antes de se autenticarem. Deve incluir splash.purple.ai, api.purple.ai e os vários domínios de CDN que utilizamos para disponibilizar os recursos do portal. Se faltar um domínio, o portal não irá carregar ou os botões de login social deixarão de funcionar. É tão simples quanto isto. Assim que o convidado se autentica no portal Purple, o servidor cloud RADIUS da Purple envia uma mensagem Access-Accept de volta para o CoovaChilli na porta UDP 1812. O CoovaChilli autoriza então o endereço MAC, abre as regras de firewall para essa sessão e começa a enviar dados de accounting na porta UDP 1813. O accounting não é opcional. É a forma como a Purple monitoriza a duração da sessão e a utilização de dados para o seu painel de analytics. Agora, falemos sobre o WiFi para funcionários. Não deve utilizar o CoovaChilli para funcionários. Para redes de funcionários, utiliza-se o hostapd com WPA2-Enterprise ou WPA3-Enterprise. Esta é a autenticação padrão 802.1X. O ponto de acesso atua como o autenticador, reencaminhando as mensagens EAP para o seu servidor RADIUS. Para dispositivos corporativos, deve implementar o EAP-TLS, que utiliza certificados digitais em vez de palavras-passe. Isto elimina completamente o roubo de credenciais. Configura o hostapd.conf para apontar para o seu servidor RADIUS, e o servidor RADIUS dita a atribuição de VLAN para esse utilizador específico. Isto leva-nos a uma das funcionalidades mais poderosas nas implementações modernas de OpenWrt: Chaves Pré-Partilhadas Privadas, ou PPSK. Num ambiente multi-tenant - por exemplo, um imóvel build-to-rent ou um espaço de coworking - não quer ter cinquenta SSIDs diferentes a transmitir. Isso arruína a eficiência do seu tempo de antena. Em vez disso, transmite apenas um SSID. Quando um dispositivo se liga, o hostapd envia o endereço MAC para o servidor RADIUS. O servidor RADIUS responde com uma frase secreta específica e um ID de VLAN específico para esse dispositivo, utilizando o atributo Tunnel-Password. Isto significa que o funcionário de retalho da loja A é colocado na VLAN 10, enquanto o participante do evento no salão principal é colocado na VLAN 30, ligando-se todos exatamente ao mesmo SSID. É elegante, escala e impõe o acesso de menor privilégio na periferia. [6:00 - 8:00] Recomendações de Implementação e Erros Comuns Vamos discutir a implementação. Ao implementar o OpenWrt com a Purple, o seu primeiro passo é sempre obter as suas credenciais RADIUS a partir do portal Purple. Precisa dos endereços IP RADIUS primário e secundário, do segredo partilhado e do URL do portal. Na sua configuração do OpenWrt, irá definir a interface da sua rede de convidados - tipicamente eth1 ou wlan0 - e associar o CoovaChilli a ela. Certifique-se de que o HS_RADSECRET no seu chilli.conf corresponde exatamente ao que está no portal Purple. Uma divergência de um único carácter causará falhas de autenticação silenciosas. O maior erro que vemos é a resolução de DNS antes da autenticação. O CoovaChilli intercetará os pedidos de DNS. Se a sua firewall a montante impedir que o router OpenWrt resolva DNS externos, o redirecionamento do Captive Portal irá falhar. Certifique-se de que o seu router OpenWrt tem acesso DNS sem restrições a resolvedores públicos como o Google ou OpenDNS. Outro problema comum são os mecanismos de deteção de Captive Portal integrados no iOS e Android. Os dispositivos Apple tentam contactar captive.apple.com para verificar a ligação à Internet. Se colocar captive.apple.com na lista de permissões (walled garden), o dispositivo pensará que tem acesso à Internet e não abrirá o assistente de rede cativa. Se pretender o pop-up automático, mantenha os domínios da Apple fora do walled garden. [8:00 - 9:00] Perguntas e Respostas Rápidas Vamos fazer uma sessão rápida de Perguntas e Respostas. Pergunta um: Posso executar o CoovaChilli e o hostapd 802.1X no mesmo ponto de acesso OpenWrt? Sim. Associa o CoovaChilli à sua interface de SSID de convidados e configura o hostapd com 802.1X na sua interface de SSID de funcionários. Funcionam de forma independente. Pergunta dois: O Purple suporta atribuição dinâmica de VLAN com OpenWrt? Sim. Os servidores RADIUS do Purple podem retornar atributos RADIUS padrão, incluindo Tunnel-Type, Tunnel-Medium-Type e Tunnel-Private-Group-ID, instruindo o OpenWrt a colocar o utilizador autenticado numa VLAN específica. Pergunta três: O que acontece se o router OpenWrt perder a ligação ao servidor RADIUS do Purple? O CoovaChilli falhará na autenticação de novas sessões. As sessões autorizadas existentes permanecerão ativas até que o limite de tempo da sessão expire. Configure sempre o servidor RADIUS secundário do Purple para garantir alta disponibilidade. [9:00 - 10:00] Resumo e Próximos Passos Para resumir: O OpenWrt fornece uma plataforma robusta e agnóstica em termos de hardware para WiFi empresarial. Ao integrar o CoovaChilli para acesso de convidados e o hostapd para funcionários seguros e PPSK multi-tenant, constrói uma Rede Baseada em Identidade. O Purple abstrai a complexidade da infraestrutura RADIUS, fornecendo um portal gerido na cloud que recolhe dados primários e garante a conformidade. O seu próximo passo é auditar as suas implementações atuais de firmware personalizado. Certifique-se de que os seus walled gardens estão totalmente preenchidos, verifique os seus intervalos de contabilidade RADIUS e comece a planear a sua migração de PSKs partilhados para a segmentação PPSK dinâmica. Obrigado por ouvir o Briefing Técnico do Purple. Para saber mais sobre como o Purple pode proteger e rentabilizar o seu WiFi de convidados, visite purple.ai. Até à 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 वरील मार्गदर्शक देखील उपयुक्त वाटू शकते.

Definições Principais

CoovaChilli

Um controlador de acesso de software open-source que fornece um Captive Portal e um ambiente de walled garden para redes sem fios, utilizando RADIUS para autenticação e faturação.

As equipas de TI implementam o CoovaChilli em OpenWrt para intercetar o tráfego HTTP de convidados e redirecioná-lo para a splash page da Purple. Este gere as regras de iptables que aplicam o walled garden e concedem acesso à internet pós-autenticação.

Walled garden

Uma lista de permissões estrita de endereços IP ou domínios a que um utilizador não autenticado pode aceder antes de concluir a autenticação no Captive Portal.

Crítico para permitir que os dispositivos dos convidados carreguem os gráficos do portal da Purple e acedam às API de início de sessão das redes sociais, bloqueando simultaneamente o acesso geral à internet. Um walled garden incompleto é a causa mais comum de falhas no Captive Portal.

PPSK (Private Pre-Shared Key)

Um mecanismo de segurança no qual são atribuídas palavras-passe exclusivas a utilizadores ou dispositivos individuais para o mesmo SSID de WiFi, com o RADIUS a devolver a palavra-passe correta e a atribuição de VLAN por endereço MAC do dispositivo.

Utilizado para segmentar ambientes multi-tenant sem transmitir múltiplos SSID. Suportado em OpenWrt através do parâmetro wpa_psk_radius no hostapd.

Dynamic VLAN assignment

O processo em que um servidor RADIUS instrui o ponto de acesso a colocar um utilizador autenticado específico numa VLAN específica, utilizando os atributos RADIUS Tunnel-Type, Tunnel-Medium-Type e Tunnel-Private-Group-ID.

O mecanismo central para Redes Baseadas em Identidade. A identidade do utilizador, e não a sua porta física, determina o seu segmento de rede e direitos de acesso.

IEEE 802.1X

O padrão IEEE para controlo de acesso à rede baseado em portas, definindo as funções de Autenticador (ponto de acesso), Suplicante (dispositivo cliente) e Servidor de Autenticação (RADIUS) na autenticação WiFi empresarial.

O protocolo subjacente para WiFi seguro de funcionários em OpenWrt. Requer o pacote completo wpad ou wpad-openssl - o wpad-mini não o suporta.

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

Um método de autenticação 802.1X que utiliza autenticação mútua baseada em certificados, exigindo que tanto o servidor RADIUS como o dispositivo cliente apresentem certificados digitais válidos.

O padrão de excelência para autenticação de dispositivos corporativos. Elimina totalmente as palavras-passe, neutralizando o roubo de credenciais e ataques de phishing. Requer uma infraestrutura PKI para emitir certificados de cliente.

Captive Network Assistant (CNA)

O pseudo-browser que os dispositivos iOS e Android apresentam automaticamente quando detetam que estão atrás de um Captive Portal, com base na sondagem de URL de deteção específicos.

Os engenheiros de rede devem gerir os seus walled gardens com cuidado para controlar se o CNA é acionado automaticamente. A maioria das implementações em hotelaria exclui os domínios de deteção da Apple e da Google para forçar a abertura da janela pop-up do CNA.

RADIUS accounting

O terceiro pilar da estrutura AAA (Autenticação, Autorização, Faturação), que monitoriza o consumo de recursos de rede registando eventos de início de sessão, atualizações intermédias e paragem de sessão na porta UDP 1813.

Necessário para a Purple preencher o painel de análise com dados de duração da sessão e largura de banda. Configurado no CoovaChilli através do HS_RADIUS2 e do parâmetro radiusacctport.

hostapd

O daemon de ponto de acesso open-source IEEE 802.11 utilizado pelo OpenWrt para gerir interfaces sem fios, suportando os modos de autenticação WPA2/WPA3-Enterprise, 802.1X e PPSK.

O daemon central para WiFi de funcionários e PPSK em OpenWrt. O pacote wpad-openssl fornece a compilação completa do hostapd necessária para autenticação empresarial.

Tunnel-Password attribute

Um atributo RADIUS (atributo 69) utilizado em implementações PPSK para devolver uma palavra-passe por dispositivo do servidor RADIUS para o ponto de acesso durante a autenticação MAC.

O mecanismo através do qual o servidor RADIUS da Purple fornece chaves PSK exclusivas ao daemon hostapd do OpenWrt para segmentação multi-tenant baseada em PPSK.

Exemplos Práticos

Um hotel com 200 quartos necessita de disponibilizar acesso WiFi em níveis: acesso básico gratuito para hóspedes, acesso de alta velocidade para membros do programa de fidelização e acesso seguro para os dispositivos de ponto de venda (POS) dos funcionários. A equipa de TI pretende minimizar o impacto do número de SSIDs e impor o isolamento de rede PCI DSS entre os terminais POS e o tráfego de hóspedes.

Implemente pontos de acesso OpenWrt transmitindo dois SSIDs: 'Hotel_Guest' (aberto, gerido pelo CoovaChilli) e 'Hotel_Secure' (gerido por PPSK através de hostapd). No 'Hotel_Guest', o CoovaChilli redireciona todo o tráfego não autenticado para a splash page da Purple. Os hóspedes autenticam-se através do portal e entram na VLAN 20 (apenas internet). No 'Hotel_Secure', configure o hostapd com wpa_psk_radius=2. Quando o dispositivo de um membro de fidelização se liga, o servidor RADIUS devolve a sua PSK única e a VLAN 21 (nível de largura de banda superior). Quando um terminal POS se liga, o servidor RADIUS devolve a PSK do dispositivo POS e a VLAN 10 (acesso à rede interna, internet bloqueada). A segmentação de VLAN impõe o isolamento PCI DSS entre os dados do titular do cartão (VLAN 10) e o tráfego de hóspedes (VLANs 20 e 21) ao nível do ponto de acesso.

Comentário do Examinador: Esta arquitetura utiliza dois SSIDs em vez de um para separar o fluxo do Captive Portal (hóspedes) do fluxo PPSK (funcionários e fidelização). Esta é a abordagem correta porque o CoovaChilli e o PPSK do hostapd servem modelos de autenticação fundamentalmente diferentes. Combiná-los num único SSID exigiria uma configuração de proxy RADIUS que adicionaria complexidade desnecessária. O modelo de dois SSIDs é mais simples, mais fiável e mais fácil de auditar para a conformidade PCI DSS.

Uma cadeia de retalho está a implementar routers OpenWrt em 50 locais. Durante os testes de aceitação do utilizador (UAT) no primeiro local, a splash page da Purple carrega corretamente após o redirecionamento, mas clicar no botão de login do Facebook resulta num limite de tempo de ligação (timeout). O botão de início de sessão da Google funciona corretamente.

O problema deve-se a um walled garden incompleto no CoovaChilli. O fluxo de autenticação do Facebook requer acesso a múltiplos domínios: facebook.com, connect.facebook.net e fbcdn.net (o CDN do Facebook para recursos de login). O início de sessão da Google funciona porque googleapis.com e gstatic.com já estão no walled garden. Atualize o parâmetro HS_UAMDOMAINS em /etc/chilli/defaults para adicionar '.facebook.com,.connect.facebook.net,.fbcdn.net'. Reinicie o daemon chilli com '/etc/init.d/chilli restart' e teste novamente. Para diagnosticar problemas futuros de walled garden de forma sistemática, ligue um dispositivo de teste ao SSID de hóspedes e utilize as ferramentas de programador do navegador (separador Rede) para identificar quais os pedidos que devolvem erros de ligação antes da autenticação.

Comentário do Examinador: Os fluxos modernos de login social carregam recursos a partir de múltiplos domínios de CDN e API. O SDK do Facebook, por si só, faz referência a pelo menos três domínios distintos. Uma abordagem sistemática para a depuração do walled garden - utilizando as ferramentas de programador do navegador para identificar pedidos pré-autenticação bloqueados - é muito mais fiável do que tentar adivinhar listas de domínios. Antes da entrada em produção em todos os 50 locais, o engenheiro deve testar todos os métodos de autenticação configurados (Facebook, Google, email, SMS) e verificar se cada um deles é concluído com sucesso.

Perguntas de Prática

Q1. Implementou o OpenWrt com CoovaChilli numa propriedade Premier Inn. Os clientes relatam que os seus iPhones não os solicitam automaticamente a iniciar sessão quando se ligam ao WiFi de convidados. Têm de abrir manualmente o Safari e navegar para um site HTTP para acionar o portal. Que alteração de configuração causa isto e como a resolve?

Dica: Considere como o iOS determina se uma rede tem acesso total à internet após a associação.

Ver resposta modelo

O engenheiro incluiu o domínio de deteção de Captive Portal da Apple (captive.apple.com) no walled garden do CoovaChilli via HS_UAMDOMAINS. Quando um iPhone se liga, o iOS envia uma sonda para captive.apple.com. Como este domínio está no walled garden, a sonda é bem-sucedida antes da autenticação, e o iOS conclui que tem acesso total à internet - suprimindo o pop-up do Captive Network Assistant. Para resolver isto, remova captive.apple.com de HS_UAMDOMAINS e reinicie o daemon do chilli. Os dispositivos iOS receberão então uma resposta de sonda falhada, identificarão corretamente o Captive Portal e apresentarão o ecrã de início de sessão automaticamente.

Q2. Um operador de espaço de coworking pretende implementar termóstatos inteligentes IoT em todas as suas instalações. Já transmitem um SSID 'Cowork_Guest' (CoovaChilli) e um SSID 'Cowork_Staff' (802.1X). Os termóstatos não suportam WPA2-Enterprise. Como os integra de forma segura sem adicionar um terceiro SSID?

Dica: Os dispositivos IoT normalmente suportam apenas WPA2-PSK. Considere qual o SSID existente que pode ser estendido para suportar palavras-passe por dispositivo.

Ver resposta modelo

Configure PPSK no SSID 'Cowork_Staff' ativando wpa_psk_radius=2 na configuração do hostapd. Registe o endereço MAC de cada termóstato no servidor RADIUS da Purple com uma palavra-passe única e a VLAN 40 (VLAN IoT) como Tunnel-Private-Group-ID. Quando um termóstato se liga, o hostapd consulta o servidor RADIUS com o MAC do dispositivo, recebe a PSK única e a atribuição de VLAN, e coloca o termóstato na VLAN 40 - totalmente isolado do tráfego da equipa na VLAN 10. Esta abordagem evita um terceiro SSID, mantém a eficiência de RF e aplica o acesso com privilégios mínimos para dispositivos IoT sem necessitar de infraestrutura de certificados 802.1X.

Q3. Após a implementação do OpenWrt com CoovaChilli num espaço comercial, o painel de análise da Purple mostra zero sessões ativas e nenhuns dados de largura de banda, apesar de os convidados se ligarem e navegarem na internet com sucesso. Qual é a causa mais provável e quais são os dois passos para a diagnosticar?

Dica: A autenticação (porta 1812) e a faturação (porta 1813) são funções RADIUS separadas.

Ver resposta modelo

A configuração de accounting do RADIUS está em falta ou bloqueada. Passo 1: Verifique a configuração do CoovaChilli. Confirme se HS_RADIUS e HS_RADIUS2 estão definidos corretamente em /etc/chilli/defaults, e confirme se a radiusacctport está definida para 1813. Se HS_RADIUS2 não estiver configurado, não há servidor de accounting definido. Passo 2: Verifique as regras da firewall. Confirme se o tráfego de saída da porta UDP 1813 do router OpenWrt para os endereços IP do servidor RADIUS da Purple é permitido pela firewall de borda do local. Utilize 'tcpdump -i eth0 udp port 1813' no dispositivo OpenWrt para confirmar se os pacotes de accounting estão a ser enviados. Se os pacotes aparecerem no tcpdump mas o painel continuar vazio, o problema é uma firewall a bloquear o tráfego entre o router e os servidores RADIUS na cloud da Purple.

Q4. Uma implementação do OpenWrt num estádio utiliza a atribuição dinâmica de VLAN via RADIUS para segmentar o WiFi de adeptos (VLAN 30), comunicação social (VLAN 40) e operações (VLAN 50). Após atualizar os pontos de acesso para novo hardware com OpenWrt 19.07 com controladores ath10k, a atribuição de VLAN deixa de funcionar. Todos os utilizadores autenticados vão para a VLAN padrão, independentemente dos atributos RADIUS. Qual é a causa conhecida?

Dica: Considere o suporte ao nível do controlador para o modo AP/VLAN no ath10k.

Ver resposta modelo

Esta é uma regressão conhecida no firmware ath10k-ct (Candela Technologies) incluído no OpenWrt 19.07. O controlador ath10k-ct nesta versão tem um erro que corrompe o modo AP/VLAN, impedindo o funcionamento da atribuição dinâmica de VLAN. A resolução é atualizar para o OpenWrt 21.02 ou posterior, onde o controlador ath10k-ct foi atualizado para restaurar a funcionalidade AP/VLAN. Alternativamente, substitua o firmware ath10k-ct pelo firmware ath10k padrão (variante não-CT) na compilação 19.07. Este problema não afeta o hardware baseado em ath9k, que lida corretamente com o modo AP/VLAN em todas as versões do OpenWrt.