¿Qué es el error Temporary Failure in Name Resolution en Linux?
El error temporary failure in name resolution es uno de los problemas de red más frustrantes en sistemas operativos basados en Linux, como Ubuntu, Debian o CentOS. Ocurre cuando tu sistema operativo es incapaz de traducir un nombre de dominio legible (por ejemplo, google.com) a su dirección IP correspondiente. Esto suele manifestarse al intentar usar comandos como ping, apt update o al navegar por la web.
Causas Principales de la Falla de Resolución DNS
Existen diversos motivos por los cuales Linux puede perder la capacidad de resolver nombres de dominio:
- Configuración incorrecta o corrupción del archivo
/etc/resolv.conf. - Servicio de red o gestor de conexiones (como NetworkManager o systemd-resolved) detenido o con fallos.
- Interfaz de red local desconectada o sin una puerta de enlace predeterminada asignada.
- Bloqueo temporal por parte del cortafuegos (iptables o ufw).
Método 1: Configurar manualmente los Servidores DNS
La forma más rápida de solucionar este problema es añadir servidores DNS públicos y confiables directamente en la configuración del sistema.
- Abre tu terminal de Linux.
- Edita el archivo de resolución DNS con privilegios de administrador usando nano:
sudo nano /etc/resolv.conf - Añade las siguientes líneas de servidores DNS de Google o Cloudflare:
- Guarda los cambios presionando
Ctrl + O, luegoEnter, y sal conCtrl + X. - Prueba nuevamente tu conexión ejecutando:
ping -c 4 google.com
nameserver 8.8.8.8nameserver 1.1.1.1Método 2: Reiniciar el Servicio de Red y systemd-resolved
En muchas distribuciones modernas de Linux, el demonio systemd-resolved gestiona la resolución de nombres. Reiniciar este servicio suele solucionar fallos temporales.
- Ejecuta el siguiente comando para reiniciar el resolvedor de systemd:
sudo systemctl restart systemd-resolved - Verifica el estado del servicio para asegurarte de que está activo:
sudo systemctl status systemd-resolved - Si utilizas NetworkManager para administrar tus conexiones de red, reinícialo también:
sudo systemctl restart NetworkManager
Método 3: Verificar la Conexión de Red y la Puerta de Enlace
A veces el problema no es el DNS, sino que la interfaz de red ha perdido la ruta hacia el enrutador.
- Comprueba que tu interfaz de red tenga una IP asignada ejecutando:
ip a - Verifica la ruta predeterminada con el comando:
ip route show - Si no visualizas ninguna puerta de enlace, reinicia tu interfaz de red o levántala manualmente con:
sudo ip link set dev [tu_interfaz] up