Estou tendo problemas de DNS com uma configuração do squid. Também tentei usar dns_nameservers
a 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.