nslookup, dig, firefox ignorando las entradas del archivo / etc / hosts

10

Hay algo terriblemente mal con mi instalación actual de Debian. La mayoría de los programas como firefox, nslookup, dig, etc. ignoran las entradas en el /etc/hostsarchivo, en realidad uso este archivo para el bloqueo de anuncios.

un ejemplo

una línea en el /etc/hostsarchivo

127.0.0.1 www.winaproduct.com

cuando lo hago dig +short www.winaproduct.com, devuelve la dirección IP respectiva del servidor, no 127.0.0.1.

Abierto www.winaproduct.comen firefox, muestra el sitio web respectivo, pero esto no se espera.

Pero no hay problema ping, busybox nslookup, busybox ping, resolveipetc.

Entonces, cuál es el problema ? ¿Y cómo solucionarlo? Creo que el problema está en la biblioteca de resolución de DNS.

Una reparación temporal, configuración dnsmasqy cambio nameservera 127.0.0.1in /etc/resolv.conf.

actualizar

problema resuelto mágicamente después de la instalación libnss3, como una dependencia degoogle-chrome

el valor predeterminado /etc/nsswitch.conf se parece a hosts: files dns

cómo saber nslookup, digetc. preguntar primero el archivo / etc / hosts en lugar de preguntar directamente al DNS?

pero ¿por qué busybox nslookup, wget, resolveipetc., están trabajando de manera diferente que nslookup, digetc?

Arnab
fuente
¿Cómo se ve la hosts:entrada /etc/nsswitch.conf?
casey
@ casey, /etc/nsswitch.conf parecehosts: files dns
Arnab
Agregue esta información clave dentro de su OQ.
dan
Esto claramente no es un problema de DNS. Mire esta pregunta muy similar: unix.stackexchange.com/q/158419/31707 .
dan

Respuestas:

16

nslookup, digy hostson herramientas para consultar servidores de nombres DNS.

Si su configuración no es proporcionada por un servidor de nombres (como la información proporcionada /etc/hosts), esas herramientas no las mostrarán, porque preguntan directamente al servidor de nombres.

Si desea comprobar que la resolución "habitual" está funcionando (es decir, la forma especificada en /etc/nsswitch.conf), puede usar getent:

getent hosts www.winaproduct.com
michas
fuente
getent hosts www.winaproduct.comestá funcionando perfectamente, pero nslookup, dig, hostetc., están sólo como ejemplo, yo quiero en Firefox .
Arnab
1
Si funciona con getent, también debería funcionar con firefox. (Ambos usan el mismo mecanismo de resolución). Si realmente no funciona, verifique la configuración "inusual" en Firefox. Tal vez estableces algún tipo de proxy o algo así.
michas
gracias por el comentario, no uso ninguna configuración inusual de firefox, no, no funciona con firefox (38.0.1).
Arnab
3
Estoy muy seguro de que es un problema del navegador. Pruebe wgeto algún otro navegador como Chrome. Si getentda el resultado esperado, todos deberían hacerlo.
michas
1
@daniel Azuelos, no hay nada malo con la configuración de Firefox, ya está usando No Proxy. Entonces, ¿cómo saber nslookup, digetc. preguntar /etc/hostsprimero el archivo en lugar de preguntar directamente al DNS? Gracias por tu valioso comentario.
Arnab
4

Puede instalar DNSmasq que leerá sus entradas / etc / hosts e importarlas en su caché DNS. Luego, todas sus herramientas de DNS y aplicaciones de consulta de DNS como dig, host y nslookup recibirán respuestas que se originan en el archivo / etc / hosts.

Tony Barganski
fuente