Este documento discute a configuração de arquivos PAC (Proxy Auto-Configuration) e WPAD (Web Proxy Auto-Discovery Protocol) no pfSense. Ele explica o que são arquivos PAC e WPAD, como implementá-los no pfSense usando DHCP e DNS, e como testá-los nos principais navegadores. A agenda inclui entender arquivos PAC e WPAD, implementação no pfSense e testes.
1. Professor: Claudio Cavalcante
Configuração de arquivo PAC
( Proxy Auto-Configuration)
e
WPAD (Web Proxy Auto-Discovery Protocol)
Teórico e Prático
Curso Completo pfSense
CavalcanteTrein@mentos
2. Agenda
1 – Entender o que é um arquivo PAC
2 – Exemplo de arquivo PAC
3 – Entender o que é WPAD
4 – Operação do WPAD nos principais browsers (IE, Chrome e
firefox).
5 – Implementação do WPAD por DHCP
6 – Implementação do WPAD por DNS
7 – Configuração no pfsense 2.3
3. O que são arquivos PAC ( Proxy Auto-Configuration )
São arquivos escritos na linguagem javascript, interpretados
pelos browsers, que definem um conjunto de regras que
determinam como o browser enviará uma requisição,
podendo ser através de um proxy ou diretamente.
Este tipo de configuração possui algumas vantagens como:
balanceamento de carga entre proxies, failover de proxy,
definição de rotas (HTTP, HTTPs e FTP) e facilidade de
mudanças na configuração.
4. Exemplo de arquivo PAC
function FindProxyForURL(url, host) {
// If the hostname matches, send direct.
if (dnsDomainIs(host, "intranet.domain.com") ||
shExpMatch(host, "(*.abcdomain.com|abcdomain.com)"))
return "DIRECT";
// If the protocol or URL matches, send direct.
if (url.substring(0, 4)=="ftp:" ||
shExpMatch(url, "http://abcdomain.com/folder/*"))
return "DIRECT";
5. Exemplo de arquivo PAC
// If the requested website is hosted within the internal network,
//send direct.
if (isPlainHostName(host) ||
shExpMatch(host, "*.local") ||
isInNet(dnsResolve(host), "10.0.0.0", "255.0.0.0") ||
isInNet(dnsResolve(host), "172.16.0.0", "255.240.0.0") ||
isInNet(dnsResolve(host), "192.168.0.0", "255.255.0.0") ||
isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0"))
return "DIRECT";
6. Exemplo de arquivo PAC
// If the IP address of the local machine is within a defined
// subnet, send to a specific proxy.
if (isInNet(myIpAddress(), "10.10.5.0", "255.255.255.0"))
return "PROXY 1.2.3.4:8080";
// DEFAULT RULE: All other traffic, use below proxies,
//in fail-over order.
return "PROXY 4.5.6.7:8080; PROXY 7.8.9.10:8080";
}
7. Funcionalidade WPAD
Web Proxy Auto-Discovery Protocol
Este protocolo permite localizar onde está o
arquivo PAC, através de registros do DNS ou
de opções DHCP.
8. WPAD nos principais browsers
Alguns browsers suportam WPAD tanto por DHCP como por DNS.
Estes browsers primeiro tentarão encontrar o PAC por informações
obtidas por DHCP e caso não tenham sucesso utilizarão o DNS.
Internet Explorer – DHCP -> DNS -> Netbios
Google Chrome – DHCP -> DNS
Mozilla Firefox - DNS
http://findproxyforurl.com/browser-support/
* Configure sempre das duas formas, DHCP e DNS.
9. Implementação WPAD por DHCP
Crie um escopo DHCP que possua a opção
252, do tipo string, que apontará para a
localização do arquivo PAC.
Exemplo:
Option 252 string “http://pfsense.localdomain.local/proxy.pac”
10. Implementação WPAD por DNS
Crie um registro DNS do tipo A com o nome wpad dentro da zona
com domínio da rede. Aponte o registro para o IP do servidor Web
que armazena o arquivo do tipo PAC, com o nome wpad.dat.
Exemplo (domínio da estações) - localdomain.local
wpad A 192.168.1.1
No exemplo acima, o browser tentará encontrar o arquivo pac na URL
http://wpad.localdomain.local/wpad.dat .
11. Configuração no pfSense
Desabilitar https no acesso a WEB GUI
Criar e copiar arquivo PAC para o diretório /usr/local/www
Configurar mime types
Criar links simbólicos para o arquivo PAC
Configurar registros DNS
Configurar opção DHCP
Configurar regras de firewall
Realizar testes com ferramentas específicas
Realizar testes pelo Browser
20. Realizar testes
Fazer download das ferramentas de testes:
http://findproxyforurl.com/official-toolset/
https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.t
echnet.com/telligent.evolution.components.attachments/01/10093/00/00/03/6
0/80/47/autoprox.zip
https://blogs.technet.microsoft.com/emeaie/2013/11/04/optimizing-performance-with-
automatic-proxyconfiguration-scripts-pac/
Mais informações:
21. Realizar testes nos browsers
Acessar um site com a opção habilitada “detectar automaticamente as
configurações do proxy” .
Acessar um site com a opção desabilitada “detectar automaticamente as
configurações do proxy” .
Realizar testes no Internet Explorer, Google Chrome e Firefox.
22. Gostou – Curti e Compartilha
Torne-se um aluno VIP:
http://www.cavalcantetreinamentos.com.br
É só se cadastrar em nossa lista
Notas do Editor
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos
Slide 1 – Apresentar a ideia geral do projeto. Mostrando que há um caminho interessante na Carreira Linux.
30 segundos