Configurando WPAD

Publicado por Leonardo Damasceno em 11/03/2010

[ Hits: 33.748 ]

Blog: https://techcraic.wordpress.com

 


Configurando WPAD



Bem, existe a possibilidade de configurar o WPAD no DNS (BIND), que realmente é o recomendado, porém alguns configuram apenas o DHCP. Ao ler essa dica você vai entender a necessidade da configuração dos dois.

Antes de mais nada, o que seria o WPAD? Do inglês "Web Proxy Auto-Discovery protocol".

Explicando ao nosso interesse, ele tem a função de "levar" o proxy automaticamente para as estações de trabalho. Ao instalar os navegadores Firefox e Internet Explorer, os mesmos ficam com a opção "Detectar proxy automaticamente" ou com a opção "Sem proxy". Para o WPAD funcionar, você precisa deixar a opção "Autodetectar as configurações de proxy para esta rede" no Firefox, e no Internet Explorer você precisa deixar marcado como "Detectar automaticamente as configurações".

Bem, vamos ver isso na prática.

Softwares:
  • Apache
  • BIND
  • DHCP

No meu caso, tenho um servidor DHCP e DNS que possuem o mesmo IP 192.168.1.1, e um servidor web 192.168.1.11. Vamos primeiramente a configuração do wpad no servidor web.

Acesse o diretório principal do servidor web. O default seria /var/www, então basta criar um arquivo wpad.dat no diretório (não é necessário modificar as permissões do arquivo, e nem o dono do mesmo), utilize o editor de texto que melhor lhe atende, no meu caso o vim:

# vim /var/www/wpad.dat

Coloque o conteúdo da seguinte maneira:

function FindProxyForURL(url, host)
{
return "PROXY 192.168.1.3:3128";
}

O proxy (Squid) da minha rede fica no servidor com IP 192.168.1.3, utilizando a porta 3128 (padrão).

Pronto, a parte do servidor web já está pronta, então podemos configurar a parte do DHCP. Mas antes vamos fazer o teste para saber se realmente está funcionando.

Para efetuar o teste, adicione o endereço do servidor web com o caminho do arquivo wpad.dat da seguinte forma no Mozilla Firefox (caminho: Editar > Preferências > Avançado > Aba "rede", Botão "configurar conexão"):
Linux: Configurando WPAD
Agora tente acessar algo.

Já para o Internet Explorer vá nas configurações de proxy do navegador (Ferramentas > Opções de internet > Conexões > Configurações de LAN) e marque a segunda opção: "Usar script de configuração automática", colocando o endereço do servidor com o arquivo .dat, por exemplo:

http://192.168.1.11/wpad.dat

Agora salve e feche. Pode acessar qualquer site, se funcionar vamos pular para a etapa de configuração do DHCP.

Acesse o seu servidor DHCP e abra o arquivo de configuração, normalmente encontrado em /etc/dhcpd.conf ou /etc/dhcp3/dhcpd.conf:

# vim /etc/dhcp3/dhcpd.conf

Coloque o conteúdo necessário no arquivo de configuração do DHCP, da seguinte maneira:

option wpad code 252 = text;
option wpad "http://192.168.1.11/wpad.dat\n";
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;

subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.10 192.168.100.200;
option routers 192.168.100.1;
option domain-name-servers 200.235.120.200,200.235.120.220;
option broadcast-address 192.168.100.255;
}

Ou seja, precisamos adicionar apenas duas linhas no começo do arquivo de configuração do DHCP:

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

Não pense que esse "\n" foi colocado ao acaso. Pois o "/n" insere uma quebra de linha. Existe um bug no IE 6.0, que não lê a configuração se o \n não estiver presente. Agora, vamos reiniciar o nosso servidor DHCP.

# /etc/init.d/dhcp3-server restart

Bem, agora o Internet Explorer está funcionando.

Após alguns testes percebi que é necessário utilizar a configuração do WPAD tanto no DHCP quanto no DNS. Principalmente se você possui máquinas Windows e Linux na sua rede, pois o padrão do Windows é o I.E, e no Linux é o Firefox.

Com a configuração feita, e testada, apenas o Internet Explorer funcionou. Após a configuração do BIND, ambos funcionaram.

Para configurar o BIND, basta editar o arquivo de sua zona, criando um record do tipo A, então adicione essa linha:

wpad IN A 192.168.1.11

Estamos utilizando o host "wpad", e o servidor WEB onde se encontra o arquivo wpad.dat. Bem, nessa dica utilizei três servidores:
  • 192.168.1.1 (DHCP)
  • 192.168.1.3 (PROXY)
  • 192.168.1.11 (WEB)

Lógico que você pode diminuir essa quantidade de servidores para adaptar essa dica a sua realidade. Por exemplo, para que um servidor WEB? Por que não um servidor DHCP e WEB? Ou seja, seriam dois servidores. Então siga o tutorial e adapte ele a realidade de sua rede.

Boa sorte. :)

Outras dicas deste autor

NetGrok, uma ótima ferramenta para monitoramento

Iniciando Counter-Strike 1.6 no GNU/Linux

Redefinindo a senha de root no MySQL (sem saber a atual)

Testando servidor de e-mail via telnet

Resolvendo problema com audio no Debian - placa Intel Corporation 82801I

Leitura recomendada

Resetando dispositivo Ubiquiti (UBNT) via SSH

GMail Manager

aMSN, erro slocate.db (Slackware)

Gnash - flash player open source

Mudanças no Youtube podem reduzir o uso do Firefox

  

Comentários
[1] Comentário enviado por junior em 11/03/2010 - 09:17h

Léo, ótimo artigo, bem objetivo.

A grande questão quando se fala em WPAD é a seguinte:
Esta sua solução, funciona para proxy autenticado?
Se meu squid tiver autenticação (seja ela via LDAP, MySQL e afins) essa solução irá funcionar?

Um abraço!

[2] Comentário enviado por leodamasceno em 11/03/2010 - 10:24h

Olá junior.rocha,

primeiramente obrigado :).
Bem, essa pergunta que você fez é exatamente o ambiente em que trabalho.
Toda a autenticação é feita pelo LDAP, e temos um squid com autenticação rodando.
O problema, era que o pessoal do suporte ao configurar 10 máquinas, perdia tempo pra tá colocando proxy em 10 máquinas. Depois, criamos um script para isso, só então, achamos essa solução chamada WPAD. :)

Então, a resposta para a tua pergunta é: sim.


Um abraço. :)

[3] Comentário enviado por marcoscarraro em 16/06/2011 - 14:47h

Buenas,
Tche ajudou e muito, estava com um problema em uma rede, mas nem tinha me passado na cabeça que faltava o parametro no dns para o wpad.
Muito obrigado, é sempre bom ter umas colinhas no bolso.

Abraços
Att
Marcos Carraro

[4] Comentário enviado por matheusoveral em 10/08/2011 - 17:33h

Buenas ;

Faz alguns dias que estou tentando fazer com que minha configuração WPAD funcione.
Mas até agora sem sucesso.

Vc pode me dar mais algumas dicas?

No meu caso eu disponibilizo o wpad pelo dhcp e pelo dns, em uma interface wireless.

O dhcp e dns estão funcionando bem, porem quanto tento navegar o squid retorna um erro:
URL inválida.

O que será que esta errado?

Sds;
Matheus

[5] Comentário enviado por viniciuspedra em 13/09/2011 - 11:02h

matheusoveral creio que seja algum problema no seu squid...
mas antes verifique o endereço de IP que vc atribuiu no wpad.dat e também nas configurações do seu navegador.

[6] Comentário enviado por cainf em 31/05/2012 - 12:04h

Amigo eu realmente tenho que colocar manualmente a config no proxy ?? No meu caso criei um samba pdc onde varios usuarios usam varias estações se eu tiver que configurar sempre q o usuario for logar eu teria que ter a senha e login de cada um e configurar o que nao seria nada interessante

Minha pergunta é existe uma forma de ja enviar o endereço proxy para a estação ?? Sendo assim quando um novo usuario for logar no meu samba PDC nao preciso me preocupar com isso

Desde ja agradeço

Carlos

[7] Comentário enviado por amgsoltecno em 14/11/2012 - 18:08h

Fiz o arquivo coloquei no webserver(apache) pra teste, baixo ele normalmente, aparece no log do squid, mas não funciona, não modifica o proxy , não navega, oque pode ser, minha configuração esta como proxy transparente, mas estava precisando implementar isso por causa da navegação https que esta dando erro.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts