Introducción al problema
Uno de los errores más frustrantes al utilizar sistemas operativos basados en Linux, como Ubuntu, Debian o CentOS, es el mensaje temporary failure in name resolution al intentar ejecutar comandos como apt update, ping o wget. Este fallo indica que tu máquina no puede traducir las direcciones web (URLs) en direcciones IP debido a un problema con los servidores DNS o la configuración de red.
Causas principales del error
Las razones más comunes por las que aparece este problema en la terminal de Linux incluyen:
- Configuración incorrecta o corrupta en el archivo
/etc/resolv.conf. - Fallo temporal en el servicio de red o en el gestor NetworkManager.
- Problemas con los servidores DNS públicos configurados en tu adaptador de red.
- Desactivación accidental de la interfaz de red principal.
Método 1: Configurar manualmente los servidores DNS de Google o Cloudflare
La forma más rápida de solucionar este inconveniente es asignar servidores DNS estáticos editando la configuración de red o el archivo de resolución.
- Abre tu terminal de Linux.
- Edita el archivo de configuración de DNS con un editor de textos como nano:
sudo nano /etc/resolv.conf - Añade las siguientes líneas de servidores DNS públicos al inicio del archivo:
nameserver 8.8.8.8nameserver 1.1.1.1 - Guarda los cambios presionando
Ctrl + O, luegoEnter, y sal conCtrl + X. - Prueba nuevamente la conexión ejecutando:
ping -c 3 google.com
Método 2: Reiniciar el servicio de red (Systemd-resolved o NetworkManager)
Si los servidores DNS son correctos pero el servicio encargado de gestionarlos se ha quedado bloqueado, debes reiniciarlo.
- Si usas NetworkManager, reinicia el servicio con el siguiente comando:
sudo systemctl restart NetworkManager - Si tu distribución utiliza el servicio de resolución systemd, reinícialo ejecutando:
sudo systemctl restart systemd-resolved - Verifica el estado del servicio para asegurarte de que está activo y sin errores:
sudo systemctl status systemd-resolved
Método 3: Verificar y reactivar la interfaz de red
A veces, la tarjeta de red pierde la conexión con la pasarela predeterminada. Sigue estos pasos para reiniciar tu interfaz:
- Identifica el nombre de tu interfaz de red ejecutando:
ip a - Apaga temporalmente la interfaz afectada (por ejemplo, eth0 o enp3s0):
sudo ip link set devdown - Vuelve a encender la interfaz de red con el comando:
sudo ip link set devup - Renueva la dirección IP mediante DHCP si tu red lo requiere:
sudo dhclient -v