Configuração automática (mesmo) de proxy com WPAD

A tecnologia WPAD, pouco conhecida pela maioria das pessoas, permite que diversos navegadores (IE, Firefox, Konqueror, etc.) consigam obter de forma 100% automática a configuração de proxy da sua rede. Melhor do que proxy transparente, mais automático do que os arquivos .PAC sozinhos! Veja como configurá-lo aqui.

[ Hits: 298.759 ]

Por: Daniel Carmo Olops em 29/05/2007


Configurando via DHCP ou DNS



Método 1: Configurando via DHCP

Em seu servidor DHCP, edite o arquivo dhcpd.conf, que geralmente fica em "/etc/dhcp", e acrescente as seguintes linhas no começo do arquivo:

option wpad code 252 = text;
option wpad "http://seu.servidor.web/wpad.dat\n";

Ajuste o caminho para o que for correto. Note o "\n": alguns clientes "comem" o último caractere da URL; o "\n" previne isto.

Feita a alteração, salve o arquivo e reinicie o serviço DHCP.

Método 2: Configurando via DNS

Em seu servidor DNS interno, edite o arquivo de sua zona e crie um record tipo A para o host "wpad". Assim:

wpad IN A 10.0.0.1

Troque o IP pelo do servidor web onde está o arquivo "wpad.dat". Note também que esta configuração é válida para o BIND; se você usa outro servidor DNS, adeque o comando acima à ele.

Feito isto, recarregue a zona ou reinicie o servidor DNS.

Página anterior     Próxima página

Páginas do artigo
   1. Preliminares
   2. Criando o arquivo de autoconfiguração
   3. Configurando via DHCP ou DNS
   4. Configurando o cliente
   5. Hora H: Os testes
Outros artigos deste autor

Configurando administradores de domínio no Samba

Administrando seu servidor Samba com o User Manager

Leitura recomendada

Como escolher o melhor escalonador de CPU para melhorar o desempenho da máquina

Configurando mais de um IP por placa de rede

Criando pacotes no Slackware Linux

Ingressar desktop GNU/Linux no domínio Active Directory do Windows Server 2008

Colinux com Debian - Linux Rodando Dentro do Windows

  
Comentários
[1] Comentário enviado por smrabelo em 29/05/2007 - 07:46h

Cara, perfeito! Parabéns! =]
Vou testar isso hoje.

[2] Comentário enviado por diekn em 29/05/2007 - 08:15h

bem legal,vou testar pra ver,parabens desde ja.

[3] Comentário enviado por zuckerman em 29/05/2007 - 11:16h

Gostei bastante do artigo, mas tenho uma dúvida.

No meu caso tenho o seguinte cenário:

Firewall/Proxy - Linux com Squid
DNS/DHCP - Via Windows 2003 Server

Assim, onde eu devo "jogar" o arquivo "wpad.dat", ou neste caso não rola?

[4] Comentário enviado por Ragnarök em 29/05/2007 - 11:28h

zuckerman, você pode hospedar o wpad.dat na raiz de *qualquer* servidor web que você disponha.
Aproveitando, segue um link (em Inglês) explicando como configurar o DNS e DHCP do Windows 2003:
http://www.grape-info.com/doc/win2000srv/internet-gw/wpad/index.html

[]s

[5] Comentário enviado por vagnerd em 29/05/2007 - 15:23h

Corrigindo a página 1, não é concessão e sim conexão.

Parabéns pelo artigo, eu particularmente desconhecia essa tecnologia, é muito interessante.

[6] Comentário enviado por demattos em 29/05/2007 - 20:40h

boa noite,

muito bom o artigo, o interesante por que é possivel fazer todas as configuracoes automaticamente isto e show, nao preciso ir de maquina em maquina.....

Valeu

t+

[7] Comentário enviado por tenpontes em 29/05/2007 - 23:24h

Muito bom o artigo. Utilizei o mesmo em meu trabalho e funcionou legal.

Deve-se ter atenção na configuração via DHCP. Na URL para o arquivo wpad.dat, deve-se usar o IP do servidor, e não o DNS.

option wpad code 252 = text;
option wpad "http://ip.do.seu.servidor.web/wpad.dat\n";

[8] Comentário enviado por bobbyjr em 31/05/2007 - 11:26h

Fiz aqui a parte do DHCP e funcionou beleza!

valeu!

[9] Comentário enviado por tenpontes em 06/06/2007 - 22:38h

Como havia dito antes, no meu trabalho funcionou legal, mas 90% das máquinas são Ubuntu 7.04. Nas máquinas que ainda são windows (infeslimente) o IE não conseguiu obter as configurações automáticas.
Foi configurado tanto via DHCP quanto DNS. No firefox funfa legal.
Alguém tem alguma sugestão do que possa ser?
Abraço...

[10] Comentário enviado por vladijr em 25/07/2007 - 20:01h

configurei meu servidor da maneira a pegar a configuração do navegador pelo servidor dhcp mas quando marco a opção ele não pega a configuração só consigo usar o próxy se marcar a opção usar um script de configuração automatica e digitar o caminho do script, só q o restante do dhcp funciona normal o q pode estar acontecendo, além disso como posso fazer para que os usuarios não naveguem se desmarcarem as opções de proxy no navegador????

[11] Comentário enviado por Felipe Domingos em 14/08/2007 - 16:48h

Ótimo artigo, ajuda a agilizar e muito configurações dos clientes.
só uma correção:
na parte de criação do arquivo:
-------------------------------------------------------------
function FindProxyForURL(url, host) {
if(isPlainHostName(host) || isInNet(host, "10.0.0.0", "255.0.0.0") || dnsDomainIs(host, "update.microsoft.com")
return "DIRECT";
else
return "PROXY 10.0.0.1:3128";
}
-------------------------------------------------------------
faltou fechar o ")" depois do ..."update.microsoft.com") ) # tem q ser 2, o ultimo sendo para fechar o ( depois do if

T+

[12] Comentário enviado por rick001_7 em 28/08/2007 - 15:47h

Olá,

Muito bom seu artigo show de bola mesmo. Só tive um probleminha aki na minha instalação, quando coloco a linha:

option wpad code 252 = text;
option wpad "http://IPDOMEUSERVIDOR/wpad.dat\n";

Ele dá erro e o dhcp não inicializa. Alguma dica?

Valew!

[13] Comentário enviado por rgoesjr em 29/08/2007 - 19:02h

Caro Daniel,

Estou tendo dificuldade em colocar a opção wpad dentro do dhcpd.conf (Debian), da o seguinte erro

Aug 28 14:36:35 localhost dhcpd: /etc/dhcpd.conf line 110: no option named wpad
Aug 28 14:36:35 localhost dhcpd: option wpad code
Aug 28 14:36:35 localhost dhcpd: /etc/dhcpd.conf line 111: no option named wpad
Aug 28 14:36:35 localhost dhcpd: ^Ioption
wpad "http://proxy.grupoxxx.com.br:3030/wpad.dat\n"
Aug 28 14:36:35 localhost dhcpd: /etc/dhcpd.conf line 112: authority makes no sense here.

vc poderia me ajudar?

Obrigado
Raimundo Bahia

[14] Comentário enviado por rfreitasa em 11/09/2007 - 09:01h

tb estou tendo problemas...
ele nao reconhece o option wpad code ...
Estou usando o ubuntu server,
Se alguem conseguiu rolar no debian e ubuntu da um alo ai!
abc,

[15] Comentário enviado por rgoesjr em 14/09/2007 - 14:57h

Caro rfreitasa,

Não obtive resposta do autor do artigo,acho que ele abandonou o projeto. Mas consegui resolver meu problema colocando a versão 3 do dhcp.

Raimundo Bahia

