Problema de DNS con calamar

Problema de DNS con calamar

Tengo problemas de DNS con la configuración de Squid. También intenté usar dns_nameserversla directiva en mi squid.conf para apuntar a los servidores DNS. Tengo un escenario en el que se supone que www.example.com debe ir a Internet, pero se supone que foo.example.com debe ir a un dominio interno. Desde mi cliente, cuando intento hacer ping a foo.example.com, selecciona la IP correcta, pero aparece este error en mi navegador:

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

Sé que mi cliente apunta a la IP correcta (porque el ping funciona bien), pero tengo curiosidad por saber por qué Squid intentaría conectarse al sitio público example.com.

Respuesta1

La documentación que leí sugiere que, de forma predeterminada, Squid selecciona los servidores de nombres del archivo /etc/resolv.conf. Sin embargo, eso no funcionó para mí. Aunque el propio SO (Debian) podía resolver la IP, squid se quejaba. Hice los siguientes cambios y lo hice funcionar:
/etc/nsswitch.conf:
hosts: files dns
/etc/hosts:
<ip_of_server> foo.example.com

Todavía estoy tratando de descubrir por qué squid no selecciona servidores de nombres de /etc/resolv.conf.

Respuesta2

¿Qué servidor DNS está utilizando el cliente? El hecho de que el cliente pueda resolverlo correctamente tiene poco efecto sobre el calamar.

Cuando se utiliza un proxy, el servidor realiza la resolución DNS, por lo que la resolución DNS del cliente no importa; sólo necesita poder resolver la dirección del proxy.

¿Puedes hacer ping a foo.example.com desde el servidor Squid? De lo contrario, el cliente y el servidor deben utilizar servidores DNS diferentes o recibirán vistas diferentes para esa zona.

información relacionada