Por qué el resultado de nslookup siempre proviene del servidor 127.0.0.1

11

Me parece bastante confuso que nslookup siempre obtenga resultados del Servidor 127.0.0.1

¿Esto se debe a que Ubuntu usa un caché DNS local de dnsmasq ? Pero lo cerré y enjuagué mi caché dns, luego busqué un host que nunca he visitado, y la salida sigue siendo 127.0.0.1.

Eso me confunde bastante. ¿Alguien puede explicar esto por mí? Por cierto, mi servidor DNS está configurado en 8.8.8.8.

47dev47null
fuente

Respuestas:

11

Por defecto, Ubuntu almacena en caché las entradas DNS con Dnsmasq. Dnsmasq realiza una búsqueda cuando una entrada DNS no está en su caché, por lo que siempre verá la dirección IP localhost( 127.0.0.1) al realizar una búsqueda DNS sin especificar el servidor de nombres.

En la página de manual se explica de la siguiente manera:

Dnsmasq acepta consultas DNS y las responde desde un pequeño caché local o las reenvía a un servidor DNS real y recursivo. Carga el contenido de / etc / hosts para que los nombres de host locales que no aparecen en el DNS global puedan resolverse y también responda consultas DNS para hosts configurados DHCP.

Este comportamiento se puede anular editando /etc/NetworkManager/NetworkManager.confy cambiando dns=dnsmasqa #dns=dnsmasq, después de lo cual deberá reiniciar el servicio de administrador de red ( sudo service network-manager restart).

Se puede encontrar más información en la documentación de la comunidad y en la página de manual .

Silke
fuente
1
Gracias por la respuesta. No me he dado cuenta de que Dnsmasq realiza una búsqueda cuando una entrada DNS no está en caché. ¡Muchas gracias!
47dev47null
¿Qué hacer si ya no hay una dns=dnsmasqlínea?
Douglas Gaskell
@ Douglas Douglas: esta respuesta está desactualizada: creo que Ubuntu cambió a la systemd-resolvedversión 17.04. Ver: askubuntu.com/questions/907246/…
Silke
2

comprobar si

cat /etc/NetworkManager/NetworkManager.conf

[principal]

plugins = ifupdown, archivo de claves

dns = dnsmasq

[ifupdown]

gestionado = falso

hash (#) fuera dns = dnsmasq

guarde el archivo y reinicie la red.

Si no desea un solucionador local, puede desactivar DNSMASQ mediante el siguiente procedimiento

Necesita editar el archivo /etc/NetworkManager/NetworkManager.conf

gksudo gedit /etc/NetworkManager/NetworkManager.conf

y comentar la siguiente línea de

dns=dnsmasq

a

#dns=dnsmasq

Guardar y salir del archivo

Ahora necesita el administrador de red con el siguiente comando

sudo restart network-manager

Ref: http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/

Sourav Mishra
fuente