Introducción
Uno de los problemas más frustrantes al administrar un sistema operativo Linux es encontrarse de repente con el mensaje temporary failure in name resolution al intentar hacer un ping, actualizar paquetes o descargar dependencias. Este error indica que tu máquina Linux no puede traducir los nombres de dominios legibles (como google.com) a direcciones IP numéricas debido a un fallo en la configuración de DNS o de red.
Causas comunes del error
Las razones principales por las que ocurre este fallo en la resolución de nombres en distribuciones como Ubuntu, Debian o CentOS incluyen:
- Problemas de configuración en el archivo
/etc/resolv.conf. - Fallo temporal en el servicio de red local o NetworkManager.
- Interfaz de red deshabilitada o sin puerta de enlace predeterminada.
- Configuración incorrecta del archivo
/etc/hosts.
Método 1: Comprobar la conectividad de red y reiniciar NetworkManager
El primer paso es verificar que tu interfaz de red esté activa y reiniciar el servicio gestor de red para forzar la actualización de las IPs y los servidores DNS.
- Abre tu terminal de Linux.
- Comprueba el estado de tus interfaces de red ejecutando el comando:
ip a - Reinicia el servicio de red ejecutando el siguiente comando con privilegios de superusuario:
sudo systemctl restart NetworkManager - Si tu distribución utiliza networking clásico en lugar de NetworkManager, usa:
sudo systemctl restart networking
Método 2: Configurar servidores DNS públicos manualmente
Si el problema persiste, es probable que tu proveedor de internet o tu router no estén resolviendo las direcciones correctamente. Puedes asignar servidores DNS públicos como los de Google o Cloudflare de forma manual.
- Abre el archivo de configuración de DNS con tu editor de texto favorito:
sudo nano /etc/resolv.conf - Añade o modifica las líneas para incluir los servidores DNS públicos de Google añadiendo:
nameserver 8.8.8.8ynameserver 8.8.4.4 - Guarda los cambios y cierra el editor (en Nano presiona
Ctrl + O, luegoEnteryCtrl + X). - Prueba tu conexión nuevamente ejecutando:
ping -c 4 8.8.8.8y luegoping -c 4 google.com
Método 3: Verificar y corregir el archivo /etc/hosts
A veces, entradas corruptas o faltantes en el archivo de hosts local provocan fallos en la resolución interna de nombres.
- Abre el archivo de hosts con permisos de administrador:
sudo nano /etc/hosts - Asegúrate de que la primera línea contenga correctamente el bucle local añadiendo:
127.0.0.1 localhost - Añade también el nombre de tu host actual asociado a la IP local si es necesario.
- Guarda el archivo y reinicia tu terminal para comprobar que el error ha desaparecido por completo.