Você está na página 1de 27

25/11/201 Blog do Nerd » Descoberta automática de Proxy – WPAD (Web Proxy Auto-

5 Discovery)

Sobre Suporte em TI

« Sq u i d s 2008 ﴿
Início So bre Co nta to Doa çã o 3 ﴾ Sh o re w Pesqui
U b un tu a l l F i re w sar...
10. 04 a ll n o
U b un tu :
﴿
LTS au te
Pro teg e
n t i ca n d o n do a
n o Active re d
Directo ry em
﴾W in do w

Descobe
rta
automát W

ica de
i
n
d
52
Proxy – o
w

WPAD ﴾ s

Web
7

Proxy
S
y
s

Auto‐ p
r

Discover
e
p

y﴿
:

C
r
i
a
ç
ã
o

d
e

u
m
a

i
m
a
g
e
m

d
e

i
n
s
t
http://blog doner d.com.br/2011/10/descobertaautomaticadeproxywpadwebproxyautodiscovery/ 1/16
25/11/201 Blog do Nerd » Descoberta automática de Proxy – WPAD (Web Proxy Auto-
5 a la çã o Discovery) d. dat. Se conseguir, o
4 por Nerd em Linux, Tutori ais, 375﴿ arquivo é baixado e as 10.
ANOS Wi ndows 2 O configurações presentes 04
ATRÁS LT
o bjetivo no mesmo são utilizadas.
S﴿
d es te
Compartilhar / Favoritos au
a r tigo é
te
T d e mo n s
Um w nti
tr a r ca
e co mo nd
e
t
g er a r o
a uma no
r Ac
ima g em
p tiv
p ers on
er e
s a liza da
Dir
o para
ect
n ins ta la ç
or
a li ã o em y
za ma ss a
d

do
a Win
Wind ows 7.
﴾ d ow
Ap ó s
problema que aparece a ir de s
q u DHCP 200
c t não 8﴿﴾
u o estiver 251﴿
e m disponíve E s te
t a l, ou o a r tig
s t browser o
a i não fa z
" c suportar part
U a este e do
a m modo, o tuto
N e DNS é r ia l
W n consultad TProx
e t o pelo ay
b e endereço gSqui
G . wpad
é
sd no
seguido Ub u
configuração manual do proxy em cada S co n
do ntu
computador e/ou browser cliente. e cluir
dominio to d co m
Para automatizar este processo foi criado o padrão os a ute
a
configura os ntica
WPAD ﴾Web Proxy Auto‐Discovery Protocol﴿.
do no […] çã o
O WPAD se utiliza de um conceito bem simples c
computa 5 NTL
e a maioria dos browsers já vem pré‐ o AN
dor M
configurada para utilizá‐lo. n OS
cliente. no
f A TR
Seu funcionamento se resume em, no momento Se o DNS ÁS Win
i
em que o browser é inicializado, buscar por um possuir d ow
g
script padrão wpad.dat que contém as uma S s
u
configurações do proxy de sua rede. A forma de entrada q 200
r
obter este script se dá de duas maneiras: através do tipo A u 8e
a i
de configurações no DHCP e através de DNS. para o r egr
ç d
nome de as
A princípio somente o Internet Explorer ã
domínio bas
implementa a descoberta de proxy a partir do o 3
wpad, ea d
DHCP, os demais browsers se utilizam do DNS.
então o as
a ﴾
Uma vez que o computador obtém configurações browser em
U
de rede a partir de um servidor de DHCP, o tenta Gr u
p b
DHCP pode informar o caminho de um servidor acessar a u p os
a
web que contenha o arquivo de configuração do URL n do
r
proxy. O browser por sua vez realiza o download http: //w t AD.
t
deste arquivo e o utiliza para configurar o proxy pad/wpa u A
http://blog doner d.com.br/2011/10/descobertaautomaticadeproxywpadwebproxyautodiscovery/ 2/16
25/11/201 Blog do Nerd » Descoberta automática de Proxy – WPAD (Web Proxy Auto-
id5éia é […] Discovery) p 5ANOS ATRÁS
4ANOS ATRÁS a
r Op enVPN –
a Ser vido r
Utiliza ndo o WinPE 3.0 p a r a ba ckup e ins ta la çã o do
Wind ows 7 ﴾251﴿
[
O Wi nPE ﴾Windows Preinstallation Environment﴿ é

uma vers ã o r eduzid a do Wind ows des tina da ]
es pecifica mente p a r a p r ep a r a r um computa do r

Neste tutorial irei mostrar como configurar


seus servidores de DHCP e DNS para Active
responder pelas opções de WPAD. Também
irei falar um pouco sobre a criação do Directory

