ULC Lab · implementação reproduzível
Laboratório: Wi-Fi para restaurantes com OpenWrt, portal cativo e segmentação de redes
Você implementará uma rede Wi-Fi segmentada para clientes, PDV e cozinha, com portal cativo e autenticação simples, usando OpenWrt em máquina virtual ou roteador comum. Em cerca de 2 horas, terá um ambiente funcional para testes de acesso e isolamento de tráfego.

- Duração estimada
- 120 min
- Passos
- 12
- Validações
- 5
- Versões da documentação consultada
- OpenWrt 23.05 · hostapd a versão estável atual · CoovaChilli a versão estável atual · FreeRADIUS a versão estável atual
Este laboratório ensina a criar uma rede Wi-Fi segmentada para restaurantes, separando o tráfego de clientes, PDV e cozinha, com um portal cativo para clientes, utilizando apenas software livre. O foco é garantir segurança, conformidade com a LGPD e continuidade dos serviços críticos, simulando um cenário realista de pequeno restaurante.
Topologia
Um roteador com OpenWrt (em VM ou hardware) faz NAT para a internet e cria três redes: Wi-Fi para clientes (com portal cativo), Wi-Fi para PDV/cozinha (sem portal cativo) e rede cabeada para câmeras. Um servidor RADIUS local faz autenticação do portal cativo. Clientes simulados acessam cada rede usando notebooks ou VMs.
[Internet]
|
[OpenWrt Router]
/ | \
[WiFi Clientes] [WiFi PDV] [LAN Câmeras]
| | |
[Notebook] [PDV VM] [Câmera VM]
Equipamentos e software
| Item | Requisito, licença ou versão |
|---|---|
| Notebook ou PC para OpenWrt VM | CPU dual-core, 1GB RAM, 2 interfaces de rede |
| Notebook/PC para clientes simulados | CPU dual-core, 1GB RAM, Wi-Fi ou interface virtual |
| Switch simples (opcional) | Para simular LAN física |
| OpenWrt | GPLv2 · 23.05 |
| hostapd | BSD · a versão estável atual |
| CoovaChilli | GPLv2 · a versão estável atual |
| FreeRADIUS | GPLv2 · a versão estável atual |
Roteiro
- Preparar a VM ou roteador com OpenWrt
Instale o OpenWrt em uma VM (KVM, VirtualBox) ou em um roteador suportado. Isso permite flexibilidade para testes e reconfiguração rápida.
Consulte https://openwrt.org/docs/guide-user/installation/genericO que você deve ver: Acesso à interface LuCI via navegador em 192.168.1.1.
- Configurar interfaces de rede
Crie três interfaces: LAN (192.168.10.1/24), Wi-Fi PDV (192.168.20.1/24), Wi-Fi Clientes (192.168.30.1/24). Separe fisicamente ou por VLAN, se possível.
Em /etc/config/network: config interface 'lan' option ifname 'eth0' option proto 'static' option ipaddr '192.168.10.1' option netmask '255.255.255.0' config interface 'pdv' option ifname 'wlan1' option proto 'static' option ipaddr '192.168.20.1' option netmask '255.255.255.0' config interface 'clientes' option ifname 'wlan2' option proto 'static' option ipaddr '192.168.30.1' option netmask '255.255.255.0'O que você deve ver: Interfaces listadas em ifconfig com os IPs definidos.
- Configurar redes Wi-Fi separadas
Crie dois SSIDs: 'Restaurante-Clientes' (wlan2) e 'Restaurante-PDV' (wlan1). Isso isola o tráfego e previne acesso indevido ao PDV.
Em /etc/config/wireless: config wifi-iface option device 'radio0' option network 'clientes' option mode 'ap' option ssid 'Restaurante-Clientes' option encryption 'none' config wifi-iface option device 'radio0' option network 'pdv' option mode 'ap' option ssid 'Restaurante-PDV' option encryption 'psk2' option key 'SENHAPDV'O que você deve ver: Ambos SSIDs visíveis para dispositivos Wi-Fi.
- Configurar DHCP para cada rede
Cada segmento precisa de seu próprio pool DHCP para evitar conflitos e facilitar o isolamento.
Em /etc/config/dhcp: config dhcp 'lan' option interface 'lan' option start '100' option limit '150' option leasetime '12h' config dhcp 'pdv' option interface 'pdv' option start '100' option limit '50' option leasetime '12h' config dhcp 'clientes' option interface 'clientes' option start '100' option limit '100' option leasetime '2h'O que você deve ver: Clientes recebem IPs corretos ao conectar-se.
- Instalar e configurar CoovaChilli
CoovaChilli implementa o portal cativo. Ele intercepta o tráfego dos clientes e redireciona para a página de autenticação.
opkg update opkg install coovachilli Editar /etc/config/chilli: config chilli 'options' option network 'clientes' option uamlisten '192.168.30.1' option uamport '3990' option uamserver 'http://192.168.30.1:3990/www/coova.html' option radiusserver1 '192.168.10.2' option radiussecret 'SENHARADIUS' option uamsecret 'SEGREDOCHILLI'O que você deve ver: Serviço coovachilli ativo; clientes redirecionados ao portal ao tentar navegar.
- Instalar e configurar FreeRADIUS
O FreeRADIUS autentica os usuários do portal cativo. Isso permite registrar acessos conforme a LGPD.
opkg install freeradius3 Editar /etc/freeradius3/users: cliente1 Cleartext-Password := "senha123" Editar /etc/freeradius3/clients.conf: client chilli { ipaddr = 192.168.30.1 secret = SENHARADIUS }O que você deve ver: Serviço freeradius3 ativo e ouvindo na porta 1812.
- Configurar regras de firewall para isolamento
Garanta que clientes não acessem a rede PDV/cozinha nem LAN de câmeras. Só o OpenWrt pode rotear entre redes.
Em /etc/config/firewall: config zone option name 'clientes' option network 'clientes' option input 'REJECT' option forward 'REJECT' option output 'ACCEPT' config forwarding option src 'clientes' option dest 'wan' config rule option src 'clientes' option dest 'pdv' option target 'REJECT'O que você deve ver: Clientes não conseguem pingar IPs das outras redes.
- Personalizar a página do portal cativo
Edite o HTML do portal para incluir aviso de LGPD e link para política de privacidade. Isso é obrigatório por lei.
Edite /etc/chilli/www/coova.html e inclua: <p>Ao acessar, você concorda com nossa <a href='/politica-lgpd.html'>Política de Privacidade</a>.</p>O que você deve ver: Página de login exibe aviso de LGPD.
- Reiniciar serviços e testar conexões
Reinicie OpenWrt, CoovaChilli e FreeRADIUS para aplicar todas as configurações.
/etc/init.d/network restart /etc/init.d/chilli restart /etc/init.d/freeradius3 restartO que você deve ver: Todos os serviços sobem sem erros.
- Conectar clientes simulados e autenticar
Conecte um notebook/VM ao SSID 'Restaurante-Clientes', tente acessar a internet e faça login no portal usando as credenciais criadas.
No navegador: acessar qualquer site e preencher login.O que você deve ver: Após login, acesso liberado à internet.
- Testar acesso restrito do PDV
Conecte outro dispositivo ao SSID 'Restaurante-PDV' e tente acessar a rede clientes e a internet.
ping 192.168.30.1 ping 8.8.8.8O que você deve ver: Acesso à internet, sem acesso à rede clientes.
- Testar isolamento de câmeras
Simule uma câmera na LAN e tente acesso a partir da rede clientes.
ping 192.168.10.50 (IP da câmera)O que você deve ver: Sem resposta de ping da rede clientes.
Como saber que funcionou
| Teste | Comando | Critério |
|---|---|---|
| Cliente Wi-Fi acessa portal cativo | Acessar qualquer site via navegador | Redirecionamento automático para página de login |
| Login libera acesso à internet | Após login, acessar https://wi-fi.org | Página carregada sem bloqueio |
| PDV não acessa rede clientes | ping 192.168.30.1 | Sem resposta de ping |
| Clientes não acessam LAN de câmeras | ping 192.168.10.50 | Sem resposta de ping |
| Portal exibe aviso LGPD | Visualização da página de login | Texto de LGPD visível |
Troubleshooting
| Sintoma | Causa provável | Correção |
|---|---|---|
| Clientes não recebem IP | DHCP não configurado ou serviço parado | Verifique /etc/config/dhcp e status do serviço dnsmasq |
| Portal cativo não aparece | CoovaChilli não está rodando ou mal configurado | Cheque logs em /var/log e reinicie o serviço chilli |
| Login falha no portal | FreeRADIUS não está ouvindo ou segredo incorreto | Verifique /etc/freeradius3/clients.conf e reinicie o serviço |
| Clientes acessam rede PDV | Regras de firewall ausentes ou incorretas | Revise /etc/config/firewall e reinicie firewall |
| Página de LGPD não aparece | Arquivo HTML não editado corretamente | Confirme edição em /etc/chilli/www/coova.html |
Segurança e hardening
- Use senha forte no SSID do PDV
- Restrinja acesso SSH/administrativo à LAN
- Altere segredos padrão do RADIUS e CoovaChilli
- Atualize OpenWrt e todos os pacotes antes de expor à produção
- Desabilite serviços desnecessários no roteador
Checklist final
Referências
- OpenWrt User Guide · Projeto OpenWrt (openwrt.org)
- CoovaChilli Documentation · Projeto OpenWrt (openwrt.org)
- Wi-Fi CERTIFIED™ Resources · Wi-Fi Alliance (wi-fi.org)
- Lei Geral de Proteção de Dados (LGPD) · Presidência da República (Planalto) (planalto.gov.br)
- Publicado
- 09/09/2026
- Última revisão
- 09/09/2026
- Versão do conteúdo
- 1.0
- Referências
- 4 oficiais · 2 de normas ou órgãos
- Revisão técnica
- redação e revisão por IA, URLs conferidas na publicação
- Status
- Atual
