Introducción al error Temporary failure in name resolution
Uno de los problemas más molestos al utilizar sistemas operativos basados en Linux, como Ubuntu o Debian, es encontrarse con el mensaje temporary failure in name resolution al intentar actualizar paquetes o hacer ping a un dominio. Este fallo indica que el sistema es incapaz de traducir nombres de dominio legibles (como google.com) en direcciones IP debido a un problema con el servicio de DNS.
¿Cuáles son las causas principales de este error?
Este problema de red suele estar provocado por fallos específicos en la configuración del sistema:
- Archivo
/etc/resolv.confmal configurado o vacío. - Servicio de gestión de red (NetworkManager o systemd-resolved) detenido o con conflictos.
- Configuración incorrecta de la puerta de enlace predeterminada o IP estática.
Método 1: Configurar manualmente los servidores DNS públicos
La solución más rápida y efectiva consiste en definir servidores DNS estáticos y confiables directamente en la configuración de resolución de nombres de tu sistema Linux.
- Abre tu terminal de comandos.
- Edita el archivo de configuración de DNS utilizando un editor de texto con privilegios de superusuario:
sudo nano /etc/resolv.conf - Añade los servidores DNS públicos de Google o Cloudflare escribiendo las siguientes líneas:
nameserver 8.8.8.8ynameserver 1.1.1.1 - Guarda los cambios presionando
Ctrl + O, luegoEnter, y sal conCtrl + X.
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.
- Abre la terminal de tu distribución Linux.
- Ejecuta el siguiente comando para reiniciar el demonio de resolución:
sudo systemctl restart systemd-resolved - Verifica el estado actual del servicio ejecutando:
sudo systemctl status systemd-resolved
Método 3: Comprobar la conexión de red con NetworkManager
Si utilizas NetworkManager para administrar tus interfaces de red, reiniciar el gestor suele corregir errores temporales de conectividad.
- Reinicia el servicio de red ejecutando en tu terminal:
sudo systemctl restart NetworkManager - Comprueba si el problema se ha resuelto haciendo una prueba de ping:
ping -c 4 8.8.8.8 - Si responde correctamente, prueba a resolver un dominio:
ping -c 4 google.com