http://blog doner d.com.br/2011/10/descobertaautomaticadeproxywpadwebproxyautodiscovery/ 3/16


arquivo wpad.dat. Windows 2008
E s te a r tigo fa z pa r te d a s ér ie Pr oxySq uidnoUb untucoma utentica çã oNTLMno Windows XP
Windows 2008 e regra s bas eadas em Grupos do AD.
WinPE

Pré‐Requisitos
1 function
FindProxyForURL(url,
host){
Serviços DNS e DHCP instalados e configurados em sua rede. Este tutorial 2 var host_ip;
03
trata dos passos para ajustar o DHCP e o DNS de um servidor Windows 2008, 04 host_ip=
porém é simples fazer as devidas adptações para outros sistemas operacionais. dnsResolve(host);
Servidor Web pré‐configurado e em funcionamento para armazenar o arquivo 05 if (isInNet(host_ip,
"127.0.0.1",
wpad.dat. Pode ser Apache, IIS ou qualquer outro de sua preferência. Este tutorial "255.255.255.255"))
vai descrever os passos para permitir o uso do wpad.dat em um servidor IIS 7 06 return "DIRECT";
rodando sob Windows 2008. Não é necessário um servidor web dedicado para esta 07 if (isInNet(host_ip,
"192.168.0.0",
atividade, Você pode usar qualquer servidor web em funcionamento na sua rede. "255.255.255.0"))
Proxy de encaminhamento instalado e configurado em sua rede. Se quiser saber 08 return "DIRECT";
como instalar e configurar um proxy squid com autenticação no Active Directory leia 09 if
(isInNet(myIpAddress(),
o tutorial: Squid3﴾Ubuntu10.04LTS﴿autentica ndonoActiveDirectory﴾Windows2008﴿. "192.168.0.0",
Credenciais com privilégios suficientes para administrar os serviços DHCP, DNS e "255.255.255.0"))
10 return "PROXY
Web de sua rede. 192.168.0.2:3128";
11 else
12 return "DIRECT";
13 }
Tutorial N
o

1. Criação do arquivo wpad.dat s


c
O arquivo wpad.dat é um java script que contém no mínimo a
r
função: FindProxyForURL﴾url, host﴿. i
p
Toda vez que uma nova URL for solicitada pelo usuário, esta função será
t
automaticamente executada pelo browser, passando como parâmetros a URL e o
domínio solicitados. Por exemplo, se a URL solicitada for a
http: //www. googl e. com. br/s=teste, o campo url será preenchido com c
http: //www. googl e. com. br/s=teste e o campo domínio com i
www. googl e. com. br. m
a
Esta execução é local no próprio browser, sendo o arquivo wpad.dat obtido uma ,
única vez na inicialização do browser.
s
A função FindProxyForURL possui dois retornos possíveis: DIRECT ou PROXY. Se o e
retorno for DIRECT, o browser não utilizará proxy para aquela requisição, sendo o
acesso feito diretamente pela rede. Se a string PROXY for retornada a função deve o
retornar também o endereço e a porta do proxy a ser utilizada para tratar a
requisição. a
c
Exemplo de script wpad.dat: e
s
arquivos backup Boot de Rede
Arquivo de Resposta s

Compartilhamento de Arquivos drivers e‐DOC firewall GPO


o

f
imagex iPhone Java KB980436 Linux Outlook Express Postfix Proxy o
r
PXE redes shorewall Squid ssh SSL sysprep TLS
p

Ubuntu VMware WAIK WDS a


r

Windows a

Windows 7 o

Windows 2003 e
n
dereço localhost ﴾127.0.0.1﴿ o acesso
será realizado sem proxy. Por exemplo o
Google Desktop Search se utiliza deste
endereço para funcionar.
Se o acesso for para uma servidor web que
encontra‐se na rede 192.168.0.0/24 o
acesso também será realizado sem proxy.
Se nenhuma das regras acima for satisfeita e o endereço IP do computador local
pertencer a rede 192.168.0.0/24, então o acesso será realizadoi utilizando‐se o
proxy 192.168.0.2 na porta 3128. Em qualquer outra condição o acesso será realizado
sem a utilização de proxy.
Algumas funções úteis que podem ser utilizadas para ajudar na descoberta
da necessidade de se utilizar proxy ou não:
dnsResolve﴾host﴿: Converte o nome de domíno host em endereço IP
isInNet﴾ip, address, mask﴿: Verifica se o ip encontra‐se na sub‐sede formada pelo
endereço de rede address com a máscara mask.
shExpMatch﴾url, string﴿: Verifica se a string está contida na url.
myIpAddress﴾﴿: Retorna o endereço IP da máquina local.

