Problema de DNS com squid

Problema de DNS com squid

Estou tendo problemas de DNS com uma configuração do squid. Também tentei usar dns_nameserversa diretiva no meu squid.conf para apontar para os servidores DNS. Eu tenho um cenário em que www.example.com deveria ir para a Internet, mas foo.example.com deveria ir para um domínio interno. Do meu cliente, quando tento executar ping em foo.example.com, ele pega o IP correto, mas recebo este erro no meu navegador:

Unable to determine IP address from hostname foo.example.com  
The DNS server returned:  
Name Error: The domain name does not exist

Eu sei que meu cliente está apontando para o IP correto (porque o ping funciona bem), mas estou curioso para saber por que o squid tentaria se conectar ao exemplo público.com.

Responder1

A documentação que li sugere que, por padrão, o Squid seleciona os servidores de nomes do arquivo /etc/resolv.conf. No entanto, isso não funcionou para mim. Embora o próprio sistema operacional (Debian) pudesse resolver o IP, o squid estava reclamando. Fiz as seguintes alterações e consegui funcionar:
/etc/nsswitch.conf:
hosts: files dns
/etc/hosts:
<ip_of_server> foo.example.com

Ainda estou tentando descobrir por que o squid não seleciona servidores de nomes em /etc/resolv.conf.

Responder2

Qual servidor DNS o cliente está usando? O fato de o cliente poder resolvê-lo corretamente tem pouco efeito no squid.

Ao usar um proxy, o servidor faz a resolução do DNS, portanto a resolução do DNS do cliente não importa; ele só precisa ser capaz de resolver o endereço do proxy.

Você consegue executar ping em foo.example.com do servidor squid? Caso contrário, o cliente e o servidor deverão estar usando servidores DNS diferentes ou receberão visualizações diferentes para essa zona.

informação relacionada