[16] Comentário enviado por jgama em 05/02/2008 - 02:14h

Este é o grande problema de varios tutoriais que o pessoal cria mas o suporte fica haver navios,
tudo bem que gratuito, mas deviria pelo menos dizer que não sabe o que poder ser.

Aqui estou usando o Centos 5.0 e não tenho problema nem cm DHCP e nem com Bind.

Abraço

[17] Comentário enviado por Ragnarök em 18/03/2008 - 20:04h

Atualizando o artigo: vou responder um por um.

- É recomendado configurar TANTO por DHCP quanto por DNS, quando os dois recursos existem na rede. Até onde conheço, só o IE consegue usar WPAD via DHCP, o resto é só por DNS.
- tenpontes: está certo. Se a configuração for via DHCP, você precisa especificar o host por IP. Valeu.
- vladijr: difícil. É bom revisar as configurações e os logs. Quanto aos usuários não navegarem sem proxy, isto é feito via IPTables, mas isto não é o escopo deste artigo.
- fox_mulder: está certo, errinho de digitação maldito =( Valeu.
- rick001_7, rgoesjr e rfreitasa: o DHCP padrão do Debian é o 2.x; você precisa instalar o DHCP 3.x, com o pacote dhcp3-server.
- rgoesjr e jgama: eu já havia alertado no fim do artigo que estava sem tempo para responder dúvidas técnicas... basta ver que estou respondendo só hoje. Mas em todo o caso, estou disponível para suporte (bem) pago =)

[]s

[18] Comentário enviado por jgama em 19/03/2008 - 00:18h

Ragnarok peço desculpa, pois realmente vc já tinha alertado da falta de tempo eu não tinha lido o final do artigo se lê não lembrei.

Mas em todo caso o artigo é de grande valia.

Abraço

[19] Comentário enviado por l3c4 em 03/04/2008 - 14:48h

estou usando debian 4, e estou tentando fazer a configuracao para rodar junto com estacoes windows.
ja tentei reintalar umas 10 vezes, estou usando o dhcp3.
ele me da um erro no DHCP que nao existe a opcao wpad.
oque pode ser isso como arrumar???

[20] Comentário enviado por Ragnarök em 07/04/2008 - 11:00h

Mais fácil entender o problema se você postar seu dhcpd.conf e as mensagens do log referentes ao problema.

[]s

[21] Comentário enviado por edgleyson em 05/05/2008 - 20:13h


Estou tendo dificuldades também.
Se eu desabilito a opção de proxy transparente,as estações com IE6 não navegam e não acessam o servidor web.

Segue meu dhcpd.conf:

# /etc/dhcp3/dhcpd.conf
#
# Configurações gerais
#*********************
#
INTERFACES="eth1";
option wpad code 252 = text;
option wpad "http://10.0.0.1/wpad.dat\n";
ddns-update-style none;
option domain-name "piamartamontese.com.br";
default-lease-time 600;
max-lease-time 7200;
authoritative;
subnet 10.0.0.0 netmask 255.0.0.0 {
range 10.0.0.2 10.0.0.21;
option routers 10.0.0.1;
option domain-name-servers 200.165.132.155,200.149.55.140;
option broadcast-address 10.0.0.255;
deny unknown-clients;
}


Onde, 10.0.0.1 é o endereço do servidor web.

Tem algo errado?

Detalhe: Só fiz a instalação padrão do apache2.
Necessita alguma configuração especifica nele?

[22] Comentário enviado por rodrigo.gos em 11/06/2008 - 18:13h

Pessoal, boa noite!

Tenho o seguinte ambiente:
- PDC: Win2003;
- Proxy: SQUID com FREEBSD;

Estou com o seguinte "problema"... Configurei o FREE, de modo que sincronizasse com o bando de dados do AD, até aí tudo certo.

Quando o usuário loga no dominio, ele já busca as regras por grupo e as impõe sem precisar que da autenticação no BROWSER.