Para uma lista completa e detalhada das funções que podem ser utilizadas
acesse: http ://findpr o xyfor ur l.com/p a c_functions _exp la ined.html
Você pode ainda retornar endereços de proxy distintos, de acordo com suas
necessidades. Pode ter por exemplo dois proxys em sua rede e utilizar este script para
fazer um balanceamento de carga baseado no IP de origem do acesso.

Coloque o arquivo wpad.dat na raiz de algum servidor web de sua rede, de forma
que os clientes consigam acessá‐lo através da URL: http: //i p‐do‐servidor/wpad.dat.

2. Configuração do IIS
Se você utiliza IIS, coloque o arquivo wpad.dat na raiz de seu servidor, por padrão é a
pasta C:\inetpub\wwwroot. Se você apontar um browser para a URL http: //ip‐do‐
servidor/wpad.dat provavelmente verá uma mensagem de erro dizendo que o arquivo
não foi encontrado no servidor. Isto ocorre pois a extensão .dat não é aceita como um
tipo MIME padrão do IIS. Precisamos configurar um novo tipo MIME .dat para que o
IIS entregue o arquivo para os clientes.

Para fazer isso, acesse o Gerenciador de Servidores ﴾Iniciar ‐‐> Ferramentas


Administrativas ‐‐> Gerenciador de Servidores﴿ e expanda Funções ‐‐> Servidor Web
﴾IIS﴿ ‐‐> Gerenciador do Serviços de Informações da Internet ﴾IIS﴿. Em Conexões
clique no nome de seu servidor Web e na janela da direita ﴾Página Inicial do Servidor﴿
clique duas vezes em Tipos de MIME. No canto direito ﴾janela ações﴿ clique em
Adicionar...

Na janela Adicionar Tipo de MIME preencha:

Extensão de nome de arquivo: .dat


Tipo MIME: application/x‐javascript‐config

Clique em OK para confirmar e teste novamente o acesso a URL http: //i p‐do‐
servidor/wpad.dat.
Se não funcionar reinicie o IIS.

3. Configuração do DNS
Para que o WPAD funcione em sua rede é necessário criar uma entrada do tipo A ﴾Host﴿
ou CNAME ﴾Alias﴿ em seu servidor de DNS.

Crie uma entrada do tipo A na zona de pesquisa direta de seu domínio com nome
WPAD e com endereço IP do servidor Web que hospeda o arquivo wpad.dat, de forma
que o browser acesse a URL http: //wpad/wpad. dat e obtenha o arquivo wpad.dat.
Você pode usar uma entrada CNAME e apontar para o FQDN do servidor que hospeda
o wpad.dat.

Teste acessando a URL http: //wpad/wpad. dat de um browser qualquer.

4. Configuração do DHCP
No servidor de DHCP é necessário configurar uma entrada com a opção 252
e valor http: //wpad/wpad. dat. Porém, para poder adicionar uma entrada
252 é necessário configurar uma opção pré‐definida com este valor.

Para fazer isso clique com o botão direito do mouse em IPv4, clique em Configurar
opções pré‐definidas e em seguida no botão Adicionar.

Configure a nova opção com os seguintes valores:

Nome: WPAD
Tipo de dados: Cadeia de Caracteres
Código: 252
Descrição: Web Proxy Auto‐Discovery Protocol

Feito isso, vá até o escopo que deseja adicionar a opção WPAD e clique com o
botão direito do mouse em Opções de escopo e clique em Configurar opções.
Na guia Geral marque a opção 252 e em Valor da cadeia de caracteres preencha com
http: //wpad/wpad. dat. Clique em OK para confirmar.

5. Configuração do Browser
Provavelmente seu browser já está configurado para obter as configurações automáticas,
mas para ter certeza, vá até a janela de configuração de proxy. Para cada browser é um
pouco diferente o caminho, mas a configuração é a mesma.

No Chrome vá até Ferramentas ‐‐> Opções ‐‐> Configurações Avançadas ‐‐> Alterar
Configurações de Proxy... ‐‐> Conexões ‐‐> Configurações da LAN.

Marque a opção Detectar automaticamente as configurações e deixe todas as demais


opões em branco, conforme a figura abaixo

No Firefox acesse o menu principal do Firefox ‐‐> Opções ‐‐> Rede ‐‐> Configurar
conexão... Marque a opção Autodetectar as configurações de proxy para esta rede.
Observações e
Dicas
Para computadores membros de um domínio Active Directory você pode configurar
uma GPO ﴾Group Police Object﴿ para configurar o proxy de forma automática para
o Internet Explorer. Basta ativar a opção Configurações do Usuário ‐‐> Diretivas
‐‐
> Configurações do Windows ‐‐> Manutenção do Internet Explorer
‐‐
>Conexão/Configuração Automática do Navegador ‐‐> Detectar
configurações automaticamente.

