Introducción al error Temporary Failure in Name Resolution
Uno de los problemas más frustrantes a los que se enfrentan los administradores de sistemas y usuarios cotidianos de Linux al utilizar comandos como ping o apt update es el mensaje Temporary failure in name resolution. Este error indica que tu sistema operativo es incapaz de traducir los nombres de dominio legibles (como google.com) en direcciones IP válidas debido a un fallo en la configuración o funcionamiento del sistema de nombres de dominio (DNS).
Causas principales del fallo de resolución DNS en Linux
Este inconveniente puede originarse por diversas razones comunes dentro de distribuciones basadas en Debian, Ubuntu, CentOS o Fedora:
- Configuración incorrecta o corrupta en el archivo
/etc/resolv.conf. - Problemas con el servicio local de resolución de nombres (como
systemd-resolved). - Interfaces de red mal configuradas en el archivo Netplan o NetworkManager.
- Fallo temporal en los servidores DNS públicos configurados (ej. Cloudflare o Google).
Método 1: Configurar manualmente los servidores DNS en /etc/resolv.conf
La solución más rápida para restablecer la conectividad consiste en apuntar directamente a servidores DNS públicos y estables como los de Google (8.8.8.8) o Cloudflare (1.1.1.1).
- Abre tu terminal de comandos con privilegios de superusuario.
- Edita el archivo de configuración de DNS ejecutando el siguiente comando:
sudo nano /etc/resolv.conf - Añade las siguientes líneas al inicio del archivo para establecer los servidores DNS principales y secundarios:
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 google.com
Método 2: Reiniciar y habilitar el servicio systemd-resolved
En muchas distribuciones modernas de Linux, el sistema de resolución de nombres es gestionado por systemd-resolved. Si este demonio se detiene o se corrompe, aparecerá el error de resolución temporal.
- Verifica el estado actual del servicio ejecutando:
sudo systemctl status systemd-resolved - Si se encuentra detenido o presenta errores, reinicia el servicio con la siguiente orden:
sudo systemctl restart systemd-resolved - Asegúrate de que se inicie automáticamente en cada arranque del sistema:
sudo systemctl enable systemd-resolved - Crea un enlace simbólico recomendado para asegurar que el archivo resolv.conf funcione correctamente:
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
Método 3: Verificar y corregir la configuración de red (Netplan)
Si utilizas Ubuntu, es muy probable que la red esté controlada por Netplan. Un error de sintaxis en sus archivos de configuración puede romper la ruta de los DNS.
- Busca el archivo de configuración YAML en el directorio netplan ejecutando:
ls /etc/netplan/ - Edita el archivo encontrado (por ejemplo,
01-netcfg.yamlo similar):sudo nano /etc/netplan/01-netcfg.yaml - Asegúrate de que la sección de nombres esté declarada correctamente bajo tu interfaz de red:
network:version: 2ethernets:eth0:dhcp4: truenameservers:addresses: [8.8.8.8, 1.1.1.1] - Aplica los cambios de red ejecutando el comando de validación:
sudo netplan apply
Siguiendo estos pasos metodológicos, habrás solucionado definitivamente el error Temporary failure in name resolution en tu entorno Linux, permitiendo que tus aplicaciones y herramientas de red vuelvan a conectarse a Internet sin inconvenientes.