GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo borrar o vaciar la caché de DNS en Linux

Esta breve guía explica todas las formas posibles de borrar o vaciar la caché de DNS en los sistemas operativos Linux. Para aquellos que se preguntan, caché de DNS (o, a veces, llamado caché de resolución de DNS ) es una pequeña base de datos temporal mantenida por los sistemas operativos. Almacena la información sobre todos los sitios web visitados y otros dominios de Internet. En otras palabras, la caché de DNS contiene búsquedas de DNS recientes. Cuando visita el mismo sitio web varias veces, el sistema operativo recupera los registros DNS de ese sitio web de la base de datos de caché de DNS local en lugar del servidor DNS público real. Por lo tanto, el almacenamiento en caché de DNS mejora el tiempo de carga del sitio web y reduce el ancho de banda/el consumo de CPU del servidor DNS de origen.

¿Por qué debería borrar o vaciar la caché de DNS?

Puede haber muchas razones para borrar el caché de DNS local. Por ejemplo, es posible que haya personalizado su sitio web o cambiado la configuración de DNS para su dominio o que esté enfrentando algunos problemas de conectividad a Internet. En tales casos, si intenta visitar el sitio, es probable que su sistema operativo obtenga la versión en caché del sitio del caché de DNS local. Por lo tanto, borrar la caché de DNS local eliminará todas las entradas de la base de datos de la caché de DNS local y obligará a su sistema a volver a llenar la caché de DNS con nuevas entradas del servidor DNS real y mostrar la copia nueva del sitio web.

Borrar o vaciar la caché de DNS en Linux

De forma predeterminada, el almacenamiento en caché de DNS no está instalado ni habilitado a nivel del sistema operativo en Linux. En cambio, las aplicaciones como los navegadores web mantienen su propio caché interno. Por lo tanto, puede simplemente borrar el caché de su navegador o reiniciarlo para solucionar los problemas de conectividad a Internet, resolver problemas de suplantación de DNS (por ejemplo, envenenamiento de caché de DNS) y resolver problemas de contenido obsoleto. Si su distribución de Linux utiliza servicios de almacenamiento en caché de DNS, debe borrarlos manualmente como se describe a continuación. Hay varias formas de borrar la caché de DNS. Varía según la distribución de Linux y el servicio de almacenamiento en caché de DNS que esté utilizando. Aquí he incluido instrucciones para borrar los servicios de almacenamiento en caché de DNS más utilizados en Linux.

1. Borrar el servicio de almacenamiento en caché de DNS de resolución de Systemd

Systemd-resolve es un servicio de systemd que proporciona un servicio de almacenamiento en caché de DNS a nivel de sistema para aplicaciones locales. Es parte del paquete systemd que se instala de forma predeterminada. El servicio resuelto por Systemd está habilitado de forma predeterminada en la mayoría de los sistemas operativos Linux modernos, como Fedora y Ubuntu. Primero, verifiquemos si el servicio resuelto por systemd está activo o no usando el comando:

$ sudo systemctl is-active systemd-resolved.service

Si el servicio resuelto por systemd está habilitado, verá "activo" en la salida. Si no está activo, imprimirá "inactivo" .

Como puede ver en el resultado anterior, el servicio resuelto por systemd está activo en mi sistema.

Veamos las estadísticas del servicio de almacenamiento en caché systemd-resolve con el comando:

$ sudo systemd-resolve --statistics

Salida de muestra:

DNSSEC supported by current servers: no

Transactions              
Current Transactions: 0   
  Total Transactions: 3117
                          
Cache                     
  Current Cache Size: 58  
          Cache Hits: 1248
        Cache Misses: 1891
                          
DNSSEC Verdicts           
              Secure: 0   
            Insecure: 0   
               Bogus: 0   
       Indeterminate: 0

Como puede ver, el resultado anterior enumera el número total de caché actual, aciertos y cachés perdidos.

Para vaciar la memoria caché systemd-resolve, ejecute:

$ sudo systemd-resolve --flush-caches

En una ejecución exitosa, no verá ningún resultado.

Ahora, verifique las estadísticas de systemd-resolve para verificar si el caché de DNS local se borra o no.

$ sudo systemd-resolve --statistics

Ahora verá el tamaño de caché actual como cero.

DNSSEC supported by current servers: no

Transactions              
Current Transactions: 0   
  Total Transactions: 3155
                          
Cache                     
  Current Cache Size: 0   
          Cache Hits: 1255
        Cache Misses: 1922
                          
DNSSEC Verdicts           
              Secure: 0   
            Insecure: 0   
               Bogus: 0   
       Indeterminate: 0

2. Limpiar el servicio de almacenamiento en caché DNS Nscd

Nscd , abreviatura de n ame s servicio c dolor d aemon, es un demonio de almacenamiento en caché que proporciona un caché para las solicitudes de servicio de nombres más comunes. Es el servicio de almacenamiento en caché preferido para la mayoría de los sistemas basados ​​en Redhat. Si su sistema Linux utiliza el servicio de almacenamiento en caché nscd, puede borrar o vaciar el servicio de almacenamiento en caché DNS local simplemente reiniciando el servicio nscd como se muestra a continuación:

$ sudo systemctl restart nscd.service

O,

$ sudo service nscd restart

O,

$ sudo /etc/init.d/nscd restart

3. Borrar enlace/Servicio de almacenamiento en caché de DNS con nombre

Dominio de nombre de Internet de Berkeley (en breve BIND ) es el servidor DNS de código abierto más popular en uso en la actualidad. Si está utilizando BIND para almacenar en caché las consultas de DNS, use los siguientes comandos para borrar/vaciar el servicio de almacenamiento en caché de BIND en Linux:

$ sudo systemctl restart named

O,

$ sudo service named reload

O,

$ sudo /etc/init.d/named restart

O,

$ sudo rndc reload

O,

$ sudo rndc exec

La última versión de BID también le permite borrar el caché de DNS para un dominio específico. El siguiente comando borra el caché de DNS para el dominio ostechnix.com:

$ sudo rndc flushname ostechnix.com

También puede borrar la caché de DNS para zonas LAN y WAN completas, como se muestra a continuación:

$ sudo rndc flush lan

$ sudo rndc flush wan

4. Borrar el servicio de almacenamiento en caché de DNS de Dnsmasq

Dnsmasq es un servidor DNS de almacenamiento en caché y DHCP ligero con soporte para servidor PXE y TFTP. Es adecuado para enrutadores y firewalls con recursos limitados para administrar redes pequeñas.

Si está utilizando dnsmasq como servicio de almacenamiento en caché, puede vaciar el servicio de almacenamiento en caché de DNS local como se muestra a continuación:

$ sudo systemctl restart dnsmasq

Otra forma de borrar el caché de DNS local en Ubuntu y otras variantes de Ubuntu como Linux Mint es ejecutar el siguiente comando:

$ sudo /etc/init.d/dns-clean restart

Espero que esto ayude.

Lectura relacionada:

  • Instalar y configurar servidor DNS en Ubuntu 16.04 LTS


Linux
  1. Cómo borrar el historial de Bash en Linux

  2. Cómo borrar la memoria caché del navegador web desde la línea de comandos en Linux

  3. Cómo borrar la caché de memoria en Linux

  4. Cómo vaciar la caché de DNS en Ubuntu y LinuxMint

  5. Linux:¿cómo anular un servidor Vm Dns?

Cómo instalar KernelCare y borrar Kernelcare Cache en Linux

Cómo borrar el caché de la memoria RAM, el búfer y el espacio de intercambio en Linux

Cómo vaciar la caché de DNS en Linux

Cómo borrar la caché de DNS en Ubuntu

¿Cómo vaciar la caché de DNS en Linux?

Cómo vaciar la caché de DNS en Ubuntu