Pular para o conteúdo principal

OpenWrt Custom Firmware Integration with Purple WiFi

Este guia fornece o manual de integração completo para implantar o firmware personalizado OpenWrt com Purple WiFi. Ele abrange a configuração do Captive Portal CoovaChilli, gerenciamento de walled garden do iptables, WiFi seguro para funcionários 802.1X com hostapd e segmentação PPSK multilocatário com atribuição de VLAN dinâmica - fornecendo às equipes de TI as etapas exatas de configuração necessárias 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 questões práticas📚 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. Eu sou o seu anfitrião e, nos próximos dez minutos, vamos detalhar a integração do firmware personalizado OpenWrt com o Purple WiFi. Se você é um gerente de TI, arquiteto de rede ou CTO implantando firmware personalizado em ambientes de hospitalidade, varejo ou setor público, este briefing é para você. Vamos deixar de lado a teoria acadêmica e fornecer o manual exato para configurar o CoovaChilli, proteger redes corporativas com 802.1X e segmentar ambientes multi-tenant usando Private Pre-Shared Keys. Por que isso importa? Porque implantar um firmware personalizado como o OpenWrt oferece uma flexibilidade incrível e independência de hardware. Mas sem uma camada de controle de acesso estruturada e orientada por identidade, essa flexibilidade se torna um risco de segurança. Você precisa capturar dados proprietários de forma segura, garantir a conformidade com a GDPR e segmentar seu tráfego com confiabilidade. Vamos entrar no detalhamento técnico. [1:00 - 6:00] Detalhamento Técnico O núcleo da integração com o OpenWrt depende do CoovaChilli. O CoovaChilli é o controlador de acesso de código aberto que intercepta o tráfego de clientes não autenticados e o redireciona para o Captive Portal da Purple. Quando um visitante se conecta ao seu SSID aberto, o CoovaChilli atua como o guardião. Ele atribui um endereço IP por meio de seu próprio servidor DHCP interno, em execução na interface tun0, e bloqueia todo o tráfego, exceto o que você permitir explicitamente no walled garden. Quando o visitante tenta navegar, o CoovaChilli intercepta a solicitação HTTP e emite um redirecionamento para a splash page da Purple. É aqui que a configuração do walled garden é crítica. No seu arquivo chilli.conf, você deve definir o parâmetro HS_UAMDOMAINS. Esta é uma lista separada por vírgulas de domínios que os visitantes podem acessar antes de se autenticarem. Você deve incluir splash.purple.ai, api.purple.ai e os diversos domínios de CDN que usamos para servir os recursos do portal. Se você esquecer de um domínio, o portal falhará ao carregar ou os botões de login social não funcionarão. É simples assim. Assim que o visitante se autentica no portal da Purple, o servidor RADIUS na nuvem da Purple envia uma mensagem Access-Accept de volta para o CoovaChilli na porta UDP 1812. O CoovaChilli então autoriza o endereço MAC, abre as regras de firewall para essa sessão e começa a enviar dados de contabilidade na porta UDP 1813. A contabilidade não é opcional. É assim que a Purple rastreia a duração da sessão e o uso de dados para o seu painel de analytics. Agora, vamos falar sobre o WiFi de funcionários. Você não usa o CoovaChilli para funcionários. Para redes de funcionários, você usa o hostapd com WPA2-Enterprise ou WPA3-Enterprise. Esta é a autenticação padrão 802.1X. O ponto de acesso atua como o autenticador, encaminhando mensagens EAP para o seu servidor RADIUS. Para dispositivos corporativos, você deve implantar EAP-TLS, que usa certificados digitais em vez de senhas. Isso elimina completamente o roubo de credenciais. Você configura o hostapd.conf para apontar para o seu servidor RADIUS, e o servidor RADIUS dita a atribuição de VLAN para aquele usuário específico. Isso nos leva a um dos recursos mais poderosos em implantações modernas do OpenWrt: Private Pre-Shared Keys, ou PPSK. Em um ambiente de múltiplos inquilinos — digamos, um imóvel para locação residencial ou um espaço de coworking — você não quer cinquenta SSIDs diferentes transmitindo. Isso arruína a eficiência do seu tempo de transmissão. Em vez disso, você transmite um único SSID. Quando um dispositivo se conecta, o hostapd envia o endereço MAC para o servidor RADIUS. O servidor RADIUS responde com uma senha específica e um ID de VLAN específico para aquele dispositivo, usando o atributo Tunnel-Password. Isso significa que o funcionário do varejo na loja A é direcionado para a VLAN 10, enquanto o participante do evento no salão principal é direcionado para a VLAN 30, todos se conectando exatamente ao mesmo SSID. É elegante, escala e impõe o acesso de menor privilégio na borda. [6:00 - 8:00] Recomendações de Implementação e Armadilhas Vamos discutir a implementação. Ao implantar o OpenWrt com a Purple, seu primeiro passo é sempre recuperar suas credenciais RADIUS no portal da Purple. Você precisa dos endereços IP primário e secundário do RADIUS, do segredo compartilhado (shared secret) e da URL do portal. Na sua configuração do OpenWrt, você definirá a interface da sua rede de convidados — normalmente eth1 ou wlan0 — e vinculará o CoovaChilli a ela. Certifique-se de que o HS_RADSECRET no seu chilli.conf corresponda exatamente ao que está no portal da Purple. Uma divergência de um único caractere causará falhas silenciosas de autenticação. A maior armadilha que vemos é a resolução de DNS pré-autenticação. O CoovaChilli intercepta as requisições de DNS. Se o seu firewall upstream bloquear o roteador OpenWrt de resolver DNS externo, o redirecionamento do Captive Portal falhará. Certifique-se de que o seu roteador OpenWrt tenha acesso irrestrito de DNS a resolvedores públicos como Google ou OpenDNS. Outro problema comum são os mecanismos de detecção de Captive Portal integrados no iOS e Android. Os dispositivos Apple tentam acessar captive.apple.com para verificar a conectividade com a internet. Se você colocar captive.apple.com na lista de permissões (walled garden), o dispositivo pensará que tem acesso à internet e não exibirá o assistente de rede cativa automaticamente. Se você deseja o pop-up automático, mantenha os domínios da Apple fora do seu walled garden. [8:00 - 9:00] Perguntas e Respostas Rápidas Vamos para 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. Você vincula o CoovaChilli à interface do seu SSID de convidados e configura o hostapd com 802.1X na interface do seu SSID de funcionários. Eles operam 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 direcionar o usuário autenticado para uma VLAN específica. Pergunta três: O que acontece se o roteador OpenWrt perder a conexão com o servidor RADIUS do Purple? O CoovaChilli falhará ao autenticar novas sessões. As sessões autorizadas existentes permanecerão ativas até que o tempo limite da sessão expire. Sempre configure o servidor RADIUS secundário do Purple para garantir alta disponibilidade. [9:00 - 10:00] Resumo e Próximos Passos Para resumir: O OpenWrt oferece uma plataforma robusta e agnóstica de hardware para WiFi corporativo. Ao integrar o CoovaChilli para acesso de visitantes e o hostapd para equipe segura e PPSK multi-tenant, você constrói uma Rede Baseada em Identidade. O Purple abstrai a complexidade da infraestrutura RADIUS, oferecendo um portal gerenciado na nuvem que captura dados primários e garante a conformidade. Seu próximo passo é auditar suas implantações atuais de firmware personalizado. Certifique-se de que seus walled gardens estejam totalmente preenchidos, verifique seus intervalos de contabilização RADIUS e comece a planejar sua migração de PSKs compartilhados para a segmentação dinâmica de PPSK. Obrigado por ouvir o Informativo Técnico do Purple. Para saber mais sobre como o Purple pode proteger e monetizar seu WiFi de visitantes, visite purple.ai. Até a 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 de código aberto que fornece um Captive Portal e ambiente de walled garden para redes sem fio, usando RADIUS para autenticação e bilhetagem (accounting).

