Quando você precisa que smartphones, notebooks e dispositivos variados usem um proxy explícito sem precisar configurar manualmente em cada aparelho, a solução clássica é o WPAD (Web Proxy Auto-Discovery Protocol).
No pfSense, apesar de não existir um botão “WPAD ON”, ele suporta tudo o que o protocolo exige.
Este post explica, de forma objetiva, como fazer o WPAD funcionar no pfSense.
O que é WPAD?
WPAD é um método para os clientes descobrirem automaticamente um arquivo chamado wpad.dat, que contém as regras do proxy (PAC file).
Com isso, o dispositivo usa o proxy sem você tocar nele.
Funciona em:
- Android
- iPhone/iPad
- Windows
- macOS
- Navegadores modernos
Como configurar WPAD no pfSense
1. Criar o arquivo wpad.dat
Crie um arquivo com este conteúdo básico:
function FindProxyForURL(url, host) {
// Whitelist
if (dnsDomainIs(host, "google.com")) return "PROXY 10.0.0.1:3128";
if (dnsDomainIs(host, "github.com")) return "PROXY 10.0.0.1:3128";
// Everything else blocked
return "DIRECT";
}
Salve ele como:
/usr/local/www/wpad.dat
O pfSense automaticamente serve esse arquivo via HTTP.
2. Configurar DHCP Option 252 (WPAD)
No pfSense:
- Services → DHCP Server
- Selecione a interface da rede que deverá usar proxy
- Role até “Additional BOOTP/DHCP Options”
- Adicione:
- Option: 252
- Type: String
- Value:
http://10.0.0.1/wpad.dat
Esse é o método principal.
A maioria dos smartphones pega esse valor.
3. Criar entrada DNS “wpad”
Ainda no pfSense:
- Services → DNS Resolver
- Host Overrides
- Add:
- Hostname: wpad
- Domain: seu domínio interno (ex: localdomain)
- IP: 10.0.0.1 (ou o IP da LAN do pfSense)
Isso permite que dispositivos procurem automaticamente:
http://wpad.localdomain/wpad.dat
4. Habilitar proxy no Squid (modo explícito)
No pfSense:
- Instale o Squid
- Configure em modo não-transparente
- Porta padrão: 3128
- Não habilite SSL-Bump se você não planejar instalar CA nos dispositivos
- Crie suas ACLs normalmente
Como os dispositivos descobrem o WPAD?
Eles tentam, na seguinte ordem:
- DHCP Option 252
- DNS “wpad”
- Configurações manuais (caso existam)
Se um dos dois métodos responder, o dispositivo baixa o PAC file e passa a usar o proxy automaticamente.
Por que usar WPAD?
Porque é o único jeito funcional de:
- Forçar smartphones a usarem proxy
- Fazer whitelist por domínio sem instalar certificados
- Controlar HTTPS sem interceptação
- Evitar configurações manuais em cada aparelho
E principalmente:
evitar o pesadelo do SSL-Bump em ambiente misto.
