Introducción al Problema de DNS en Linux
Uno de los problemas mas frustrantes al administrar sistemas basados en Debian y Ubuntu es la perdida repentina de la conexion a internet, especifica en la resolucion de nombres de dominio. Aunque puedes hacer ping a direcciones IP externas como 8.8.8.8, las paginas web o comandos como apt update devuelven un error de tipo Temporary failure in name resolution.
Causas Principales del Fallo de DNS
Este error suele ser provocado por tres motivos principales:
- Corrupcion o sobreescritura del archivo de configuracion simbolico
/etc/resolv.conf. - Fallos o detencion inesperada del servicio gestor de red como
systemd-resolvedoNetworkManager. - Configuracion estatica incorrecta en las interfaces de red del sistema operativo.
Método 1: Reiniciar y Habilitar el Servicio systemd-resolved
En las versiones modernas de Ubuntu, la resolucion de DNS se gestiona a traves del daemon systemd-resolved. Si este servicio se detiene, perderas la conectividad por nombres.
- Abre tu terminal de Linux con permisos de superusuario.
- Comprueba el estado actual del servicio ejecutando el siguiente comando:
sudo systemctl status systemd-resolved - Si el servicio esta inactivo, reinicialo y habilitarlo para que inicie con el sistema mediante las siguientes instrucciones:
sudo systemctl restart systemd-resolvedsudo systemctl enable systemd-resolved
Método 2: Reconfigurar el Enlace Simbólico de /etc/resolv.conf
A menudo, el archivo /etc/resolv.conf deja de apuntar al servidor local correcto y queda vacio o con una configuracion obsoleta.
- Elimina el archivo de configuracion actual con precaucion:
sudo rm /etc/resolv.conf - Crea un nuevo enlace simbolico que apunte al archivo gestionado por systemd:
sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf - Verifica que la configuracion se aplique correctamente haciendo una prueba con el comando:
nslookup google.com
Método 3: Configurar Servidores DNS Públicos de Forma Manual
Si los pasos anteriores no resuelven el inconveniente, puedes asignar servidores DNS publicos y estables directamente en la configuracion de tu red.
- Abre el archivo de configuracion de NetworkPlan ubicado en
/etc/netlan/usando tu editor de texto favorito como nano:sudo nano /etc/netplan/01-netcfg.yaml - Modifica la seccion correspondiente a los servidores de nombres (nameservers) agregando direcciones confiables:
- Guarda los cambios y aplica la nueva configuracion ejecutando en la terminal:
sudo netplan apply
network:
version: 2
ethernets:
eth0:
dhcp4: true
nameservers:
addresses: [8.8.8.8, 1.1.1.1]