As equipes de TI implantam o CoovaChilli no OpenWrt para interceptar o tráfego HTTP de visitantes e redirecioná-lo para a splash page da Purple. Ele gerencia as regras de iptables que aplicam o walled garden e concedem acesso à internet pós-autenticação.

Walled garden

Uma lista de permissões (allowlist) rigorosa de endereços IP ou domínios que um usuário não autenticado pode acessar antes de concluir a autenticação no Captive Portal.

Crítico para permitir que os dispositivos dos visitantes carregem os elementos gráficos do portal da Purple e acessem as APIs de login de redes sociais, bloqueando 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 onde senhas exclusivas são atribuídas a usuários ou dispositivos individuais para o mesmo SSID de WiFi, com o RADIUS retornando a senha correta e a atribuição de VLAN por endereço MAC do dispositivo.

Usado para segmentar ambientes multi-inquilino (multi-tenant) sem transmitir múltiplos SSIDs. Suportado no 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 usuário autenticado específico em uma VLAN virtual específica, usando os atributos RADIUS Tunnel-Type, Tunnel-Medium-Type e Tunnel-Private-Group-ID.

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

IEEE 802.1X

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

O protocolo subjacente para WiFi seguro de funcionários no OpenWrt. Requer o pacote completo wpad ou wpad-openssl - o wpad-mini não possui suporte para isso.

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

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

