¿Cómo borrar el caché DNS en Ubuntu?

45

Tengo problemas relacionados con la resolución de DNS en mi Ubuntu 9.10.
Antes de quejarme con mi ISP, me gustaría actualizar mi caché de DNS local, como en Windows ipconfig /flushdns.

¿Cómo puedo hacer eso en Ubuntu?

igorsantos07
fuente

Respuestas:

54

Øhh, ubuntu no almacena en caché DNS por defecto. ¡Entonces no hay nada que tirar! (pero tal vez su enrutador SOHO sí). La instalación de nscd hará que el caché de ubuntu DNS, después de lo cual puede borrar su caché, ¡pero esto no viene al caso, cuando aún no lo tiene instalado!

usuario42806
fuente
3
Por curiosidad, estoy en 14.04 y corriendo nslookupme dice que la respuesta proviene del servidor 127.0.0.1. Pero, que yo sepa, no tengo instalado el almacenamiento en caché de DNS (ni nscdtampoco dnsmasq). Estoy en Kubuntu ... ¿podría ser esto un administrador de red de KDE?
exhuma
@exhuma lo mismo aquí en ubuntu 14.04, así que no es cosa de kubuntu.
LJ_1102
2
@ LJ_1102 @ exhuma Ese sería el administrador de red de Ubuntu, escucha como un servidor DNS local, pero reenvía todas las solicitudes a lo que esté definido. Como efecto secundario (o por diseño), esto le permite cambiar los servidores DNS sobre la marcha desde la interfaz sin necesidad de permisos de root. Consulte, por ejemplo, esta pregunta: unix.stackexchange.com/questions/59414/…
Raghd Hamzeh
19

Ubuntu 12.04 en adelante usa dnsmasq para un caché local. Enviarle un SIGHUP (sudo killall -HUP dnsmasq) volverá a leer el caché.

NOTAS
Cuando recibe un SIGHUP, dnsmasq borra su caché y luego vuelve a cargar / etc / hosts y / etc / ethers y cualquier archivo proporcionado por --dhcp-hostsfile, --dhcp-optsfile o --addn-hosts. El script de cambio de arrendamiento dhcp se llama para todos los arrendamientos DHCP existentes. Si --no-poll está configurado, SIGHUP también vuelve a leer /etc/resolv.conf. SIGHUP NO vuelve a leer el archivo de configuración.

Ytjohn
fuente
Esto parece razonable. aunque, tengo que encontrar otro de los problemas que solía tener (que están relacionados con nuevos sitios en / etc / hosts y Opera) para probar esto y marcar como aceptado en lugar del otro: P
igorsantos07
Esta bien. En realidad me encontré con esto buscando limpiar mi propia entrada de DNS en caché. Sin embargo, una vez que encontré la solución, sentí que debería agregar mis hallazgos aquí. Sin embargo, no sé en qué versión Ubuntu comenzó a usar dnsmasq.
ytjohn
1
¡Esto funciona y realmente debería marcarse como la respuesta!
HDave
1
Si las ediciones minoritarias no estuvieran prohibidas y mal vistas, corregiría "SIGUP" a SIGHUP .
James Haigh
@Igoru: puede usar digpara probar si la memoria caché realmente se ha borrado. Quería borrar el caché en uno de mis enrutadores OpenWrt para los que intenté dig @192.168.0.3 nixos.orgvarias veces (cualquier dominio existente funcionará). Mientras se almacena en caché, generalmente tendría un tiempo de consulta de 1 ms, pero después de cada vez que emití killall -HUP dnsmasq(como root) en el enrutador obtuve aproximadamente 27 ms después de cada vez que lo borré.
James Haigh
13

Intenta lo siguiente:

sudo /etc/init.d/dns-clean start

Esto funciona para mi.

Christian Molina
fuente
1
Supongo que las cosas han cambiado desde esta respuesta, ya que parece que esto ya no funcionará en 14.04. Hola ubuntu, sería bueno si hubiera una interfaz para esto que no estuviera relacionada con detalles específicos de sistemas de resolución de nombres y versiones del sistema operativo (y tal vez distribuciones del sistema operativo más adelante ...).
Croad Langshan
Funciona en 15.04
Milan Simek
Trabajó en ubuntu 14.04.5. Este script es proporcionado por el paquete pppconfig. Creo que no está incluido por defecto en la distribución.
ssoto
1

Acabo de tener este problema con un sitio para el que cambié el DNS, y buscando una solución en Google encontré esta página.

En mi experiencia, Firefox a veces mantiene su propio caché de DNS y no lo borra a tiempo. Entonces, si está viendo un sitio en Firefox y sigue viendo el sitio anterior, probar Chrome podría resolver el problema. Si eso funciona, puede borrar el caché en Firefox. Esto sucedió en Ubuntu, no sé si esto también sucede en Windows u OSX.

No tengo instalado nscd. Sin embargo, noté que en el terminal se encuentra el nuevo DNS varios minutos después, por lo que el problema se resolvió por sí solo.

SPRBRN
fuente
1

Dependiendo del contexto de su pregunta, es posible que también necesite borrar el caché de su navegador web.

En Firefox, esto se hace mediante: preferencias -> privacidad -> borrar su historial reciente [simplemente marque la casilla de verificación "caché" allí]

En Chrome: vaya a chrome: // net-internals / # dns y presione el botón "Borrar caché de host". (ver otra respuesta )

Tapper
fuente