Una caché de DNS (a veces llamada caché de resolución de DNS) es una base de datos temporal, mantenida por el sistema operativo de una computadora, que contiene registros de todas las visitas recientes e intentos de visitas a sitios web y otros dominios de Internet.
En otras palabras, una caché de DNS es solo un recuerdo de búsquedas de DNS recientes a las que su computadora puede consultar rápidamente cuando está tratando de descubrir cómo cargar un sitio web.
La información de este artículo se aplica a los usuarios domésticos que no han cambiado su configuración de DNS.
El propósito de una caché de DNS
Internet se basa en el Sistema de nombres de dominio para mantener un índice de todos los sitios web públicos y sus correspondientes direcciones IP. Puedes considerarlo como una guía telefónica.
Con una guía telefónica, no tenemos que memorizar el número de teléfono de todos, que es la única forma en que los teléfonos pueden comunicarse: con un número. De la misma manera, se utiliza DNS para evitar tener que memorizar la dirección IP de cada sitio web, que es la única forma en que los equipos de red pueden comunicarse con los sitios web.
Esto es lo que sucede detrás de la cortina cuando le pides a tu navegador web que cargue un sitio web.
Usted escribe una URL como lifewire.com y su navegador web le pide a su enrutador la dirección IP. El enrutador tiene una dirección de servidor DNS almacenada, por lo que le pide al servidor DNS la dirección IP de ese nombre de host. El servidor DNS encuentra la dirección IP que pertenece a lifewire.com y luego puede entender qué sitio web está solicitando, después de lo cual su navegador puede cargar la página adecuada.
Esto sucede para cada sitio web que desea visitar. Cada vez que visita un sitio web por su nombre de host, el navegador web inicia una solicitud a Internet, pero esta solicitud no se puede completar hasta que el nombre del sitio se "convierta" en una dirección IP.
El problema es que aunque hay muchos servidores DNS públicos que su red puede usar para tratar de acelerar el proceso de conversión/resolución, aún es más rápido tener una copia local de la "guía telefónica", que es donde entran en juego las cachés de DNS.
La caché de DNS intenta acelerar aún más el proceso mediante el manejo de la resolución de nombres de las direcciones visitadas recientemente antes de enviar la solicitud a Internet
En realidad, hay cachés de DNS en cada jerarquía del proceso de "búsqueda" que finalmente hace que su computadora cargue el sitio web. La computadora llega a su enrutador, que se comunica con su ISP, que podría conectarse con otro ISP antes de terminar en lo que se denomina "servidores DNS raíz". Cada uno de esos puntos en el proceso tiene un caché de DNS por la misma razón, que es para acelerar el proceso de resolución de nombres.
Cómo funciona una caché de DNS
Antes de que un navegador emita sus solicitudes a la red externa, la computadora las intercepta y busca el nombre de dominio en la base de datos de caché DNS. La base de datos contiene una lista de todos los nombres de dominio a los que se accedió recientemente y las direcciones que el DNS calculó para ellos la primera vez que se realizó una solicitud.
El contenido de una caché de DNS local se puede ver en Windows usando el comando ipconfig /displaydns, con resultados similares a este:
docs.google.com
Registrar nombre…..: docs.google.com
Tipo de registro…..: 1
Tiempo de vida….: 21
Longitud de datos…..: 4
Sección…….: Respuesta
A (Anfitrión) Registro…: 172.217.6.174
En DNS, el registro "A" es la parte de la entrada DNS que contiene la dirección IP para el nombre de host dado. La caché DNS almacena esta dirección, el nombre del sitio web solicitado y varios otros parámetros de la entrada DNS del host.
¿Qué es el envenenamiento de caché de DNS?
Un caché de DNS se envenena o contamina cuando se insertan en él nombres de dominio o direcciones IP no autorizados.
Ocasionalmente, un caché puede corromperse debido a fallas técnicas o accidentes administrativos, pero el envenenamiento del caché de DNS generalmente se asocia con virus informáticos u otros ataques de red que insertan entradas de DNS no válidas en el caché.
El envenenamiento hace que las solicitudes de los clientes se redirijan a destinos incorrectos, generalmente sitios web maliciosos o páginas llenas de anuncios.
Por ejemplo, si el registro docs.google.com de arriba tuviera un registro "A" diferente, entonces cuando ingresó docs.google.com en su navegador web, sería llevado a otro lugar.
Esto plantea un gran problema para los sitios web populares. Si un atacante redirige su solicitud de Gmail.com, por ejemplo, a un sitio web que se parece a Gmail pero no lo es, podría terminar sufriendo un ataque de phishing como la caza de ballenas.
Lavado de DNS: qué hace y cómo hacerlo
Al solucionar problemas de envenenamiento de caché u otros problemas de conectividad a Internet, es posible que el administrador de una computadora desee vaciar (es decir, borrar, restablecer o borrar) una caché de DNS.
Dado que al borrar la caché de DNS se eliminan todas las entradas, también se eliminan los registros no válidos y se obliga a la computadora a rellenar esas direcciones la próxima vez que intente acceder a esos sitios web. Estas nuevas direcciones se toman del servidor DNS que su red está configurada para usar.
Entonces, para usar el ejemplo anterior, si el registro de Gmail.com fue envenenado y lo redirigió a un sitio web extraño, vaciar el DNS es un buen primer paso para recuperar el Gmail.com normal nuevamente.
En Microsoft Windows, puede vaciar la caché de DNS local mediante el comando ipconfig /flushdns en un símbolo del sistema. Sabrá que funciona cuando vea el mensaje La configuración de IP de Windows vació con éxito la caché de resolución de DNS o Se vació con éxito la caché de resolución de DNS.
A través de un terminal de comando, los usuarios de macOS deben usar dscacheutil -flushcache pero sepan que no hay un mensaje de "éxito" después de que se ejecuta, por lo que no se le informa si trabajó. En algunos casos, los usuarios de Mac también tendrán que eliminar el respondedor de DNS (sudo killall -HUP mDNSResponder). Los usuarios de Linux deben ingresar /etc/rc.d/init. Comando d/nscd restart. Sin embargo, el comando exacto variará según su distribución de Linux.
Un enrutador también puede tener un caché de DNS, por lo que reiniciar un enrutador suele ser un paso de solución de problemas. Por la misma razón que podría vaciar la caché de DNS en su computadora, puede reiniciar su enrutador para borrar las entradas de DNS almacenadas en su memoria temporal.