Capítulo 32 – WPAD
Introdução
O WPAD (Web Proxy Auto-Discovery Protocol) é um mecanismo que permite aos computadores da rede descobrirem automaticamente as configurações de proxy — sem necessidade de intervenção manual ou políticas de GPO.
Através dele, navegadores e sistemas operacionais são capazes de localizar o arquivo de configuração automática do proxy (wpad.dat) utilizando registros DNS e DHCP.
Isso simplifica a administração, especialmente em ambientes com notebooks corporativos, usuários móveis ou redes segmentadas, evitando configurações manuais em cada estação.
Conceito
O arquivo wpad.dat contém regras lógicas em JavaScript que instruem o navegador a decidir quando usar o proxy e quando acessar diretamente os websites.
Esse arquivo é servido por HTTP em um endereço padronizado:
http://wpad.domínio.local/wpad.dat
Visão Geral do Processo
- Desativar o redirecionamento da WebGUI (porta 80 → 443).
- Instalar e configurar o NGINX como servidor HTTP para disponibilizar o arquivo
wpad.dat. - Ajustar o DHCP e o DNS para informar o caminho do WPAD aos clientes.
- Configurar as regras do arquivo
wpad.datdentro do Squid Proxy Auto-Config. - Testar o funcionamento em uma estação cliente.
Etapa 1 – Desativar o WebGUI Redirect Rule
O redirecionamento padrão da WebGUI (HTTP → HTTPS) precisa ser desabilitado, pois o WPAD utiliza a porta 80/TCP e o OPNsense por padrão também ocupa esta porta.
- Acesse System → Settings → Administration.
- Marque a opção Disable web GUI redirect rule.
- Clique em Save ao final da página.
Etapa 2 – Instalar e Configurar o NGINX
1. Instalação do plugin
- Vá em System → Firmware → Plugins.
- Instale o plugin
os-nginx. - Após a instalação, atualize a página (F5) para o menu do NGINX aparecer.
2. Ajuste do MIME Type para o arquivo WPAD
Acesse o console via SSH ou Shell do firewall e execute os comandos abaixo:
cat << EOF > /usr/local/etc/nginx/opnsense_http_vhost_plugins/wpad.conf
types {
application/x-ns-proxy-autoconfig dat;
}
EOF
configctl template reload OPNsense/Nginx
pluginctl -s nginx restart
Esses comandos criam o tipo de arquivo correto para que o NGINX sirva o wpad.dat.
3. Criar a Location “/wpad.dat”
- Acesse Services → NGINX → Configuration → HTTP(s) → Location.
-
Clique em + Add e preencha:
- Description: Wpad
- URL Pattern:
/wpad.dat - File System Root:
/usr/local/www
-
Clique em Save.
4. Criar o Servidor HTTP
- Acesse HTTP(s) → HTTP Server e clique em + Add.
- Habilite advanced mode.
-
Configure conforme abaixo:
- HTTP Listen Address:
80 - Default Server: ✓
- ServerName: FQDN do firewall (ex.:
utm-matriz.citrait.corp) - Location:
Wpad - Disable Bot Protection: ✓
- HTTP Listen Address:
-
Clique em Save.
5. Habilitar o serviço NGINX
- Vá em General Settings, marque Enable NGINX e clique em Apply.
6. Criar regra de firewall
Em cada interface que utilizará o proxy:
- Crie uma regra liberando o tráfego TCP na porta 80 com destino ao próprio firewall.
Etapa 3 – Configurar o DHCP
- Vá em Services → Dnsmasq DNS & DHCP → DHCP options.
-
Para cada interface que usará o proxy, clique em + Add e preencha da seguinte forma:
- Interface: Selecione a Interface (ex.: LAN)
- Option: 252
- Value:
"http://utm-matriz.citrait.corp/wpad.dat" - Description: WPAD LAN
Importante
As aspas no campo Value devem ser mantidas. Substitua o nome pelo FQDN do seu firewall.
Etapa 4 – Configurar o DNS no Firewall
- Vá em Services → Unbound DNS → Overrides.
-
Crie um registro para o host wpad:
Campo Valor Enabled ✓ Host wpad Domain empresa.corp Type A (IPv4) IP address IP da LAN do firewall Description WPAD -
Crie outro registro para o hostname do firewall:
Campo Valor Enabled ✓ Host utm-matriz Domain citrait.corp Type A (IPv4) IP address IP da LAN do firewall Description Hostname Firewall -
Em Services → Unbound DNS → General, marque:
- Do not register system A/AAAA records
-
Clique em Apply.
Etapa 5 – Configurar o DNS no Servidor Windows (Domain Controller)
Em controladores de domínio com DNS interno, é necessário permitir a consulta ao nome “wpad”, bloqueado por padrão.
-
Execute os comandos abaixo no PowerShell como Administrador:
-
No console DNS Manager, crie manualmente o registro A “wpad” apontando para o IP do firewall.
Etapa 6 – Configurar o Arquivo WPAD no Squid
1. Criar os “Matches”
Vá em Services → Squid Web Proxy → Administration → Proxy Auto-Config → Matches.
Crie os seguintes Matches:
| Nome | Tipo | Valor / Observação | ||
|---|---|---|---|---|
| IPs Locais | IP is in Network | Networks: 192.168.0.0/24 (LAN) |
||
| Hostname Simples | Plain Hostname | |||
| Domínios Internos | Hostname Matches | Host Pattern: *.empresa.corp |
||
| Domínios Exceção | Hostname Matches | Host Pattern: (*.citrait.com.br | *123ze.com) |
||
| IPs Exceção | Hostname Matches | Host Pattern: (1.1.1.1|8.8.8.*) |
2. Criar a Definição do Proxy
Em Proxy Auto-Config → Proxies:
- Name:
fw-matriz.citrait.corp - Description: Firewall da Matriz
- Proxy Type: Proxy
- URL:
fw-matriz.citrait.corp:3128
Importante
Não esqueça de alterar fw-matriz.citrait.corp para o hostname do seu próprio firewall.
3. Criar a Regra que aplica o Proxy
Em Proxy Auto-Config → Rules:
- Enabled: ✓
- Description: Proxy Matriz
- Matches:
Domínios Internos,IPs Locais,Hostnames Simples,Domínios Exceção,IPs Exceção - Join Type:
Or - Match Type:
Unless - Proxies:
fw-matriz.citrait.corp - Após salvar, clique em Reload (ícone circular) para gerar o arquivo
wpad.dat.
Importante
A regra acima está aplicando o Proxy para acessos que não sejam: Domínios Internos, IPs Locais, Hostnames Simples, Domínios Exceção ou IPs Exceção.
Etapa 7 – Testar o Funcionamento
- Remova qualquer configuração manual de proxy das estações.
- Reinicie o computador.
- Após logar, acesse um site (ex.: https://www.globo.com).
- No OPNsense, acesse Services → Squid Web Proxy → Access Log e verifique se o tráfego está sendo registrado.
Resultado esperado
O cliente deve navegar pela Internet e aparecer nos logs do Squid, mesmo sem configuração manual de proxy.
Conclusão
Com o WPAD configurado, o ambiente passa a oferecer descoberta automática de proxy, reduzindo o esforço de manutenção e padronizando a navegação.
O OPNsense, em conjunto com o Squid e NGINX, fornece um ambiente completo para distribuição do arquivo wpad.dat via DNS e DHCP, compatível com navegadores modernos e redes corporativas de qualquer porte.