Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · NoticiasLinux · SoftwareLivre.org · UnderLinux · BestLinux
» Screenshot



» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha

» Wallpaper
Linux: O Futuro!!!
Por sadol


Artigo

Configuração automática (mesmo) de proxy com WPAD
Linux user
Ragnarök
29/05/2007
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.
Por: Daniel Carmo Olops
[ Hits: 62066 ]
Conceito: 10.0   3 voto(s)3 voto(s)3 voto(s)3 voto(s)3 voto(s) + quero dar nota ao artigo

Preliminares

Como dito na descrição, o WPAD (Windows Proxy Auto Discovery) é um protocolo que permite que os navegadores suportados consigam obter automaticamente a configuração de proxy da sua rede. Isto elimina a necessidade de se configurar o proxy manualmente nas estações, e por isso mesmo, você pode até desativar o recurso de Proxy Transparente, que peca nos seguintes itens:
  • Não funciona com HTTPS e FTP;
  • Não funciona com sites que não operam na porta 80;
  • É facilmente burlável;
  • A autenticação *não funciona*;
  • Podem haver problemas com refresh de páginas.

Como isto funciona:
Você deve escolher se irá utilizar o DHCP ou o DNS para divulgar o endereço do proxy aos seus clientes (você pode usar os dois, sem problemas).

Quando o método utilizado for o DHCP, o navegador procurará no registro de concessão do endereçamento IP um campo texto com código 252. Ele deverá conter uma URL para um arquivo texto, o famoso arquivo PAC, que diz qual é o endereço do proxy. O arquivo deve estar armazenado em um servidor HTTP (o servidor de sua intranet, por exemplo).

Se o método for o DNS, o navegador irá buscar em seu domínio uma máquina chamada "wpad". Ou seja, se o seu domínio DNS interno é "intranet.empresa.com.br", ele procurará por um registro "wpad.intranet.empresa.com.br"; se não encontrar, ele sobe um nível - "wpad.empresa.com.br", e se não encontrar, ele encerra a busca (mas há relatos de que o navegador tentou usar o endereço "wpad.com.br" para achar a configuração!). Este endereço DNS deve apontar para um servidor Web que disponibilize um arquivo chamado "wpad.dat", idêntico em sintaxe aos arquivos PAC.

Pré-requisitos

Para configurar o WPAD, no mínimo um destes dois serviços precisam estar rodando em sua rede:
  • DHCP;
  • DNS, configurado com um domínio interno (intranet).

Se o método utilizado for o DHCP, as máquinas da rede deverão estar configuradas para obter IP via DHCP (isto é, automaticamente). Já se o método escolhido for o DNS, elas deverão ter o sufixo DNS devidamente configurado (se as máquinas estiverem em DHCP, você pode definir o sufixo DNS na própria configuração deste serviço, com a diretiva "domain-name").

Além disto é necessário ter um servidor proxy devidamente testado e funcional (sééério?! :-P ) e um servidor web. Não vou explicar como instalar e configurar um servidor DHCP (ISC DHCP), DNS (Bind) ou proxy (Squid) ou web (Apache), pois há farta documentação sobre isto, seja aqui no Viva o Linux ou através de uma pesquisa no Google.

Próxima página >>


Páginas do artigo

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por punisher 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.rocha 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 LisandroGuerra 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?.


Contribuir com comentário
CAPTCHA
[ Recarregar imagem ]

Digite o código acima:

  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.