Resolución de Problemas de Conectividad de Red

LinuxBeginner
Practicar Ahora

Introducción

La conectividad de red es un aspecto fundamental de cualquier entorno informático moderno. Si bien muchas cosas pueden salir mal, uno de los problemas más comunes es el fallo en la resolución del Sistema de Nombres de Dominio (DNS). DNS es el servicio que traduce nombres de dominio fáciles de recordar para los humanos (como www.google.com) a direcciones IP que las computadoras utilizan para conectarse entre sí. Si el DNS no funciona, es posible que esté conectado a Internet pero aún así no pueda acceder a ningún sitio web.

Este laboratorio proporciona un enfoque estructurado y práctico para diagnosticar y resolver un problema de red relacionado con DNS. Aprenderá una secuencia de comandos para probar su conexión, identificar el problema de DNS, corregir la configuración y confirmar que su conexión se ha restablecido por completo.

Al finalizar este laboratorio, estará equipado con una lista de verificación confiable de los pasos iniciales de solución de problemas para abordar los desafíos de conectividad DNS en un sistema Linux.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 100%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

Confirmar el Problema Haciendo Ping a un Nombre de Dominio

Al solucionar problemas, el primer paso es siempre confirmar el problema. Una forma común de probar la conectividad a Internet es con el comando ping. Intentaremos hacer ping a un dominio conocido, google.com. Usaremos la opción -c 4 para enviar solo cuatro paquetes.

Ejecute el siguiente comando en su terminal:

ping -c 4 google.com

Verá un mensaje de error que indica un fallo en la resolución de nombres.

ping: google.com: Temporary failure in name resolution

Este error nos dice que el sistema no pudo traducir el nombre de dominio google.com a una dirección IP. Esto sugiere fuertemente un problema con el DNS.

Aislar el Problema Haciendo Ping a una Dirección IP

Sospechamos un problema de DNS, pero necesitamos confirmar que nuestra conexión básica a Internet todavía funciona. Podemos hacer esto haciendo ping directamente a una dirección IP pública, lo que omite el proceso de resolución de nombres DNS. Usaremos la dirección IP del servidor DNS público de Google, 8.8.8.8.

Ejecute el siguiente comando:

ping -c 4 8.8.8.8

Esta vez, el ping debería ser exitoso. Verá respuestas del servidor.

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=1.23 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=1.28 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=116 time=1.30 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=116 time=1.25 ms

--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 1.230/1.265/1.301/0.026 ms

Dado que podemos hacer ping a una dirección IP pero no a un nombre de dominio, ahora hemos confirmado que el problema reside en la resolución DNS.

Inspeccionar y Corregir la Configuración de DNS

Ahora que sabemos que el DNS es el problema, examinemos el archivo de configuración de DNS. En Linux, este es típicamente /etc/resolv.conf. Este archivo le indica al sistema qué servidores DNS debe usar.

Veamos su contenido:

cat /etc/resolv.conf

La salida mostrará el nameserver que fue configurado por nuestro script de instalación.

nameserver 192.0.2.1

La dirección IP 192.0.2.1 está reservada para fines de documentación y pruebas; no apunta a un servidor DNS real. Esta es la causa de nuestro problema.

Para solucionarlo, necesitamos reemplazar el nameserver incorrecto con uno válido. Usaremos el servidor DNS público de Google, 8.8.8.8. Podemos sobrescribir el archivo usando los comandos echo y tee. Esto requiere privilegios de sudo.

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

Ahora, vuelva a ver el archivo para confirmar el cambio.

cat /etc/resolv.conf

La salida ahora debería mostrar el nameserver correcto.

nameserver 8.8.8.8

Con un nameserver válido configurado, estamos un paso más cerca de resolver el problema.

Vaciar la Caché de DNS Local

Su sistema mantiene una caché temporal de nombres de dominio consultados recientemente para acelerar las solicitudes futuras. Después de cambiar la configuración de DNS, es una buena práctica vaciar esta caché para asegurar que el sistema utilice la nueva configuración inmediatamente y no dependa de datos antiguos, potencialmente incorrectos, almacenados en caché.

En los sistemas Linux modernos, puede usar el comando resolvectl, que forma parte de systemd-resolved, para administrar la caché de DNS. Para vaciar las cachés, ejecute el siguiente comando. Requiere privilegios de sudo.

sudo resolvectl flush-caches

Este comando no producirá ninguna salida si es exitoso. Para verificar que la caché se ha borrado, puede comprobar las estadísticas de la caché usando el comando statistics.

resolvectl statistics

Busque la línea Current Cache Size (Tamaño Actual de la Caché) en la salida. Después de vaciarla, este valor debería ser 0, confirmando que la caché se ha limpiado. Tenga en cuenta que otras estadísticas como Hits (Aciertos) y Misses (Fallos) conservarán sus valores anteriores.

...
Cache
  Current Cache Size: 0
          Cache Hits: 24
        Cache Misses: 67
...

Vaciar la caché de DNS es un paso importante para asegurar que su sistema no esté utilizando registros DNS obsoletos.

Confirmar la Resolución de DNS y la Conectividad

Ahora que hemos corregido la configuración del servidor DNS y vaciado la caché local, es hora de verificar la solución. Repetiremos el mismo comando del Paso 1 que falló anteriormente.

Intentemos hacer ping a google.com de nuevo.

ping -c 4 google.com

Esta vez, el comando debería tener éxito. Verá que el nombre de dominio se resuelve a una dirección IP y recibirá respuestas del servidor. (Nota: La dirección IP exacta de google.com puede variar).

PING google.com (142.250.189.238) 56(84) bytes of data.
64 bytes from nuq04s39-in-f14.1e100.net (142.250.189.238): icmp_seq=1 ttl=119 time=4.43 ms
64 bytes from nuq04s39-in-f14.1e100.net (142.250.189.238): icmp_seq=2 ttl=119 time=4.43 ms
64 bytes from nuq04s39-in-f14.1e100.net (142.250.189.238): icmp_seq=3 ttl=119 time=4.40 ms
64 bytes from nuq04s39-in-f14.1e100.net (142.250.189.238): icmp_seq=4 ttl=119 time=4.43 ms

--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 4.400/4.421/4.434/0.012 ms

¡Éxito! Ahora ha diagnosticado y resuelto con éxito un problema de conectividad DNS.

Resumen

¡Felicidades por completar este laboratorio! Ha recorrido con éxito un procedimiento estándar para solucionar y resolver un problema de red común relacionado con DNS en un sistema Linux.

En este laboratorio, aprendió a:

  • Usar ping para probar la conectividad y diferenciar entre un fallo de red general y un problema específico de DNS.
  • Inspeccionar la configuración del servidor DNS de su sistema en /etc/resolv.conf.
  • Corregir una configuración de DNS inválida para restaurar la resolución de nombres.
  • Vaciar la caché local de DNS usando resolvectl flush-caches para eliminar entradas obsoletas.
  • Confirmar que la solución está funcionando al hacer ping exitosamente a un nombre de dominio.

Estas habilidades fundamentales forman una base sólida para abordar muchos problemas de red comunes. Ahora puede aplicar este proceso lógico, paso a paso, cada vez que sospeche de problemas de DNS en el futuro.