Se seu servidor de DNS é Windows 2008, você poderá ter problemas com a resolução
do nome wpad. Por padrão o serviço de DNS do Windows 2008 bloqueia as resolução
de nomes wpad e isatapi.

Para remover a entrada wpad da lista global de bloqueio faço o


seguinte:

Clique em Iniciar, digite regedit.exe e pressione ENTER.


Na árvore de console, abra
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters. No
painel de conteúdo, clique duas vezes no valor GlobalQueryBlockList.
Na caixa de diálogo Editar Cadeia de Caracteres Múltipla, remova o nome WPAD
da lista e clique em OK.
Inicie um prompt de comando como administrador.
Na janela de prompt de comando, execute os seguintes comandos:

1 net stop dns


2 net start dns

Se preferir você pode desabilitar a lista global de consultas não autorizadas. Para fazer
isso execute o comando abaixo ﴾como administrador ﴿ em seu servidor de DNS:

1 dnscmd /config /enableglobalqueryblocklist 0


Referências

‐ Auto Configuring Proxy Settings


‐ Findproxyforurl.com ‐ A Proxy Auto‐Configuration Resource
‐ Remover o ISATAP da lista global de consultas não autorizadas do DNS
‐ Habilitar ou desabilitar a lista global de consultas não autorizadas

Compartilhar / Favoritos

b ro w s e r Pro xy Sq u i d W in d o w s 2008 W PAD

Este artigo foi publicado por Nerd em 10 de outubro de


2011 às 16:37, nas categorias Linu x, Tu to riais , W in d o w s.
Siga os comentários deste artigo através do R SS2. 0. Você
pode p u b li ca ru mco men tário ou trackb a ck a partir de seu
próprio site.

Artigos
Pings ﴾ Comentários ﴾52﴿
Relacionados
1﴿

Nome (obrigatório)

E‐mail (obrigatório, não será publicado)

Site

Digite seu comentário

Você pode utilizar estas tags HTML: <a> <abbr> <acronym> <b>
<blockquote> <cite> <code> <del> <em> <i> <pre> <q>
<strike> <strong>
Notique‐me via e‐mail sobre alterações nos comentários
desta página.

Publicar Comentário

#1 escrito por Rogério 9 MESES ATRÁS


Rafael, como que eu faço a configuração do wpad para que rede interna
não passe pelo proxy?
Obrigado

#2 escrito por Joao 1 ANO ATRÁS


Ola caro amigo Rafael , eu fiz a implementações acima mais tem maquina
que funciona e maquina que não há um modo de eu saber se foi
distribuído para a maquina o wap ?

Obrigado
Joao
#3 escrito por Nerd 1 ANO ATRÁS
João,
O WPAD é bem chatinho de debugar.
Verifique com cuidado se o seu proxy.pac está configurado da
forma que deseja.
Recomendo também salvar ele em formato DOS. Utilize o
Textpad ou outro editar de texto mais avançado para verificar
se não existem caracteres estranhos no arquivo.

Nerd.

#4 escrito por Joao 1 ANO ATRÁS


nerd descupe mais este arquivo proxy.pac em não tenho
como devo criar ele

#5 escrito por Nerd 1 ANO ATRÁS

João,
O proxy.pac é uma copia do wpad.dat.
Na verdade os browsers vão procurar pelo wpad.dat e
se não encontrarem vão tentar o proxy.pac.
É o mesmo arquivo com o mesmo conteúdo,
somente nomes diferentes.
Só o wpad.dat já deve resolver seu problema.

Nerd.

#6 escrito por Fernando 2 ANOS ATRÁS


Olá,

Utilizando este método para utilização do proxy não é possível


adicionar as exceções do proxy através das máquinas locais, correto?
Neste caso só será possível adicionar exceções ao proxy através do
script, é isso mesmo?

Abraços!

#7 escrito por Nerd 2 ANOS ATRÁS


Fernando,
É isso mesmo.
Neste caso você deve colocar as exceções locais direto no
proxy.pac.
Acredito que fica até mais simples de gerenciar.

Nerd.

#8 escrito por Leandro 2 ANOS ATRÁS