As configurações do BROWSER eram feitas por GPO.

Então resolvi mudar e implementar o WPAD, definindo o proxy por DHCP, tb obtive sucesso, mas a partir daí faz-se necessário a autenticação do usuário no BROWSER.

Alguém pode me ajudar e me explicar o que pode ter acontecido? Preciso especificar alguma referência no WPAD?

Aguardo ajuda. Risos...

Rodrigo Gós.

[23] Comentário enviado por titanderso em 27/08/2008 - 22:52h

Excelente dica, eu usei aqui e funcionou beleza.

Me dá uma dica amigo, eu possuo três links de internet, 02 com proxy autenticado e outro direto. Como eu faço para que determinado ip funcione com o proxy1, o outro no proxy2 e se os dois primeiros servidores proxy estiverem fora do ar, os ip conectar-se diretamente ao proxy3.

Outra coisa eu consigo já colocar usuário e senha no proxy1, para que os outros acessem direto (é que um alguns diretores não gostam de digitar o usuário e a senha eo link é externo)

Não sei se exite esta possibilidade, mas se existir vai ser uma mão na roda.

[24] Comentário enviado por titanderso em 28/08/2008 - 21:20h

Resolvido,

Com a dica do jqueiroz.


Vlw

[25] Comentário enviado por junior em 02/09/2008 - 13:37h

Olá amigo, a configuração funciona com proxy autenticado?
Ou seja, se eu colcoar a detecção automática, vai pedir a senha de autenticação?

Um abraço.

[26] Comentário enviado por tomassoni em 21/05/2009 - 13:38h

Amigo poderia só me dizer mais detalhes sobre o sufixo DNS ?!

[27] Comentário enviado por elgio em 23/04/2010 - 16:25h

Beleza de artigo!

[28] Comentário enviado por tiekookeit em 05/05/2010 - 23:32h

very nice!!

VLW!

[29] Comentário enviado por Lisandro em 09/06/2010 - 09:26h

Parabéns pelo belo artigo!

[30] Comentário enviado por sonyh em 13/07/2010 - 02:26h

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
option wpad-url code 252 = text;
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option routers 192.168.10.1;
option domain-name-servers xxx.xxx.xxx.xxx; ##o ip do seu DNS
option broadcast-address 192.168.10.255;
option wpad-url "http://192.168.10.2/wpad.dat\n";
}

sem problema com IE, mas com firefox gostaria que ele pegasse automático também feito IE ao invés de colocar o script.
alguém sabe fazer isso?.

[31] Comentário enviado por junior1917 em 15/10/2010 - 16:19h

Bem interessante... Vou ver se aproveito as ferias do chefe pra testar em umas maquinas...

[32] Comentário enviado por victordematos em 11/02/2011 - 13:53h

Olá, fiz as configurações passadas. Porém não estou conseguindo acessar sites pelo proxy (só funciona a intranet e não pede autenticação pelo squid).