O padrão ouro para autenticação de dispositivos corporativos. Elimina totalmente as senhas, neutralizando o roubo de credenciais e ataques de phishing. Requer uma infraestrutura PKI para emitir certificados de clientes.

Captive Network Assistant (CNA)

O pseudo-navegador que dispositivos iOS e Android exibem automaticamente quando detectam que estão atrás de um Captive Portal, com base na sondagem de URLs de detecção específicas.

Os engenheiros de rede devem gerenciar seus walled gardens com cuidado para controlar se o CNA é ativado automaticamente. A maioria das implantações de hotelaria exclui domínios de detecção da Apple e do Google para forçar a exibição do pop-up do CNA.

RADIUS accounting

O terceiro pilar da estrutura AAA (Autenticação, Autorização e Auditoria/Accounting), rastreando o consumo de recursos de rede ao registrar eventos de início, atualizações provisórias e término de sessão na porta UDP 1813.

Necessário para que a Purple preencha 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 IEEE 802.11 de código aberto usado pelo OpenWrt para gerenciar interfaces sem fio, com suporte aos modos de autenticação WPA2/WPA3-Enterprise, 802.1X e PPSK.

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

Tunnel-Password attribute

Um atributo RADIUS (atributo 69) usado em implantações PPSK para retornar uma senha por dispositivo do servidor RADIUS para o ponto de acesso durante a autenticação MAC.

O mecanismo pelo qual o servidor RADIUS da Purple entrega PSKs exclusivas ao daemon hostapd do OpenWrt para segmentação multi-inquilino baseada em PPSK.

Exemplos práticos

Um hotel de 200 quartos precisa fornecer acesso WiFi em camadas: internet básica gratuita para hóspedes, acesso de alta velocidade para membros do programa de fidelidade e acesso seguro para dispositivos de ponto de venda (POS) dos funcionários. A equipe de TI deseja minimizar a sobrecarga de SSID e impor o isolamento de rede PCI DSS entre os terminais POS e o tráfego de hóspedes.

Implante pontos de acesso OpenWrt transmitindo dois SSIDs: 'Hotel_Guest' (aberto, gerenciado pelo CoovaChilli) e 'Hotel_Secure' (gerenciado por PPSK via hostapd). Em 'Hotel_Guest', o CoovaChilli redireciona todo o tráfego não autenticado para a splash page da Purple. Os hóspedes se autenticam por meio do portal e entram na VLAN 20 (apenas internet). Em 'Hotel_Secure', configure o hostapd com wpa_psk_radius=2. Quando o dispositivo de um membro do programa de fidelidade se conecta, o servidor RADIUS retorna sua PSK exclusiva e a VLAN 21 (camada de maior largura de banda). Quando um terminal POS se conecta, o servidor RADIUS retorna 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 portador do cartão (VLAN 10) e o tráfego de hóspedes (VLANs 20 e 21) no nível do ponto de acesso.

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

Uma rede de varejo está implantando roteadores OpenWrt em 50 locais. Durante o 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 em um tempo limite de conexão (timeout). O botão do Google Sign-In funciona corretamente.

O problema é um walled garden incompleto do CoovaChilli. O fluxo de autenticação do Facebook requer acesso a múltiplos domínios: facebook.com, connect.facebook.net e fbcdn.net (CDN do Facebook para recursos de login). O Google Sign-In 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'. Recarregue o daemon do chilli com '/etc/init.d/chilli restart' e teste novamente. Para diagnosticar futuros problemas de walled garden sistematicamente, conecte um dispositivo de teste ao SSID de hóspedes e use as ferramentas de desenvolvedor do navegador (guia Rede) para identificar quais solicitações retornam erros de conexão antes da autenticação.

Comentário do examinador: Os fluxos modernos de login social carregam recursos 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 depuração de walled garden - usando ferramentas de desenvolvedor do navegador para identificar solicitações pré-autenticação bloqueadas - é muito mais confiável do que tentar adivinhar listas de domínios. Antes de entrar em operação em todos os 50 locais, o engenheiro deve testar todos os métodos de autenticação configurados (Facebook, Google, e-mail, SMS) e verificar se cada um é concluído com sucesso.

Questões práticas