Mais uma vez um excelente material, parabéns.
Minha duvida é a seguinte, no ambiente que gerencio a realidade é a
seguinte
1 ‐ Servidor Windows 2008 Server atuando como DC e DNS Server,
2 ‐ Ubuntu Server 12.04lts atuando como Firewall/Proxy e DHCP
Server neste posso instalar o Apache2 e configurar o script WPAD lá,
e configurar o isc‐dhcp‐server para fornecer esse caminho do script,
pergunto:
Existe alguma desvantagem em usar o linux para fazer isso? e eu também
teria que publicar algo no DNS Server microsoft, mesmo que o Ubuntu
esteja fornencedo o DHCP?

#9 escrito por Nerd 2 ANOS ATRÁS


Leandro,
Não vejo problemas na sua estrutura.
Eu gosto de ter o DHCP e o DNS funcionando juntos no 2008.
É bom que as requisições DHCP se registrem no DNS e a
forma mais simples de fazer isso é utilizando os serviços DHCP
e DNS da própria Microsoft.
Se preferir usar o DHCP no Linux, certifique‐se de configurar o
isc‐dhcp‐server para registrar as conexões no DNS e dar
permissão no DNS para que qualquer cliente altere o DNS
﴾pode eventualmente ser um ponto de insegurança em sua
rede, mas normalmente não trás problemas ﴿.
O WPAD pode ser colocado no controlador de domínio com
IIS ou no Linux via apache. Tanto faz.

Nerd.

#10 escrito por Rafael Brito 3 ANOS ATRÁS


Olá instalei em meu serviço o Microsoft TMG estou tendo uns problemas,
na minha rede tenho computadores no dominio é outros não estão,
configurei o WPAD no DNS e no DHCP o que acontece alguns
computadores estão funcionando outros do dominio não, outros fora
do dominio funciona e alguns não já verifiquei nos computadores que
não estão funcionando se está marcado o auto‐detectar está tudo certo.
O que pode ser?

#11 escrito por Nerd 3 ANOS ATRÁS


Rafael,
Sua pergunta está muito vaga. Estar funcionando ou não
pode significar muita coisa.
Tente ser mais específico.
Uma dica: tente utilizar o Wireshark para monitorar o
comportamento das estações.

Nerd.

#12 escrito por Anderson 3 ANOS ATRÁS


Tem como colocar algum parâmetro de configuração no script do
wpad.dat para uma máquina especifica da rede não cair nas regras do
proxy? Ou seja, toda a rede vai passar pelo proxy utilizando o wpad,
exceto uma máquina especifica. Existe algum parâmetro que eu coloque
dentro do script que faça isso?

#13 escrito por Nerd 3 ANOS ATRÁS


Anderson,
Você pode ajustar o script para verificar o parametro host ou
o host_ip para definir qual máquina não irá usar o proxy.

Nerd.

#14 escrito por Anderson 3 ANOS ATRÁS


Então se eu quisesse que uma máquina com o ip
192.168.0.102 não passasse pelo proxy, precisa somente
colocar a seguinte configuração:

if ﴾isInNet﴾host_ip, "192.168.0.102", "255.255.255.0"﴿﴿


return "DIRECT";

Dessa forma funcionaria?

#15 escrito por Nerd 3 ANOS ATRÁS


Anderson,
Isso mesmo. Só tem que ajustar a máscara para que
seja somente para este IP e não todos da rede
192.168.0.0/24.
O correto seria:

if ﴾isInNet﴾host_ip, "192.168.0.102", "255.255.255.255"﴿﴿


return "DIRECT";

Nerd.

#16 escrito por Telmo Barbosa 3 ANOS ATRÁS


Alo Rafael,

Sua explicação está demais! Só qui não entendi o que faze com o arquivo
.d at qui falou logo no inicio... para que serve?

Abraço,
Telmo

#17 escrito por Nerd 3 ANOS ATRÁS


Telmo,
O arquivo .dat é uma lista de instruções para que o
browser possa tomar as decisões sobre quando usar e
quando não usar o proxy de sua rede.
Se você sempre usa proxy, mesmo para acessar os serviços
internos de sua rede, então pode simplificar o conteúdo
do arquivo, conforme exemplo abaixo:

function FindProxyForURL﴾url, host﴿{


return "PROXY 192.168.0.2:3128";
}

Substitua 192.168.0.2 pelo IP de seu proxy.


Qualquer dúvida é só perguntar.

Nerd.
#18 escrito por Paulo Farias 3 ANOS ATRÁS

aqui ta funcionando perfeitamente no internet explorer e chrome, mas


nas versoes mais novas do firefox 13 e 14 nao funciona de jeito nenhum,
a versao do firefox q testei e funcionou foi a versao 8. Sera preciso fazer
algo mais para funcionar nas versoes mais novas do firefox?

#19 escrito por Nerd 3 ANOS ATRÁS


