Introducción
Uno de los problemas más frustrantes al utilizar sistemas operativos basados en Linux, como Ubuntu, Debian o CentOS, es intentar ejecutar comandos como apt update, ping google.com o curl y recibir el temido mensaje de error: Temporary failure in name resolution. Este fallo indica que tu sistema operativo no es capaz de traducir los nombres de dominio legibles (como github.com) en direcciones IP numéricas debido a un problema con el servicio de DNS.
Causas Principales del Error
El error de fallo temporal en la resolución de nombres suele ser provocado por varias razones comunes:
- Configuración incorrecta o corrupta en el archivo
/etc/resolv.conf. - El servicio gestor de red (NetworkManager o systemd-resolved) se ha detenido o presenta un conflicto.
- Falta de servidores DNS válidos configurados en las interfaces de red.
- Problemas temporales con el proveedor de internet o la puerta de enlace predeterminada.
Método 1: Configurar Manualmente los Servidores DNS en /etc/resolv.conf
La solución más rápida para salir del paso es añadir servidores DNS públicos y fiables, como los de Google o Cloudflare, directamente en la configuración del sistema.
- Abre tu terminal de Linux.
- Edita el archivo de configuración de DNS usando un editor como nano:
sudo nano /etc/resolv.conf - Añade las siguientes líneas al inicio del archivo para establecer 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 tu conexión ejecutando:
ping -c 3 8.8.8.8y luegoping -c 3 google.com
Método 2: Reiniciar el Servicio 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 congela, genera fallos de red.
- Comprueba el estado del servicio ejecutando el comando:
sudo systemctl status systemd-resolved - Reinicia el servicio para aplicar una nueva carga de configuración:
sudo systemctl restart systemd-resolved - Habilita el servicio para que inicie automáticamente con el sistema operativo:
sudo systemctl enable systemd-resolved
Método 3: Verificar y Reparar NetworkManager
Si utilizas NetworkManager y este ha sobrescrito la configuración de red de forma incorrecta, puedes reiniciar el gestor de conexiones para restablecer los valores predeterminados.
- Reinicia el demonio de NetworkManager con el siguiente comando:
sudo systemctl restart NetworkManager - Si estás utilizando Netplan (común en Ubuntu), asegúrate de aplicar la configuración correcta ejecutando:
sudo netplan apply - Comprueba que tu interfaz de red principal tenga una dirección IP asignada mediante:
ip a