Entrar ou criar conta

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.

Tecnologia para restaurantes: rede, Wi-Fi, PDV e portal cativo
Ligado ao treinamento Tecnologia para restaurantes: rede, Wi-Fi, PDV e portal cativo
ULC-LAB-REST-0001 · Status de validaçãoNão validado pela Upnetix: roteiro derivado da documentação oficial, para você executar e validar
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
Objetivo

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

ItemRequisito, licença ou versão
Notebook ou PC para OpenWrt VMCPU dual-core, 1GB RAM, 2 interfaces de rede
Notebook/PC para clientes simuladosCPU dual-core, 1GB RAM, Wi-Fi ou interface virtual
Switch simples (opcional)Para simular LAN física
OpenWrtGPLv2 · 23.05
hostapdBSD · a versão estável atual
CoovaChilliGPLv2 · a versão estável atual
FreeRADIUSGPLv2 · a versão estável atual

Roteiro

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

    O que você deve ver: Acesso à interface LuCI via navegador em 192.168.1.1.

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

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

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

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

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

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

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

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

    O que você deve ver: Todos os serviços sobem sem erros.

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

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

    O que você deve ver: Acesso à internet, sem acesso à rede clientes.

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

TesteComandoCritério
Cliente Wi-Fi acessa portal cativoAcessar qualquer site via navegadorRedirecionamento automático para página de login
Login libera acesso à internetApós login, acessar https://wi-fi.orgPágina carregada sem bloqueio
PDV não acessa rede clientesping 192.168.30.1Sem resposta de ping
Clientes não acessam LAN de câmerasping 192.168.10.50Sem resposta de ping
Portal exibe aviso LGPDVisualização da página de loginTexto de LGPD visível

Troubleshooting

SintomaCausa provávelCorreção
Clientes não recebem IPDHCP não configurado ou serviço paradoVerifique /etc/config/dhcp e status do serviço dnsmasq
Portal cativo não apareceCoovaChilli não está rodando ou mal configuradoCheque logs em /var/log e reinicie o serviço chilli
Login falha no portalFreeRADIUS não está ouvindo ou segredo incorretoVerifique /etc/freeradius3/clients.conf e reinicie o serviço
Clientes acessam rede PDVRegras de firewall ausentes ou incorretasRevise /etc/config/firewall e reinicie firewall
Página de LGPD não apareceArquivo HTML não editado corretamenteConfirme 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

  1. OpenWrt User Guide · Projeto OpenWrt (openwrt.org)
  2. CoovaChilli Documentation · Projeto OpenWrt (openwrt.org)
  3. Wi-Fi CERTIFIED™ Resources · Wi-Fi Alliance (wi-fi.org)
  4. Lei Geral de Proteção de Dados (LGPD) · Presidência da República (Planalto) (planalto.gov.br)
Verificação editorial
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
Encontrou um erro? Escreva para comercial@upnetix.com.br com o endereço da página. A revisão semestral por IA nunca altera comandos ou configurações sem passar pela fila de revisão.