Este artículo se trata de enjuague DNS en Ubuntu. Pero para entender por qué es necesario, primero debes entender cómo funciona DNS y un poco sobre el almacenamiento en caché del DNS.
Simplemente, el DNS se puede pensar en una tabla de nombres de dominio y direcciones IP como se da a continuación:
Nombre de dominio | Dirección IP |
Linuxhint.comunicarse | 1.2.3.4 |
apoyo.Linuxhint.comunicarse | 3.4.5.7 |
Google.comunicarse | 8.9.5.4 |
www.Google.comunicarse | 8.9.5.4 |
Por favor, sepa que ninguno de los datos en esta tabla es real. Es solo para la demostración. Así que volvamos a nuestro tema original.
Cuando visita, digamos, Linuxhint.comunicarse, El navegador pregunta al servidor DNS (establecido en su computadora) algunas preguntas.
Tu computadora: Oye, ¿sabes? Linuxhint.comunicarse?
Servidor DNS: No, no lo hago. Pero el servidor DNS 4.4.4.4 puede saberlo.
Tu computadora: Contacta el servidor DNS 4.4.4.4 y pregunta: "Oye, ¿sabes? Linuxhint.comunicarse?"
Servidor DNS 2: Sí. Qué puedo hacer por ti?
Tu computadora: Necesito la dirección IP de Linuxhint.comunicarse. Puedo tenerlo?
Servidor DNS 2: No hay miedo, por eso estoy aquí. Aquí está la dirección IP de Linuxhint.comunicarse 1.2.3.4.
Tu computadora: Eres un salvavidas. Gracias.
Ahora su computadora se conecta a 1.2.3.4 y tu sitio web favorito Linuxhint.comunicarse aparece. Eso fue realmente difícil, ¿no??
La próxima vez que visite Linuxhint.comunicarse, Lo mismo sucede de nuevo.
DNS almacenado en caché:
En la sección anterior, vio cómo se resuelve un nombre de dominio a las direcciones IP. Este viaje a través de los servidores DNS lleva un tiempo y hasta que esté completo y un nombre de dominio se pueda resolver a las direcciones IP, no podrá conectarse a ningún sitio web o servidor en Internet.
Para resolver este problema, se utiliza el almacenamiento en caché de DNS. Aquí, cuando intenta resolver un nombre de dominio en las direcciones IP por primera vez, lleva un poco más de tiempo. Pero una vez que se resuelve el nombre de dominio, las direcciones IP se almacenan en su propia computadora. Entonces, la próxima vez que necesite resolver el mismo nombre de dominio, no tomará tanto tiempo como lo hizo la primera vez.
Problemas con el almacenamiento en caché del DNS:
El almacenamiento en caché del DNS es bueno. ¿Cómo es que el almacenamiento en caché del DNS es problemático?? Bueno, el mundo de Internet es tan dinámico que la información del DNS está cambiando constantemente. Puede haber cambiado varias veces incluso mientras escribo este artículo.
Entonces, lo que sucede cuando la información del DNS cambia y estamos utilizando la información DNS en caché en nuestra propia computadora? Bueno, ahí es donde se pone problemático. En ese caso, utilizaremos la información anterior del DNS. Es posible que tengamos problemas de conectividad, problemas de redirección falsos y muchos otros problemas.
Para resolver este problema, tenemos que eliminar el caché (también llamado DNS Flushing) y reconstruirlo. Este es el tema de este artículo.
Comprobación de si DNS almacenado en caché está habilitado:
Puede verificar si el almacenamiento en caché del DNS está habilitado muy fácilmente en Ubuntu. Necesitas tener el nslookup o excavar utilidad instalada en su computadora para que esto funcione.
nslookup o excavar El comando no puede estar disponible de forma predeterminada en su máquina Ubuntu. Pero puede instalarlo fácilmente desde el repositorio oficial de paquetes de Ubuntu.
Primero, actualice el caché del repositorio del paquete APT con el siguiente comando:
$ sudo apt actualización
El caché del repositorio del paquete APT debe actualizarse.
Ahora instale el nslookup y excavar Con el siguiente comando:
$ sudo apt instalación dnsutils
Ahora presiona Y y luego presiona continuar.
nslookup y excavar Los comandos ahora deberían estar disponibles.
Ahora para probar si el almacenamiento en caché está habilitado, ejecute el siguiente comando:
$ nslookup Google.comunicarse
Como puede ver, el servidor DNS utilizado para resolver el nombre de dominio es 127.0.0.53, que es una dirección IP de loopback. Entonces el almacenamiento en caché del DNS está habilitado. Si lo tiene deshabilitado, entonces el servidor DNS debería ser otra cosa que 127.0.0.X.
Puedes verificar lo mismo con el excavar Comando y los siguientes:
$ Dig Google.comunicarse
Como puede ver, las direcciones IP de Loopback se usan como direcciones del servidor DNS aquí también. Entonces, el almacenamiento en caché del DNS está habilitado.
Flushing DNS en Ubuntu 18.04 LTS:
Ubuntu 18.04 LTS utiliza un servidor DNS local y caches de consultas DNS de forma predeterminada. Ubuntu 18.04 LTS usa system para este propósito.
Puede ejecutar el siguiente comando para verificar cuántas entradas DNS se almacenan en caché y mucha otra información sobre Ubuntu 18.04 LTS:
$ sudo systemd-resolve-estadísticas
Como puede ver, la información sobre DNS Cache se enumera en la sección marcada de la captura de pantalla a continuación.
Para enjuagar el caché DNS en Ubuntu 18.04 LTS, ejecute el siguiente comando:
$ sudo systemd-resolve--flush-caches
También puedes reiniciar el resuelto de Systemd servicio para enjuagar los cachés DNS en Ubuntu 18.04 LTS.
Para reiniciar el resuelto de Systemd Servicio, ejecute el siguiente comando:
$ sudo systemctl reiniciar systemd resuelto
Como puede ver, los cachés se limpian.
$ sudo systemd-resolve-estadísticas
En ubuntu 16.04 LTS, DNS Cache no está habilitado de forma predeterminada. Pero algunas aplicaciones como unir, dnsmasq, NSCD etc. puede almacenarlo en caché.
Si estás usando NSCD Para almacenar en caché las consultas DNS, entonces puede descargar el caché DNS simplemente reiniciando el NSCD servicio.
Puedes reiniciar el NSCD servicio en Ubuntu 16.04 lts para descargar cachés DNS con el siguiente comando:
$ sudo systemctl reiniciar nscd
Si estás usando dnsmasq para almacenar en caché de DNS, luego reiniciar dnsmasq El servicio con el siguiente comando debe descargar el caché DNS.
$ sudo systemctl reiniciar dnsmasq
Entonces, así es como enjuague el caché DNS en Ubuntu 18.04 LTS y 16.04 LTS. Gracias por leer este artículo.