Introducción al Error Temporary Failure in Name Resolution
Uno de los problemas más frustrantes al trabajar con distribuciones de Linux como Ubuntu, Debian o CentOS es intentar actualizar el sistema o descargar un paquete y encontrarse con el mensaje temporary failure in name resolution. Este error indica que tu sistema operativo no puede traducir los nombres de dominios (como google.com) en direcciones IP debido a un fallo en la resolución DNS.
Causas Principales del Fallo de Resolución DNS
Las razones más comunes por las que ocurre este error en la terminal de Linux incluyen:
- Configuración incorrecta o corrupta en el archivo
/etc/resolv.conf. - Servicio de red o gestor de conexiones (como NetworkManager o systemd-resolved) detenido o mal configurado.
- Problemas con la pasarela de enlace predeterminada o la interfaz de red.
- Uso de servidores DNS públicos inestables o bloqueados por el cortafuegos.
Método 1: Configurar Manualmente los Servidores DNS
La forma más rápida de solucionar este inconveniente es asignar servidores DNS públicos y confiables, como los de Google o Cloudflare, directamente en la configuración de red temporal.
- Abre tu terminal de Linux.
- Edita el archivo de configuración del DNS con un editor de textos como nano:
sudo nano /etc/resolv.conf - Añade las siguientes líneas al principio del archivo:
nameserver 8.8.8.8nameserver 1.1.1.1 - Guarda los cambios presionando
Ctrl + O, luegoEnter, y sal conCtrl + X. - Prueba tu conexión ejecutando:
ping -c 3 google.com
Método 2: Reiniciar el Servicio systemd-resolved
En muchas distribuciones modernas de Linux, el servicio encargado de gestionar la resolución de nombres es systemd-resolved. Si este demonio se congela, genera el error de resolución.
- Comprueba el estado del servicio ejecutando el comando:
sudo systemctl status systemd-resolved - Si está detenido o presenta fallos, reinícialo con la siguiente instrucción:
sudo systemctl restart systemd-resolved - Habilita el servicio para que inicie automáticamente con el sistema:
sudo systemctl enable systemd-resolved - Vuelve a comprobar la conexión haciendo una consulta con el comando
nslookup google.com.
Método 3: Verificar y Reiniciar NetworkManager
Si utilizas un entorno de escritorio en tu máquina Linux, es muy probable que NetworkManager esté sobrescribiendo tu configuración de red.
- Reinicia el daemon de NetworkManager escribiendo en tu terminal:
sudo systemctl restart NetworkManager - Si el problema persiste, puedes reiniciar la interfaz de red específica (por ejemplo,
eth0oenp3s0):sudo ip link set dev eth0 downsudo ip link set dev eth0 up - Verifica que tu dirección IP y puerta de enlace sean correctas ejecutando:
ip ayip route.