Paulo,
Eu tive problemas com configuração de Proxy no Firefox devido
a resolução de DNS IPv6 vir habilitada por padrão.
A solução que encontrei foi a seguinte:
‐ Acesse a página about:config
‐ Clique no botão Serei cuidadoso, prometo!
‐ Em localizar digite ipv6
‐ Clique duas vezes em network.dns.disableIPv6 para alterar
o valor deste parâmetro para true.
‐ Reinicie o firefox.
Avise aqui nos comentários se esse procedimento deu certo.

Nerd.

#20 escrito por Paulo Farias 3 ANOS ATRÁS


nao funcionou, nao sei mais o que faco.

#21 escrito por Nerd 3 ANOS ATRÁS


Paulo,
É difícil dizer o que pode estar errado. Creio que já
verificou, mas por desencargo de consciência,
certifique‐ se de que as configurações de proxy do FF
estão marcadas como "Autodetectar as configurações
de
proxy para esta rede".
Uma possibilidade para debugar seria utilizar o
Wireshark e avaliar o comportamento dos pacotes de
rede gerados pelo FF. Mas isto requer um pequeno
conhecimento de redes. Um comparativo com o IE
também pode ajudar.

Nerd

#22 escrito por Paulo Farias 3 ANOS ATRÁS


vou tentar analizar com o wireshark.
Segue abaixo o conteudo do arquivo referente a
zona no bind9:

$TTL 28800
@ IN SOA debian.bolsafamilia.com.
hostmaster.bolsafamilia.com. ﴾
2012080116 3H 15M 1W 1D ﴿
@ IN NS
debian.bolsafamilia.com.
bolsafamilia.com IN A 192.168.2.2
wpad IN A 192.168.2.2
winserver2008 IN A 192.168.2.1
printserver IN A 192.168.2.6

#23 escrito por timEU 3 ANOS ATRÁS


cara... você tem ideia de como habilitar o wpad no endian?
vi que ele já tem um proxy.pac e wpad.dat pronto aqui e que tem uma
entrada no /etc/hosts para o wpad já que o endian nao tem servidor DNS
apenas DNSMasq

#24 escrito por Nerd 3 ANOS ATRÁS


timEU,
O Endian que você fala é o firewall?
Eu nunca trabalhei com ele, mas para o WPAD o que você
precisa é basicamente é configura seu servidor de DNS e de
HTTP.
Se o Endian já possui isso embutido é só configurar direto
nele, caso contrário terá que configurar nos servidores
específicos
de sua rede.
Abraços.

Nerd

#25 escrito por timEU 3 ANOS ATRÁS


cara... o endian é o firewall e proxy sim... e como somos
"relativamente" obrigados a usar essa solução por isso
perguntei... mas até agora n consegui q funcionasse...

#26 escrito por Nerd 3 ANOS ATRÁS


timEU,
Basicamente você precisa configurar a entrada wpad
no seu servidor de DNS, que não sei se é o próprio
firewall no seu caso.
E configurar algum servidor web ﴾Apache ou IIS﴿ para
responder pelo domínio wpad e entregar o .dat.

Nerd.

#27 escrito por Alt 3 ANOS ATRÁS


No meu ambiente já está funcionando via DNS, sendo que estou achando
muito lento o acesso pela wpad. Quando coloco o ip do proxy
manualmente no navegador, a internet acessa rápido, se tirar, ai ele cai
no script do wpad mas em compensação a internet fica muito lenta. A
autenticação pede de forma rápida mas na hora de navegar nos sites
fica muito ruim. Algumas páginas inclusive dão erro de "no response",
isso seria problema do servidor DNS? Fiz a configuração no DNS do
Windows server 2008 e também já tirei o bloqueio do wpad. O que
poderia está causando essa lentidão?

#28 escrito por Nerd 3 ANOS ATRÁS

http://blog doner d.com.br/2011/10/descobertaautomaticadeproxywpadwebproxyautodiscovery/ 1/16


Alt
,
A lentidão pode ser problemas no seu script ou nas
configurações de DNS de seus computadores.
Tente configurar o script manualmente no browser para ver se
o resultado é o mesmo.
Outro teste: coloque no browser: http://wp a d/wp a d.da t e veja
se o arquivo wpad.dat é baixado com sucesso.
Poste nos comentários seus resultados.
Abraços.

Nerd.

#29 escrito por Alt 3 ANOS ATRÁS


Na configuração de DHCP, o valor tem que ser "http ://wpa d /wpa d .d a t" ou
"http://wp a d/wp a d.da t." ? A única diferença entre os dois é somente o "."
﴾ponto﴿ no final.

#30 escrito por Nerd 3 ANOS ATRÁS


