Botiquín

Borrar la caché DNS en Linux

 
 

Índice General

  1. Introducción
  2. Borrar la caché DNS con systemd-resolve
  3. Borrar la caché DNS con nscd
  4. Borrar la caché DNS con dnsmasq
  5. Borrar la caché DNS con BIND

 

  1. Introducción (Volver al índice General)
    El caché DNS es un archivo en el que se van incluyendo pares de nombre de host (hostname) y su correspondiente dirección IP, de los sitios que hemos visitado. La siguiente vez que abramos un sitio ya visitado, por ejemplo una página web, la carga de la misma será más rápida, ya que la resolución del nombre se realizará por medio de la caché DNS que se encuentra en nuestro equipo en vez de por un servidor DNS, normalmente en una ubicación remota.

    Si nuestra caché DNS está dañada, ocurrirá que no llegaremos a una dirección que, en el resto de dispositivos de la misma red si se llega con normalidad.

    También puede ocurrir que nos hayan atacado y el intruso haya envenenado nuestra cache (DNS Spoofing, DNS Poisoning). El atacante crea entradas falsas para archivos en el servidor que él controla con nombres que coinciden con los archivos del servidor objetivo. Estos archivos pueden contener contenido malicioso, como un virus o un gusano. Un usuario cuya computadora ha referenciado al servidor DNS envenenado puede ser engañado al creer que el contenido proviene del servidor objetivo y sin saberlo descarga contenido malicioso.

    La mayoría de los sistemas conectados a Internet actualizan automáticamente el caché DNS, pero puede ocurrir que la dirección IP de una página web cambie antes de que se actualice la cache DNS y es por eso que la página no se carge.

    En este artículo mostraremos como borrar la caché DNS en Linux, accediendo a la interfaz de línea de comandos de Linux con una cuenta de usuario con privilegios de root.

    Dependiendo del servicio que utilicemos como servidor de nombres habrá que ejecutar alguno de los siguientes comandos:

  2.  

  3. Borrar la caché DNS con systemd-resolve (Volver al índice General)
    Las distribuciones basadas en Debian hacen uso del comando systemd-resolve, este comando es un demonio DNS integrado en systemd, y proporciona la resolución de nombres de red a las aplicaciones locales.

    El siguiente comando nos muestra las estadísticas de caché DNS de nuestro sistema:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    $ sudo systemd-resolve --statistic
    DNSSEC supported by current servers: no
     
    Transactions
    Current Transactions: 0
      Total Transactions: 24
     
    Cache
      Current Cache Size: 8          Cache Hits: 8
            Cache Misses: 68
     
    DNSSEC Verdicts
                  Secure: 0
                Insecure: 0
                   Bogus: 0
           Indeterminate: 0

    Para borrar la caché DNS ejecutamos el siguiente comando:

    $ sudo systemd-resolve --flush-cache

    y al comprobar de nuevo las estadísticas vemos que el tamaño de la caché actual (Current Cache Size) a pasado a ser 0:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    $ sudo systemd-resolve --statistic
    DNSSEC supported by current servers: no
     
    Transactions
    Current Transactions: 0
      Total Transactions: 24
     
    Cache
      Current Cache Size: 0          Cache Hits: 8
            Cache Misses: 68
     
    DNSSEC Verdicts
                  Secure: 0
                Insecure: 0
                   Bogus: 0
           Indeterminate: 0
  4.  

  5. Borrar la caché DNS con nscd (Volver al índice General)
    Nscd es un demonio de caché para el servicio de nombres. Proporciona una caché para la mayoría de peticiones comunes del servicio de nombres. El fichero de configuración predeterminado, /etc/nscd.conf, determina el comportamiento del demonio de caché. Para borrar la caché ejecutaremos:

    $ sudo /etc/init.d/nscd restart

    o

    $ sudo service nscd restart

    o

    $ sudo systemctl restart nscd
  6.  

  7. Borrar la caché DNS con dnsmasq (Volver al índice General)
    Según su página oficial, Dnsmasq es un servidor ligero de DNS, DHCP, TFTP, PXE, y publicador de routers. Está enfocado en ofrecer servicios combinados de DHCP y DNS en una LAN. Para borrar la caché ejecutaremos:

    $ sudo /etc/init.d/dnsmasq restart

    o

    $ sudo service dnsmasq restart

    o

    $ sudo systemctl restart dnsmasq
  8.  

  9. Borrar la caché DNS con BIND (Volver al índice General)
    BIND es el servidor DNS más usado en Internet, especialmente en sistemas UNIX. Es un programa desarrollado originalmente para BSD. La versión 4 se ha usado mucho tiempo y venía con cualquier distribución GNU/Linux.
    Podemos borrar la caché reiniciando el servicio:

    $ sudo /etc/init.d/named restart

    o

    $ sudo service named restart

    o

    $ sudo systemctl restart named

    Como alternativa podemos utilizar el siguiente comando:

    $ sudo rndc restart

    o

    $ sudo rndc exec

    Para borrar la caché de las entradas LAN o WAN podemos ejecutar el siguiente comando:

    $ sudo rndc flush [lan|wan]

    y para borrar de la caché DNS un dominio determinado, podemos ejecutar el siguiente comando:

    $ sudo rndc flushname zeppelinux.es

 

Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
  Configuración de privacidad y de cookies.
Seguir J. Carlos:

Técnico Informático - Desarrollo Web - Administración de Redes

Técnico Informático. Desarrollo Web. Administración de redes.

Últimas publicaciones de