¿Qué es el error Temporary Failure in Name Resolution en Linux?
Uno de los problemas más frustrantes al administrar sistemas operativos basados en Debian o Ubuntu es encontrarse con el mensaje Temporary failure in name resolution al intentar ejecutar comandos como apt update, ping o curl. Este fallo indica que tu máquina Linux no puede traducir las direcciones web legibles (como google.com) en direcciones IP numéricas debido a un problema con los servidores DNS o la configuración de red.
Causas principales del fallo de resolución DNS
- Archivo
/etc/resolv.confmal configurado o vacío. - Problemas con el servicio
systemd-resolveden distribuciones modernas. - Configuración incorrecta en el archivo de netplan (en Ubuntu) o interfaces de red tradicionales.
- Interferencia de cortafuegos o herramientas de gestión de red como NetworkManager.
Método 1: Configurar servidores DNS públicos manualmente en /etc/resolv.conf
La forma más rápida de mitigar este problema temporalmente es indicar de forma explícita qué servidores DNS debe utilizar tu sistema Linux.
- Abre la terminal de tu sistema.
- Edita el archivo de configuración de resolución de nombres con permisos de superusuario usando un editor como nano:
sudo nano /etc/resolv.conf - Añade los servidores DNS públicos de Google o Cloudflare escribiendo las siguientes líneas al principio del archivo:
nameserver 8.8.8.8ynameserver 1.1.1.1 - Guarda los cambios presionando
Ctrl + O, luegoEnter, y sal del editor 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, la gestión de nombres está delegada en systemd-resolved. Si este demonio se detiene o se corrompe, surgirá el error de resolución.
- Verifica el estado actual del servicio ejecutando:
sudo systemctl status systemd-resolved - Si se encuentra detenido o con errores, reinícialo con el siguiente comando:
sudo systemctl restart systemd-resolved - Asegúrate de que se ejecute automáticamente al iniciar el sistema activándolo de nuevo:
sudo systemctl enable systemd-resolved - Crea un enlace simbólico correcto para asegurar que el archivo resolv.conf apunte al backend adecuado:
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
Método 3: Corregir la configuración de red en Netplan (Ubuntu Server y Desktop)
Si utilizas una versión moderna de Ubuntu, la red se gestiona a través de Netplan, por lo que editar /etc/resolv.conf de forma manual puede ser sobrescrito al reiniciar.
- Busca tu archivo de configuración YAML dentro del directorio netplan:
ls /etc/netplan/ - Edita el archivo encontrado (por ejemplo,
01-netcfg.yamlo similar) con permisos de root:sudo nano /etc/netplan/01-netcfg.yaml - Asegúrate de que la sección de nombres esté correctamente estructurada bajo tu interfaz de red de la siguiente manera:
- Aplica los cambios de configuración ejecutando en la terminal:
sudo netplan apply
network:
version: 2
ethernets:
eth0:
dhcp4: true
nameservers:
addresses: [8.8.8.8, 1.1.1.1]