Alt, é sem o
.
Abraços.
Nerd.

#31 escrito por Nerd 3 ANOS ATRÁS


Rafel,
Tenho um setup exatamente como esse seu, com proxy squid no linux e
wpad no DHCP e DNS.
Quando você usa o wireshark e abre o browser, você verifica
pacotes destinados ao wpad?
Esse é o passo primordial.
O outro é verificar se não existe nenhum erro no seu proxy.pac. O menor
erro e a solução não vai funcionar.
Reescreva seu proxy.pac do zero para ter certeza de não existir nenhum
caracter estranho.
Outro teste bom: Acesse http ://wpa d /wpa d .d a t a partir do browser, sem
usar o proxy e veja se o arquivo está sendo obtido. Pode haver algum
problema no seu IIS.

Nerd.

#32 escrito por Rafael Almeida 3 ANOS ATRÁS


Ola novamente. Realizei o teste do browser e ao colocar
o
endereço ele faz o download do arquivo, então creio que o IIS
está ok. Quanto ao proxy.pac, refiz ele mas acredito que não é
o problema pois ao inserir o endereço manualmente﴾na
config. do browser ﴿ as configurações automaticas funcionam.
Estou tentando o wireshark novamente, depois posto aqui.
Obrigado por enquanto.
#33 escrito por Rafael Almeida 3 ANOS ATRÁS
Encontrei o wpad nos resultados do wireshark, acho que
o DHCP do Windows está passando a opção do wpad
mas
não sei dizer porque o browser não detecta
automaticamente. Ao usar o wireshark no cliente não foi
encontrado nenhum pacote referente ao wpad.

#34 escrito por Rafael Almeida 3 ANOS ATRÁS


Segue o que encontrei com o wireshark:

...
Option: ﴾t=53,l=1﴿ DHCP Message Type = DHCP ACK
Option: ﴾t=54,l=4﴿ DHCP Server Identifier = 192.168.1.1
Option: ﴾t=1,l=4﴿ Subnet Mask = 255.255.255.0
Option: ﴾t=3,l=4﴿ Router =
192.168.3.1 Option: ﴾t=6,l=8﴿ Domain
Name Server
Option: ﴾t=252,l=28﴿ Private/Proxy autodiscovery
= "http://192.168.3.1/wp a d.da t"
End Option

#35 escrito por Nerd 3 ANOS ATRÁS


Rafael,
A principio está certo. Você configurou uma entrada
wpad no seu NDS para o ip do IIS?
Nerd.

#36 escrito por Rafael Almeida 3 ANOS ATRÁS


Você quer dizer DNS certo? Nesse caso, sim
configurei uma entrada A como wpad com o ip do
IIS
e fiz um teste depois com o ip do próprio proxy,
porem sem sucesso.

#37 escrito por Rafael Almeida 3 ANOS ATRÁS


Fiz os testes aqui mais não deu certo mesmo. Parece que o wpad no
DHCP e DNS do Windows 2008 não rola com proxy no linux. Mais alguma
sugestão?

#38 escrito por Rafael Almeida 3 ANOS ATRÁS


Certo, tentei fazer pelo DNS no Windows Server mas não rolou. Ah e
quanto a reiniciar tentei várias vezes e não tive sucesso. Vou criar um DNS
no próprio proxy e tentar replicar por la, depois posto aki. Abs

#39 escrito por Rafael Almeida 3 ANOS ATRÁS


Olá amigos! Muito legal esse tutorial parabéns. Mas estou com um
problema e se puderem me ajudar. Tenho um ubuntu server com
proxy squid e gostaria de passar as configurações pelo wpad. Meu
script eh bem simples e funciona se fizer o informar manualmente﴾na
config do navegador ﴿:
function FindProxyForURL﴾url, host﴿ {
return "PROXY 192.168.1.235:8080";
}
Configurei no meu Windows 2008 o wpad para o DHCP, porém não
obtive sucesso. Além disso utilizei o wireshark e percebi que a opção de
wpad não é repassada ao cliente.
Pesquisei por ai e muita gente teve problema com o globalqueryblock e
com a configuração da opção por servidor e não por escopo, mas já
verifiquei os dois casos.
Alguma idéia? Obrigado e Abs.

#40 escrito por Nerd 3 ANOS ATRÁS


