Laboratório em bancada
Laboratório: Wi-Fi com Portal Cativo e Analytics usando OpenWrt, Nodogsplash e Presence Analytics
Você terá um ponto de acesso Wi-Fi com portal cativo e coleta de analytics de presença, usando apenas software livre, em cerca de 2 horas. O laboratório cobre desde a configuração do OpenWrt até a análise dos dados de presença.

- Duração estimada
- 120 min
- Passos
- 11
- Validações
- 5
Este laboratório ensina como montar um ambiente de rede Wi-Fi para clientes em loja, com controle de acesso via portal cativo e coleta de dados de presença, utilizando equipamentos comuns ou máquinas virtuais. Você aprenderá a configurar o OpenWrt, ativar o Nodogsplash para o portal cativo, garantir conformidade básica com a LGPD e implementar um sistema de analytics de presença via coleta de probes Wi-Fi. O foco é a aplicação prática para ambientes de varejo, como lojas e filiais, com base em padrões abertos.
Topologia
Um roteador com OpenWrt faz papel de AP Wi-Fi para clientes (rede 192.168.10.0/24), conectado por cabo a um servidor Linux (rede 192.168.10.2) que recebe os dados de analytics. Um notebook ou smartphone simula o cliente Wi-Fi. O roteador também tem acesso à Internet para redirecionar o portal cativo.
[Internet]
|
[OpenWrt AP]
192.168.10.1
/ \
[Servidor] [Cliente]
192.168.10.2 DHCP
(Analytics)
Equipamentos e software
| Item | Requisito, licença ou versão |
|---|---|
| Roteador com OpenWrt ou VM | CPU 1 núcleo, 128MB RAM, 1 porta WAN, 1 porta LAN, OpenWrt 22.03 ou superior |
| Servidor Linux (bare metal ou VM) | CPU 1 núcleo, 512MB RAM, Debian 11 ou superior |
| Notebook ou smartphone | Wi-Fi, navegador atual |
| OpenWrt | GPLv2 · 22.03 |
| Nodogsplash | GPLv3 · a versão estável atual |
| tcpdump | BSD · a versão estável atual |
| Presence Analytics (wifiprobe) | MIT · a versão estável atual |
Roteiro
- Preparar o roteador OpenWrt
Instale o OpenWrt no roteador ou VM. Isso garante controle total e suporte ao portal cativo.
Consulte https://openwrt.org/toh/start para o procedimento de instalação do seu hardware.O que você deve ver: Acesso à interface LuCI do OpenWrt em 192.168.1.1.
- Configurar interface LAN e Wi-Fi para clientes
Crie uma rede LAN dedicada para clientes Wi-Fi, isolada da rede administrativa.
Em /etc/config/network: config interface 'lan' option ifname 'eth1' option proto 'static' option ipaddr '192.168.10.1' option netmask '255.255.255.0'O que você deve ver: LAN configurada em 192.168.10.1.
- Configurar SSID de visitantes
Crie um SSID separado para clientes, com criptografia aberta (para portal cativo).
Em /etc/config/wireless: config wifi-iface option device 'radio0' option network 'lan' option mode 'ap' option ssid 'Loja-Visitante' option encryption 'none'O que você deve ver: SSID 'Loja-Visitante' visível para clientes.
- Instalar e configurar Nodogsplash
O Nodogsplash intercepta conexões e exibe o portal cativo. Instale e configure para liberar acesso apenas após aceite do termo.
opkg update opkg install nodogsplash Editar /etc/config/nodogsplash conforme a documentação.O que você deve ver: Clientes conectados ao Wi-Fi são redirecionados para o portal ao tentar acessar qualquer site.
- Customizar o portal cativo com termo LGPD
Adicione um termo de consentimento simples no portal, informando uso de dados conforme a LGPD.
Edite /etc/nodogsplash/htdocs/splash.html para incluir o texto do termo e botão de aceite.O que você deve ver: Página de portal exibe termo e botão de aceite.
- Testar acesso à Internet após aceite
Após aceitar o termo, o cliente deve acessar a Internet normalmente.
O que você deve ver: Navegação liberada após aceite.
- Configurar servidor de analytics de presença
No servidor Linux, instale um coletor de probes Wi-Fi para identificar dispositivos próximos, mesmo sem conexão.
apt update && apt install tcpdump git python3 git clone https://github.com/virjar/wifiprobe.git cd wifiprobe python3 wifiprobe.py --interface wlan0 --server 0.0.0.0:5000O que você deve ver: Servidor coletando e exibindo MACs de dispositivos próximos.
- Redirecionar tráfego de probes do OpenWrt para o servidor
Garanta que o tráfego de broadcast e probes chegue ao servidor. Em ambiente virtual, use modo bridge. Em hardware, conecte o servidor à mesma LAN do AP.
O que você deve ver: Servidor recebe probes de clientes próximos.
- Visualizar analytics de presença
Acesse a interface web ou logs do wifiprobe para ver dispositivos detectados, horários e contagem de presença.
tail -f wifiprobe.logO que você deve ver: MACs e horários de detecção aparecem no log.
- Isolar o tráfego do PDV
Garanta que a rede do PDV (ex: 192.168.20.0/24) não se comunique com a rede de visitantes.
Em /etc/config/firewall: config zone option name 'pdv' option network 'pdv' option input 'ACCEPT' option output 'ACCEPT' option forward 'REJECT'O que você deve ver: Clientes visitantes não acessam a rede do PDV.
- Testar continuidade após reinicialização
Reinicie todos os equipamentos e verifique se o portal cativo e analytics voltam a funcionar automaticamente.
rebootO que você deve ver: Portal cativo e analytics operando após boot.
Como saber que funcionou
| Teste | Comando | Critério |
|---|---|---|
| Cliente Wi-Fi é redirecionado ao portal cativo | Página de termo LGPD aparece ao tentar acessar qualquer site. | |
| Acesso à Internet liberado após aceite | Navegação normal após aceitar o termo. | |
| Servidor de analytics detecta dispositivos próximos | tail -f wifiprobe.log | MACs aparecem no log ao ligar/desligar Wi-Fi do cliente. |
| Isolamento entre visitantes e PDV | ping 192.168.20.2 | Sem resposta de ping da rede visitante para a rede PDV. |
| Persistência após reboot | reboot | Portal e analytics funcionando após reinicialização. |
Troubleshooting
| Sintoma | Causa provável | Correção |
|---|---|---|
| Portal cativo não aparece | Nodogsplash não iniciado ou mal configurado | Verifique status com 'ps | grep nodogsplash' e revise /etc/config/nodogsplash. |
| Cliente não recebe IP | DHCP desabilitado ou mal configurado | Revise /etc/config/dhcp e reinicie o serviço com '/etc/init.d/dnsmasq restart'. |
| Servidor de analytics não recebe probes | Interface Wi-Fi do servidor não está em modo monitor | Configure a interface com 'iwconfig wlan0 mode monitor'. |
| Visitante acessa rede do PDV | Firewall não isolou as redes | Revise regras em /etc/config/firewall e reinicie o firewall. |
| Analytics não inicia após reboot | wifiprobe não está em serviço automático | Configure um systemd service para iniciar o wifiprobe. |
Segurança e hardening
- Altere a senha padrão do OpenWrt imediatamente após a instalação.
- Desative o acesso remoto à interface de administração pela WAN.
- Implemente HTTPS no portal cativo para proteger dados de aceite.
- Garanta que logs de analytics não armazenem dados pessoais além do necessário.
- Reveja periodicamente as permissões de firewall e acesso entre redes.
Checklist final
Referências
- OpenWrt Documentation · Projeto OpenWrt (openwrt.org)
- Nodogsplash User Guide · Projeto OpenWrt (openwrt.org)
- LGPD - Lei Geral de Proteção de Dados · Presidência da República (Planalto) (planalto.gov.br)
- Wi-Fi Alliance - Guest Access · Wi-Fi Alliance (wi-fi.org)
