Introducción al Error Temporary Failure in Name Resolution en Linux
Uno de los problemas más frustrantes al utilizar sistemas operativos basados en Linux, como Ubuntu, Debian o CentOS, es intentar ejecutar un comando como sudo apt update o realizar un ping y encontrarse con el mensaje Temporary failure in name resolution. Este error indica que tu máquina Linux no puede traducir los nombres de dominio legibles (como google.com) en direcciones IP numéricas debido a un fallo en la configuración de los servidores DNS.
Causas Principales del Fallo de Resolución DNS
Este problema puede deberse a múltiples factores dentro de la gestión de redes de Linux. Las causas más comunes incluyen:
- Archivo
/etc/resolv.confmal configurado, vacío o sobrescrito. - Servicio
systemd-resolveddetenido o con fallos internos. - Problemas con la pasarela de red predeterminada o interfaz de red inactiva.
- Configuración incorrecta del archivo
/etc/hosts.
Método 1: Configurar Manualmente los Servidores DNS
La solución más directa para restablecer la resolución de nombres es asignar servidores DNS públicos y confiables directamente en el archivo de configuración del sistema.
- Abre la terminal de tu distribución Linux.
- Edita el archivo de resolución con permisos de superusuario usando nano:
sudo nano /etc/resolv.conf - Agrega o modifica las líneas correspondientes a los servidores DNS de Google o Cloudflare:
nameserver 8.8.8.8nameserver 1.1.1.1
Guarda los cambios presionando Ctrl + O, luego Enter, y sal con Ctrl + X. Prueba nuevamente tu conexión con un ping.
Método 2: Reiniciar y Habilitar el Servicio systemd-resolved
En distribuciones modernas que utilizan systemd, la gestión de DNS se realiza a través de un servicio dedicado que a veces puede corromperse o detenerse inesperadamente.
- Comprueba el estado actual del servicio ejecutando:
sudo systemctl status systemd-resolved - Si el servicio está inactivo o presenta errores, reinícialo con el siguiente comando:
sudo systemctl restart systemd-resolved - Asegúrate de que se inicie automáticamente con cada arranque del sistema:
sudo systemctl enable systemd-resolved
Una vez completado este proceso, la resolución de nombres DNS debería funcionar con total normalidad en tu terminal.
Método 3: Verificar la Conexión de Red y Reinectar la Interfaz
Si los pasos anteriores no surten efecto, el problema podría radicar en que la interfaz de red perdió la sincronización con el enrutador local o el servicio de red (NetworkManager).
- Identifica el nombre de tu interfaz de red ejecutando:
ip a - Reinicia el servicio de gestión de red ejecutando:
sudo systemctl restart NetworkManager - Si utilizas Netplan (común en Ubuntu), aplica la configuración de red con:
sudo netplan apply
Siguiendo estos métodos detallados, podrás diagnosticar y corregir definitivamente el error de resolución de nombres en tu entorno Linux.