Rafael,
Desculpe a demora em responder.
Lembre‐se que somente o Internet Explorer utiliza a
configuração do WPAD pelo DHCP inicialmente ﴾opção 252﴿
e, se ela não estiver disponível, ai sim ele irá buscar a entrada
no DNS.
Outros browsers vão buscar a entrada 'wpad' no DNS.
Recomendo colocar tanto a entrada no DHCP quanto no DNS.
As configurações no DHCP só terão efeito na próxima vez que
o computador cliente renovar sua consessão, dessa forma
recomendo ainda reiniciar as configurações de rede ou então
reiniciar seu computador após ajustar seu servidor de DHCP.
Informe aqui nos comentários se conseguiu resolver.
Abraços.

Nerd

#41 escrito por Paulo Sibalde 3 ANOS ATRÁS


Amigo, parabens pelo tuto, muito bem explicado!

Só uma dúvida, acima na config. do IIS vc fala para colocar o Tipo de


MIME "application/x‐javascript‐config" , já no tutorial no site:
http://findp r oxyfo r ur l.co m/wp a d_tuto r ia l.html eles falam para colocar o
tipo de MIME "application/x‐ns‐proxy‐autoconfig" muda algo de um pro
outro?

No meu caso estou apanhando com o IE, pois ele não detecta
automaticamente as configs, no firefox no mesmo micro funciona
normal.
﴾já fiz todos passos aqui descritos e nada﴿.
Abs

#42 escrito por Nerd 3 ANOS ATRÁS


Paulo,
Qualquer um dos tipos MIME que colocar vai funcionar. O
browser não irá verificar isso. Uma breve explicação sobre isso
pode ser lida em http://en.wikip ed ia .or g /wiki/Pr oxy_a uto‐
config . Tive problemas com o IE no sentido de que ele só
busca o WPAD na inicialização do Browser, então sugiro que
sempre que trocar a configuração de proxy do browser, feche
e abra‐o novamente.
Se estiver familiarizado com questões de rede e protocolo
HTTP, sugiro utilizar o Wir es ha r k para monitorar a rede e
verificar o comportamento do IE.
Lembre‐se que o IE utiliza a configuração do WPAD pelo
DHCP inicialmente ﴾opção 252﴿ e se ela não estiver
disponível ai sim ele irá buscar a entrada no DNS.
Recomendo reiniciar as configurações de rede ou então
reiniciar seu computador após ajustar seu servidor de DHCP.
Qualquer dúvida é só falar.

Nerd.

#43 escrito por Paulo Sibalde 3 ANOS ATRÁS


Obrigado pela resposta, os procedimentos que citou já fiz
para averiguar, na verdade acho que tenho 2 problemas
aqui, um na minha rede x que não reconhece o wpad
e outro no script que estou utilizando.

Na rede X eu não consigo detectar as configs


automaticamente, porém na rede Y consigo ﴾o servidor
web está na rede X﴿.

Se eu utilizar o script:
function FindProxyForURL﴾url, host﴿ {
if﴾isPlainHostName﴾host﴿﴿
return "DIRECT";
else
return "PROXY 192.168.1.235:8080";
}

O micro na rede Y detecta e navega com as restrições,


agora se eu utilizar o script que preciso:
function FindProxyForURL﴾url,
host﴿{ var proxy_x =
“192.168.2.103:8080?; var proxy_y =
“192.168.1.235:8080?; var proxy_z =
“192.168.0.235:8080?; var proxy_no
= “DIRECT”;
if ﴾shExpMatch﴾url, “localhost”﴿﴿ { return proxy_no; }
if ﴾isInNet﴾myIpAddress ﴾﴿, "192.168.1.0", "255.255.255.0"﴿﴿ {
return proxy_y ; }
if ﴾isInNet﴾myIpAddress ﴾﴿, "192.168.0.0",
"255.255.255.255"﴿﴿ { return proxy_z ; }
return proxy_x;
}

Ai nem o micro da rede Y detecta e navega sem restrições.

Será que o script está errado?

Sobre a detectação vou refazer a configuração para ver se


funciona.

Abs

#44 escrito por Nerd 3 ANOS ATRÁS


Paulo,
Tem alguns pequenos problemas no seu script:
1‐ O sinal de ? no final das variáveis de proxy.
2‐ A máscara de rede para a rede Z.
3‐ Algumas aspas duplas estão em formato fora do
padrão. Recomendo editar o script no Notepad ou em
qualquer outro editor que manipule arquivos txt ou
código fonte de programas.
4‐ Faltou colocar a palavra PROXY antes de cada variável
de retorno
O script correto seria:

function FindProxyForURL(url, host){


var proxy_x = "PROXY
192.168.2.103:8080";
var proxy_y = "PROXY
192.168.1.235:8080";
var proxy_z = "PROXY
192.168.0.235:8080";
var proxy_no = "DIRECT";

Copyright ﴾c﴿ 2014 by Blog do


Nerd

Você também pode gostar