function FindProxyForURL(url, host) {
if(isPlainHostName(host) || isInNet(host, "10.81.7.0", "255.255.255.0") || dnsDomainIs(host, "eb.mil.br")
return "DIRECT";
else
return "PROXY 10.81.7.2:3128";
}
~

minha rede é 10.81.7.0, meu proxy está em 10.81.7.2 e o arquivo wpad.dat está também no http://10.81.7.2/wpad.dat
Obrigado

[33] Comentário enviado por fs.schmidt em 05/04/2011 - 23:05h

Parabéns, excelente artigo ! Efetuei uma configuração hoje colocando o wpad no dhcp e dns, funcionou perfeitamente para os navegadores firefox e IE em clientes windows XP, porém as estações com windows 7 não pegaram a configuração, alguém já passou por isso?

[34] Comentário enviado por denysiacanga em 28/04/2011 - 15:34h

Caro colega, fs.schmidt

Nas estações com windows 7 é gerando uma espécie de cache de configuração do I.E. onde ele guarda as configurações antigas de proxy, portanto é necessário limpar esse "cache" do IE, clicando em ferramentas, opções da internet, avançadas, redefinir...

Espero que tenha refrescado, pois tive o mesmo problema e consegui resolver desta forma. Abraços.

[35] Comentário enviado por Cr1stt0f3r em 17/06/2011 - 11:30h

Amigo, fiz teu passo-a-passo eu deu certo, mas agora o problema esta no squid...
Só que se eu definir a proxy, ele navega normal, e sem definição da erro:

ERROR
The requested URL could not be retrieved
Invalid Request error was encountered while trying to process the request:

GET / HTTP/1.1
Host: www.google.com.br
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Cookie: PREF=ID=46ec40d137d7ef14:U=b7f212067d08bc0d:FF=0:TM=1308320658:LM=1308320754:S=-IkhfaQIQWlMtlUH; NID=48=K2Km_pxvt8xnUj9JxE9NslXRnylKuXdwW0Cy0GGl0ouBfJ3P8aGE_5PlBmMbhs3jZ35eHUxuMPae444AJUHGT_2Hic7oyJHcQ3NtnkNhY4jByu3chsAmOVtKSNRZxVkk

Some possible problems are:
Método desconhecido ou faltando (GET, POST)
Faltou a URL
Faltou o identificador HTTP (HTTP/1.0)
A requisição pode ser muito grande
Content-Length missing for POST or PUT requests.
Hostname com caracter inválido; não são permitidos underscores.
Your cache administrator is webmaster.
Generated Mon, 13 Jun 2011 09:57:07 GMT by InternetServer (squid/2.7.STABLE7)



O detalhe é que ja tentei limpar o cache do navegador, da maquina, do squid, e nada...
Espero que possam me ajudar, abraço.

[36] Comentário enviado por Lwksbc em 04/09/2011 - 10:42h


Otimo artigo amigo :)


[37] Comentário enviado por vitorioluis em 23/09/2011 - 16:50h

Não gosto desse modelo prefiro carregar as infos com script de logon....

[38] Comentário enviado por tiekookeit em 23/09/2011 - 23:40h

não acredito que seja questão de gosto. este é o modo mais pratico de se distribuir proxy automaticamente, imagine script de logon em uma rede mista linux, windows, mac android etc... não tem outra alternativa que cheire bem. Agora em pequenas redes windows tem outras alternativas, ou redes apenas windows

[39] Comentário enviado por marcosilva79 em 24/09/2011 - 21:24h

Ola pessoal ,

