Entrar ou criar conta

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.

Tecnologia para varejo: rede, Wi-Fi, PDV e analytics com portal cativo
Ligado ao treinamento Tecnologia para varejo: rede, Wi-Fi, PDV e analytics com portal cativo
Duração estimada
120 min
Passos
11
Validações
5
Objetivo

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

ItemRequisito, licença ou versão
Roteador com OpenWrt ou VMCPU 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 smartphoneWi-Fi, navegador atual
OpenWrtGPLv2 · 22.03
NodogsplashGPLv3 · a versão estável atual
tcpdumpBSD · a versão estável atual
Presence Analytics (wifiprobe)MIT · a versão estável atual

Roteiro

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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:5000

    O que você deve ver: Servidor coletando e exibindo MACs de dispositivos próximos.

  8. 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.

  9. 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.log

    O que você deve ver: MACs e horários de detecção aparecem no log.

  10. 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.

  11. Testar continuidade após reinicialização

    Reinicie todos os equipamentos e verifique se o portal cativo e analytics voltam a funcionar automaticamente.

    reboot

    O que você deve ver: Portal cativo e analytics operando após boot.

Como saber que funcionou

TesteComandoCritério
Cliente Wi-Fi é redirecionado ao portal cativoPágina de termo LGPD aparece ao tentar acessar qualquer site.
Acesso à Internet liberado após aceiteNavegação normal após aceitar o termo.
Servidor de analytics detecta dispositivos próximostail -f wifiprobe.logMACs aparecem no log ao ligar/desligar Wi-Fi do cliente.
Isolamento entre visitantes e PDVping 192.168.20.2Sem resposta de ping da rede visitante para a rede PDV.
Persistência após rebootrebootPortal e analytics funcionando após reinicialização.

Troubleshooting

SintomaCausa provávelCorreção
Portal cativo não apareceNodogsplash não iniciado ou mal configuradoVerifique status com 'ps | grep nodogsplash' e revise /etc/config/nodogsplash.
Cliente não recebe IPDHCP desabilitado ou mal configuradoRevise /etc/config/dhcp e reinicie o serviço com '/etc/init.d/dnsmasq restart'.
Servidor de analytics não recebe probesInterface Wi-Fi do servidor não está em modo monitorConfigure a interface com 'iwconfig wlan0 mode monitor'.
Visitante acessa rede do PDVFirewall não isolou as redesRevise regras em /etc/config/firewall e reinicie o firewall.
Analytics não inicia após rebootwifiprobe não está em serviço automáticoConfigure 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

  1. OpenWrt Documentation · Projeto OpenWrt (openwrt.org)
  2. Nodogsplash User Guide · Projeto OpenWrt (openwrt.org)
  3. LGPD - Lei Geral de Proteção de Dados · Presidência da República (Planalto) (planalto.gov.br)
  4. Wi-Fi Alliance - Guest Access · Wi-Fi Alliance (wi-fi.org)