En ocasiones cuando estamos haciendo pruebas gestionando las entradas de un DNS, o algo deja de funcionarnos súbitamente, puede ser de utilidad borrar la cache DNS de nuestro sistema para obligarle a que vuelva a solicitar las resoluciones de los nombres a su servidor DNS. Incluso podemos forzar esta primera resolucion nosotros mismos mediante el uso de nslookup o dig, a elección de cada uno.

La situación típica en la que aplicaríamos esta entrada es cuando cambiamos la ip a la que resuelve un dominio pero no termina de actualizarse porque lo tenemos cacheado en nuestro equipo.

Para borrar la cache DNS en distribuciones linux, debemos saber que método utilizan para cachear las resoluciones de nombres.

2019 – Actualizado

Como ahora en muchas distribuciones es systemd el que lleva un módulo de resolución DNS, la forma de limpiar la cache dns en Ubuntu 17, Ubuntu 18, Ubuntu 19 y siguientes sería:

sudo systemd-resolve --flush-caches

Podemos ver estadísticas de este módulo systemd resolve mediante el comando systemd-resolve –statistics

sudo systemd-resolve --statistics
[sudo] password for javi: 
DNSSEC supported by current servers: no

Transactions
Current Transactions: 0
Total Transactions: 38213

Cache
Current Cache Size: 83
Cache Hits: 17463
Cache Misses: 21359

DNSSEC Verdicts
Secure: 0
Insecure: 0
Bogus: 0
Indeterminate: 0

Fin de la actualización de 2019. Para limpiar cache DNS en otras distribuciones Linux antiguas, puede que te funcionen los siguientes métodos.

Yo uso Xubuntu, así que este método es el que me funciona para borrar la cache dns en Ubuntu:

sudo service dnsmasq restart

En otras distribuciones, puede servir lo siguiente:

Vaciar la cache DNS en BIND (Named):

rndc restart

A partir de la versión 9.3.0 de Bind, podemos limpiar dominios concretos:

rndc flushname dominio.tld

Purgar la cache DNS de nscd:

service nscd restart

Limpiar la cache DNS en MacOSX 10.6 y superior:

sudo dscacheutil -flushcache

Limpiar la cache DNS en MacOSX 10.5 e inferior:

lookupd -flushcache

Borrar la cache DNS en Windows:

ipconfig /flushdns