vitorioluis, vc poderia enriquecer ainda mais este artigo nos propondo a sua solução, acho que a grande maioria de nós temos um cenário onde usamos linux nos servidores e windows nos clientes ,ecah mas esta é a verdade : ( Nos demonstre ae a sua solução.

Abraço à galera do vol ...

[40] Comentário enviado por mr.oliver em 25/09/2011 - 00:56h

Muito Bom Cara , Vai ser muito útil nos meus Servidores !
VIVA O LINUX !

[41] Comentário enviado por viniciuspedra em 28/12/2011 - 09:23h

prezados, fiz os testes porém sempre o primeiro acesso é dificultado pela demora do navegador do cliente detectar as informações. Isso pode trazer um certo descontentamento

[42] Comentário enviado por edilinhares em 08/02/2012 - 08:52h

Olá,

Fiz toda a configuração, o Firefox 10 funciona legal, mas no internet explorer 9, não está detectando automaticamente...

Edson

[43] Comentário enviado por tiekookeit em 08/02/2012 - 19:19h

isso é comum no ie, provavelmente ele deve estar com o wpad.dat em cache, exclua o cache do ie no painel de controle, deve funcionar

[44] Comentário enviado por metanol_pa em 15/02/2012 - 16:49h

Pessoal estou com o mesmo problema do edilhinhares, funciona no firefox mais no IE não vai. já limpei o cache verifiquei arquivo, dhcp, dns, etc.

Mais alguma solução?

[45] Comentário enviado por tiekookeit em 15/02/2012 - 20:29h

o que acontece se vc colocar no ie http://seu.servidor.web/wpad.dat ?

[46] Comentário enviado por metanol_pa em 16/02/2012 - 08:16h

tiekookeit,

se eu colocar o caminho do script ai ele funciona..., agora se deixo "detectar automaticamente" ai não encontra...

[47] Comentário enviado por tiekookeit em 16/02/2012 - 08:23h

esta tentando utilizar o metodo pelo dhcp, dns ou ambos. Dhcp e dns estão no windows ou no linux?

[48] Comentário enviado por metanol_pa em 16/02/2012 - 10:03h

Estou com ambos habilitados DNS e DHCP Windows Server 2008.

[49] Comentário enviado por tiekookeit em 16/02/2012 - 10:32h

no windows a consulta do wpad precisa ser liberado no dns, o que acontece eh que o firefox tenta resolver wpad pelo dns, e o dns recusa a requisicao e entao ele tenta pelo dhcp, no caso do ie ele tenta o wpad o dns recusa-se a informar quem é o wpad e ele desiste. Libere no registro do windows requisições ao wpad no dns

acredito que seja isto que está acontecendo

[50] Comentário enviado por metanol_pa em 16/02/2012 - 10:44h

Então eu já liberei no regedit nos 3 servidores de nomes.

Agora me ocorreu outro problema, em outro site no IE ele detectou automaticamente mas configurei o WPAD com o endereço de proxy de cada rede, e a rede x esta pegando o proxy da rede y. Vou mandar o arquivo pra ver se alguem consegue ver o erro:

function FindProxyForURL(url, host) {
if(isPlainHostName(host))
return "DIRECT";
if
(isInNet(MyIPAdress(), "192.168.0.0", "255.255.255.0"))
{return "PROXY 192.168.0.235:8080";
}
if
(isInNet(MyIPAdress(), "192.168.1.0", "255.255.255.0"))
{return "PROXY 192.168.1.235:8080";
}
if
(isInNet(MyIPAdress(), "192.168.2.0", "255.255.255.0"))
{return "PROXY 192.168.2.103:8080";
}

[51] Comentário enviado por Gabriel_Silva em 19/05/2012 - 14:46h

nao entendi

[52] Comentário enviado por cainf em 31/05/2012 - 11:01h

Interessante seu artigo amigo muito bom, uma pergunta criei uma rede com SAMBA PDC as estações estão no dominio com cada usuario com seu netlogon.bat com esse seu recurso posso usar para que as estações entram no proxy ?? sem a necessidade de configurar uma a uma ???

Desde ja agradeço

[53] Comentário enviado por tomassoni em 08/06/2012 - 15:13h

Cara você teria que fazer um .reg que alterasse o registro do IE, FF etc...ai você coloca ele para executar no login via PDC. Tem como fazer isso só dar uma pesquisada que de cabeça não lembro.

[54] Comentário enviado por liciomz em 16/10/2012 - 17:28h

Muito bom cara, só achei que o meu ficou muito lento depois da configuração.

[55] Comentário enviado por alisson_ma93 em 07/04/2014 - 12:41h

Muito bom kra, tanto pelo dhcp, quanto pelo DNS. Parabéns!

[56] Comentário enviado por wgalvaoc em 07/05/2015 - 06:44h


Grande Daniel, Parabéns pelo post....

[57] Comentário enviado por dnbernardo em 10/08/2015 - 20:01h

Realizei todas as configurações. Tudo funcionando.
Porém na minha rede utiliza-se o outlook e para este tipo de configuração com o WPAD, o NAT fica desativado e o Outlook não consegue ir até o destino para realizar o download dos e-mails. Não encontrei nenhuma ferramenta para configuração de proxy manual no outlook, como devo proceder ?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts