Introducción al Error Temporary Failure in Resolving DNS
Uno de los problemas más frustrantes al administrar sistemas operativos basados en Linux, como Ubuntu, Debian o CentOS, es intentar ejecutar un comando como apt update o ping google.com y recibir el molesto mensaje: Temporary failure in resolving DNS. Este error indica que tu sistema operativo no es capaz de traducir los nombres de dominio legibles en direcciones IP válidas debido a un fallo en la configuración de red o en el servicio de nombres.
Causas Principales del Fallo de DNS en Linux
Este problema de conectividad puede deberse a múltiples factores, entre los cuales destacan:
- Configuración incorrecta o corrupción en el archivo
/etc/resolv.conf. - Fallo temporal o caída en el servicio de red local (NetworkManager o systemd-resolved).
- Problemas con la interfaz de red activa o asignación errónea de IP estática/DHCP.
Método 1: Configurar Manualmente los Servidores DNS Públicos
La forma más rápida de solucionar este inconveniente es asignar directamente servidores DNS fiables (como los de Google o Cloudflare) en la configuración de resolución del sistema.
- Abre tu terminal de comandos con permisos de superusuario.
- Edita el archivo de configuración DNS utilizando tu editor favorito:
sudo nano /etc/resolv.conf - Añade las siguientes líneas al inicio del archivo para usar los DNS de Google y Cloudflare:
nameserver 8.8.8.8nameserver 1.1.1.1 - Guarda los cambios presionando
Ctrl + O, luegoEnter, y sal conCtrl + X. - Prueba nuevamente la conexión ejecutando:
ping -c 4 8.8.8.8y luegoping -c 4 google.com.
Método 2: Reiniciar el Servicio de Red y Systemd-Resolved
En muchas distribuciones modernas de Linux, el servicio encargado de gestionar la resolución de nombres es systemd-resolved. Si este servicio se ha detenido o se encuentra colgado, generará errores de DNS.
- Reinicia el demonio de resolución ejecutando el comando:
sudo systemctl restart systemd-resolved - Verifica el estado del servicio para asegurarte de que está activo:
sudo systemctl status systemd-resolved - Si utilizas NetworkManager para gestionar tus conexiones, reinícialo también con:
sudo systemctl restart NetworkManager
Método 3: Verificar y Corregir el Enlace Simbólico de Resolv.conf
En distribuciones como Ubuntu, el archivo /etc/resolv.conf suele ser un enlace simbólico que apunta a la configuración generada por NetworkManager o systemd. Si este enlace se rompe, el DNS dejará de funcionar.
- Comprueba el estado del archivo ejecutando:
ls -l /etc/resolv.conf - Si el enlace está roto o apunta a una ruta inexistente, elimínalo con:
sudo rm /etc/resolv.conf - Crea un enlace simbólico correcto hacia systemd-resolved ejecutando:
sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf - Finalmente, actualiza las listas de tus paquetes o realiza una prueba de navegación para verificar que el error ha desaparecido por completo.