SonicWall

Configuração CtrlSpot no SonicWall

Tutorial técnico para integração do captive portal CtrlSpot com firewalls SonicWall (SonicOS 6.5 / 7.x), utilizando autenticação externa via portal hospedado e RADIUS.

Observação: Os parâmetros sensíveis (shared secret, portas RADIUS específicas e eventuais credenciais administrativas) serão enviados diretamente ao cliente por canal seguro. Onde aparecer <SHARED_SECRET> ou <PORTA>, substitua pelos valores fornecidos.


1. Pré-requisitos

Antes de iniciar, confirme:

Dados da solução

Item Valor
Endereço do portal captive.[cliente].ctrlspot.com
Servidor RADIUS radius-3.lab3.co
Shared secret RADIUS <SHARED_SECRET> (enviado ao cliente)
Porta de autenticação RADIUS <PORTA_AUTH> (enviado ao cliente, padrão 1812)
Porta de accounting RADIUS <PORTA_ACCT> (enviado ao cliente, padrão 1813)

2. Liberações de rede necessárias

O firewall e os clientes precisam alcançar a infraestrutura CtrlSpot. Garanta as seguintes liberações de saída:

Origem Destino Porta/Protocolo Finalidade
Zona de guests captive.[cliente].ctrlspot.com TCP 443 (HTTPS) Redirecionamento e exibição do portal
Firewall radius-3.lab3.co UDP <PORTA_AUTH> Autenticação RADIUS
Firewall radius-3.lab3.co UDP <PORTA_ACCT> Accounting RADIUS
Zona de guests DNS interno/externo UDP 53 Resolução do host do portal

É recomendável criar Address Objects para os hosts do CtrlSpot e do RADIUS, facilitando o reuso em regras e políticas de walled garden (acesso permitido antes da autenticação).


3. Criar o objeto do servidor RADIUS

SonicOS 7.x

  1. Acesse Device → Users → Settings.
  2. Em User authentication method, selecione RADIUS (ou RADIUS + Local Users se desejar fallback local).
  3. Clique em Configure RADIUS.
  4. Aba Settings, clique em Add e preencha:
    • Name/IP Address: radius-3.lab3.co
    • Port: <PORTA_AUTH>
    • Shared Secret / Confirm Secret: <SHARED_SECRET>
  5. Aba RADIUS Users: defina o mecanismo de mapeamento de grupos (use Use RADIUS Filter-Id attribute se a CtrlSpot enviar grupos via Filter-Id).
  6. Aba Test: valide a conectividade com um usuário de teste antes de prosseguir.

SonicOS 6.5

  1. Acesse Manage → Users → Settings.
  2. Em Authentication method for login, selecione RADIUS ou RADIUS + Local Users.
  3. Clique em Configure RADIUS e repita os mesmos campos acima (host, porta, shared secret, accounting).

Configure também o accounting apontando para radius-3.lab3.co na porta <PORTA_ACCT> — a CtrlSpot usa accounting RADIUS para controle de sessão, tempo de uso e desconexão.


4. Criar a Custom Authentication Page (redirecionamento ao portal externo)

O SonicWall precisa redirecionar o usuário não autenticado para a URL externa do CtrlSpot.

  1. Acesse Device → Users → Settings (7.x) ou Manage → Users → Settings (6.5).
  2. Localize a seção Customize Login Pages / Authentication Pages.
  3. Em External guest authentication (ou ao editar a página de login da zona), defina:
    • Login redirect / Web server host name: captive.[cliente].ctrlspot.com
    • Protocol: HTTPS
    • Port: 443
  4. Salve.

Esse host será o destino para onde o cliente é enviado quando tentar navegar sem sessão ativa.


5. Configurar Guest Services e o Captive Portal na zona

5.1 Criar/editar a zona Wi-Fi de visitantes

  1. Acesse Network → Zones (7.x) ou Manage → Network → Zones (6.5).
  2. Edite a zona usada pelos guests (ex.: WLAN).
  3. Marque Enable Guest Services.
  4. Clique em Configure (Guest Services).

5.2 Opções de Guest Services

Na janela de Guest Services, configure:

5.3 Aplicar à interface/SSID

Garanta que a interface (ou o SSID, no caso de SonicWave/SonicPoint) está atribuída a essa zona com Guest Services ativo.


6. Fluxo de autenticação esperado

  1. Cliente conecta-se ao SSID de visitantes e recebe IP via DHCP do SonicWall.
  2. Ao tentar navegar, o SonicWall intercepta a sessão (usuário não autenticado).
  3. O usuário é redirecionado para https://captive.[cliente].ctrlspot.com, recebendo parâmetros do gateway (MAC do cliente, IP do gateway, URL original).
  4. O usuário autentica-se na página CtrlSpot (login social, voucher, SMS, etc.).
  5. A CtrlSpot valida e devolve a sessão ao SonicWall via RADIUS (radius-3.lab3.co).
  6. O SonicWall libera a navegação e inicia o accounting RADIUS da sessão.
  7. Encerramento de sessão por timeout, logout ou desconexão (CoA/Disconnect quando suportado).

7. Validação e testes


8. Troubleshooting

Sintoma Causa provável Ação
Não há redirecionamento Guest Services / External Guest Auth desabilitado na zona Reveja etapa 5
Redireciona mas portal não carrega Domínios CtrlSpot fora do walled garden Adicione os Address Objects em Pass Networks
Portal carrega mas login falha Shared secret ou porta RADIUS incorretos Reveja etapa 3 e os dados enviados ao cliente
Autentica mas não libera navegação Resposta RADIUS sem atributo de aceitação esperado / accounting bloqueado Verifique liberação UDP <PORTA_ACCT> e atributos de retorno
Erro de certificado no portal HTTPS/host name divergente do certificado Confirme o host captive.[cliente].ctrlspot.com exato em Web Server Host Name
Sessão cai cedo demais Idle/Max session muito baixos Ajuste em Guest Services ou via atributos RADIUS

Logs úteis


9. Checklist final


Revisão #1
Criado 9 junho 2026 00:46:23 por Felipe Weckx
Atualizado: 9 junho 2026 00:46:57 por Felipe Weckx