Introducción al Problema de Resolución de Nombres en Linux
Uno de los errores de red más frustrantes a los que se enfrentan los administradores de sistemas y usuarios de Linux es el mensaje temporary failure in name resolution. Este fallo ocurre típicamente cuando intentas ejecutar un comando como apt update, ping google.com o realizar una petición web, y el sistema operativo es incapaz de traducir los nombres de dominio legibles por humanos (como google.com) a direcciones IP numéricas. Afortunadamente, este problema suele tener solución rápida revisando la configuración de red y el servicio de DNS.
Causas Principales del Error Temporary Failure in Name Resolution
- Problemas de conectividad con la pasarela de red o interfaz de red caída.
- Configuración incorrecta o corrupta en el archivo de resolución de DNS
/etc/resolv.conf. - Fallos en el servicio gestor de red local como NetworkManager o
systemd-resolved. - Falta de servidores DNS válidos configurados en el sistema.
Método 1: Verificar el Estado de la Interfaz de Red
Lo primero que debes hacer es comprobar que tu tarjeta de red esté activa y tenga asignada una dirección IP válida. Para ello, sigue los siguientes pasos:
- Abre tu terminal de Linux.
- Ejecuta el siguiente comando para listar las interfaces de red activas:
ip a - Identifica tu interfaz principal (por ejemplo,
eth0oenp3s0) y asegúrate de que aparece el estadoUPy una dirección IP bajo la etiquetainet. - Si la interfaz está caída, levántala manualmente ejecutando:
sudo ip link set [nombre-interfaz] up
Método 2: Configurar Servidores DNS Públicos en /etc/resolv.conf
Si la red funciona pero no traduce los nombres, el problema reside en el DNS. Puedes configurar servidores DNS públicos y fiables como los de Google o Cloudflare de forma temporal o permanente.
- Abre el archivo de configuración de DNS con un editor de texto con privilegios de superusuario:
sudo nano /etc/resolv.conf - Añade las siguientes líneas al principio 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 3 8.8.8.8y luegoping -c 3 google.com.
Método 3: Reiniciar el Servicio systemd-resolved o NetworkManager
En distribuciones modernas de Linux como Ubuntu, Debian o Fedora, el servicio encargado de gestionar la resolución de nombres puede haberse quedado colgado. Reiniciarlo suele solucionar el problema de inmediato.
- Abre tu terminal.
- Reinicia el servicio de resolución de systemd ejecutando:
sudo systemctl restart systemd-resolved - Si utilizas NetworkManager, reinícialo también con el comando:
sudo systemctl restart NetworkManager - Comprueba el estado de los servicios para asegurarte de que se han iniciado correctamente sin errores escribiendo:
sudo systemctl status systemd-resolved