Q1. Você implantou o OpenWrt com CoovaChilli em uma propriedade Premier Inn. Os hóspedes relatam que seus iPhones não exibem automaticamente a tela de login ao se conectarem ao WiFi de convidados. Eles precisam abrir manualmente o Safari e navegar até um site HTTP para acionar o portal. Qual alteração de configuração causa isso e como você resolve o problema?

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

Ver resposta modelo

O engenheiro incluiu o domínio de detecção de Captive Portal da Apple (captive.apple.com) no walled garden do CoovaChilli via HS_UAMDOMAINS. Quando um iPhone se conecta, 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 isso, remova captive.apple.com de HS_UAMDOMAINS e reinicie o daemon do chilli. Os dispositivos iOS receberão uma resposta de sonda com falha, identificarão corretamente o Captive Portal e exibirão a tela de login automaticamente.

Q2. Um operador de espaço de coworking deseja implantar termostatos inteligentes de IoT em suas propriedades. Eles já transmitem um SSID 'Cowork_Guest' (CoovaChilli) e um SSID 'Cowork_Staff' (802.1X). Os termostatos não suportam WPA2-Enterprise. Como você os integra de forma segura sem adicionar um terceiro SSID?

Dica: Dispositivos IoT normalmente suportam apenas WPA2-PSK. Considere qual SSID existente pode ser estendido para suportar senhas por dispositivo.

Ver resposta modelo

Configure PPSK no SSID 'Cowork_Staff' habilitando wpa_psk_radius=2 na configuração do hostapd. Registre o endereço MAC de cada termostato no servidor RADIUS da Purple com uma senha exclusiva e VLAN 40 (VLAN IoT) como o Tunnel-Private-Group-ID. Quando um termostato se conecta, o hostapd consulta o servidor RADIUS com o MAC do dispositivo, recebe o PSK exclusivo e a atribuição de VLAN, e coloca o termostato na VLAN 40 - totalmente isolado do tráfego de funcionários na VLAN 10. Essa abordagem evita um terceiro SSID, mantém a eficiência de RF e impõe o acesso de menor privilégio para dispositivos IoT sem exigir infraestrutura de certificados 802.1X.

Q3. Após a implantação do OpenWrt com CoovaChilli em um estabelecimento comercial, o painel de análise da Purple exibe zero sessões ativas e nenhum dado de largura de banda, apesar de os hóspedes conseguirem se conectar e navegar na internet com sucesso. Qual é a causa mais provável e quais são as duas etapas para diagnosticá-la?

Dica: Autenticação (porta 1812) e tarifação (accounting) (porta 1813) são funções RADIUS separadas.

Ver resposta modelo

A configuração de accounting do RADIUS está ausente ou bloqueada. Etapa 1: Verifique a configuração do CoovaChilli. Certifique-se de que HS_RADIUS e HS_RADIUS2 estão definidos corretamente em /etc/chilli/defaults, e confirme se a porta radiusacctport está definida como 1813. Se HS_RADIUS2 não estiver configurado, não há servidor de accounting definido. Etapa 2: Verifique as regras de firewall. Confirme se o tráfego de saída da porta UDP 1813 do roteador OpenWrt para os IPs do servidor RADIUS da Purple é permitido pelo firewall de borda do estabelecimento. Use 'tcpdump -i eth0 udp port 1813' no dispositivo OpenWrt para confirmar se os pacotes de accounting estão sendo enviados. Se os pacotes aparecerem no tcpdump mas o painel continuar vazio, o problema é um firewall bloqueando o tráfego entre o roteador e os servidores RADIUS na nuvem da Purple.

Q4. Uma implantação do OpenWrt em um estádio usa atribuição dinâmica de VLAN via RADIUS para segmentar o WiFi de torcedores (VLAN 30), imprensa (VLAN 40) e operações (VLAN 50). Após atualizar os pontos de acesso para um novo hardware executando OpenWrt 19.07 com drivers ath10k, a atribuição de VLAN deixa de funcionar. Todos os usuários autenticados caem na VLAN padrão, independentemente dos atributos RADIUS. Qual é a causa conhecida?

Dica: Considere o suporte em nível de driver 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 driver ath10k-ct nesta versão possui um bug que quebra o modo AP/VLAN, impedindo que a atribuição dinâmica de VLAN funcione. A solução é atualizar para o OpenWrt 21.02 ou posterior, onde o driver ath10k-ct foi atualizado para restaurar a funcionalidade AP/VLAN. Como alternativa, 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 com o modo AP/VLAN corretamente em todas as versões do OpenWrt.