¿Su experiencia de navegación por Internet es lenta en su dispositivo Linux, o los sitios web están visitando o el sitio web incorrecto? Discutamos el enjuague el caché DNS en Linux y cómo saber si realmente necesita.
¿Qué son los cachés DNS?
¿Su computadora está usando un caché DNS local?
Revisión de su caché DNS
Cómo borrar el caché DNS en Linux
Cómo descargar el caché DNSMASQ en Linux
Flushed, con éxito
¿Qué son los cachés DNS?
El servicio de nombres de dominio es el poco de magia que convierte los nombres en números. Toma nombres de red de dispositivos y nombres de sitios web y busca sus direcciones IP. La red puede usar la dirección IP para enrutar correctamente el tráfico a esos dispositivos o sitios.
Estas búsquedas, conocidas como peticiones , No pases instantáneamente . Hay un pequeño período de tiempo finito involucrado. Las solicitudes de DNS de Internet pueden requerir la consulta de servidores DNS precursores, servidores de nombres raíz, servidores de dominio de nivel superior y servidores de nombres autorizados. Las solicitudes de DNS son rápidas, pero para hacerlas aún más rápidas, las respuestas a las solicitudes de DNS recientes se almacenan en caché en los servidores precursores de DNS.
Si la respuesta a una solicitud DNS se encuentra en el caché del servidor precursor, no es necesario contactar más servidores. La respuesta se envía desde el caché del servidor precursor. Del mismo modo, su enrutador de banda ancha mantiene un pequeño caché en casa. Si solicita un dispositivo de red local que utiliza el nombre de su dispositivo de red, su enrutador proporciona la dirección IP. También puede almacenar respuestas que ha recibido de servidores DNS externos.
Por lo general, las redes y las computadoras de Linux están configuradas para utilizar servicios DNS externos, ya sea proporcionados por su proveedor de servicios de Internet o por un servicio gratuito como Opendns o Google DNS . Hay buenas razones por las cuales Algunas personas ejecutan su propio servidor DNS , pero la mayoría de nosotros no. Sin embargo, su computadora Linux, incluso si no está ejecutando un servidor DNS, puede opcionalmente los resultados de la solicitud de DNS de caché.
El problema con el uso de datos en caché es que todo se basa en el supuesto de que ninguno de los detalles en caché ha cambiado desde que fueron almacenados en caché. Si los detalles han cambiado, la información que reciba estará desactualizada.
Si una entrada de caché o la caché completa se corrompe, recibirá un rendimiento escamosa en el mejor de los casos y vulnerabilidades de seguridad en el peor. Ahí es cuando querrás investigar "Flushing" o limpiar el caché DNS.
¿Su computadora está usando un caché DNS local?
Algunas de nuestras computadoras de prueba tenían cachés DNS locales activados, y otras lo apagaron. Estaba fuera de nuestro Manjaro 21 computadora, pero se activó de forma predeterminada en Fedora 37 y Ubuntu 22.10 .
Para determinar si su computadora de Linux está almacenando en caché las solicitudes de DNS, use la
está activo
opción del
systemctl
dominio. El demonio que administra el caché DNS es el administrador de resolución de nombre de red de Systemd, conocido como
resuelto de Systemd
.
Si la respuesta es "activa", se está llevando a cabo el almacenamiento en caché del DNS. Si la respuesta está "inactiva", no lo es. En esta computadora en particular, está activo. Podemos usar el
resolvectl
Comando con la opción Estadística para ver cuántos registros hay en el caché.
Podemos ver que hay 330 entradas en el caché DNS de esta computadora.
Revisión de su caché DNS
Revisar las entradas de caché DNS no es un requisito previo para enjuagar el caché, y si no tiene interés en hacerlo, puede omita todo este paso . A veces, sin embargo, puede ser informativo. Puede ver entradas revueltas que indiquen la corrupción, o puede ver mensajes de error relacionados con los problemas de abordación del dispositivo en su red.
Ahora, no hay una forma directa de ver estas entradas. Podemos hacerlo pero necesitamos ser un poco creativos.
USR1
, o
Señal definida por el usuario número uno
, es un
señal
que puede ser enviado por el
matar
y
Mátalos a todos
comandos. Esta señal no tiene un significado predefinido. Las aplicaciones son libres de ignorar esta señal o reaccionar de cualquier manera que los desarrolladores hayan implementado.
El
resuelto de Systemd
Daemon reacciona a
USR1
Al escribir su caché en los registros del sistema. Entonces podemos usar el
Journalctl
Comandar para filtrar las entradas DNS.
Usaremos el
Mátalos a todos
ordenar con
USR1
Para enviar la señal al
resuelto de Systemd
demonio. Tenga en cuenta que aunque estamos usando el
Mátalos a todos
comando, el
resuelto de Systemd
Daemon continúa corriendo. Esta no es una señal de terminación que estamos enviando.
Ahora usaremos el
Journalctl
comando con el
-u
(filtrado por
system
unidad) opción para extraer las entradas de registro que han sido generadas por
resuelto de Systemd
. Redirigiremos esa salida en un archivo de texto llamado "DNS.TXT".
Usaremos
el
menos
espectador de archivos
Para ver el contenido del archivo.
Podrá encontrar las asignaciones en caché entre los nombres de dominio y Direcciones IP desplazando y buscando a través del texto.
Podemos ver una entrada para Google que tiene una dirección IP de 216.58.212.196. Puede verificar eso colocando la dirección IP en un navegador web. Debería ver la página de inicio de Google Search.
Cómo borrar el caché DNS en Linux
Enjuagar el caché elimina todas las entradas e inicia el proceso de recolección una vez más. Si hay alguno, esto elimina las entradas incorrectas y corruptas del caché.
El comando es simple; usamos
resolvectl
con el
chalecos
opción.
Silenciosamente nos devuelven a la línea de comandos. Para confirmar que algo realmente ha sucedido, verificaremos las estadísticas de caché del DNS nuevamente.
Podemos ver que el tamaño del caché se cae a cero. Aumentará con el tiempo a medida que acumula nuevas entradas.
Cómo descargar el caché DNSMASQ en Linux
El
dnsmasq
La aplicación proporciona un caché DNS y un servidor DHCP. Es popular entre los usuarios que desean ejecutar su propio servidor DNS, especialmente en
Instalaciones que no son del sistema
.
Enjuagando el
dnsmasq
DNS Cache es fácil. Necesitamos enviar el
Suspiro
señal, que le dice al
dnsmasq
demonio para reiniciar efectivamente. Hacerlo borra su caché DNS. Para enviar la señal, usamos el
Mátalos a todos
comando con el
-Proteo
bandera, y el nombre de la aplicación.
Flushed, con éxito
Por supuesto, si su computadora no está almacenando en caché, no hay nada que deba verificar.
Si se encuentra en caché las solicitudes de DNS pero todo funciona bien, también puede ignorarlo. Pero si está experimentando actualizaciones de página web lentas o esporádicas cuando navega por la web, o ve las páginas web incorrectas por completo, probablemente sea un buen momento para borrar su caché DNS.