Introducción
Uno de los problemas más frustrantes para los administradores de sistemas y usuarios avanzados es encontrarse con que su distribución Linux no puede resolver nombres de dominio, a pesar de tener una conexión de red activa. Este fallo impide navegar por internet o actualizar paquetes mediante el gestor APT. A continuación, exploraremos las causas principales y los métodos más efectivos para solucionarlo de forma definitiva.
Causas comunes del error de DNS en Linux
El fallo en la resolución de nombres suele estar ligado a una mala configuración en los archivos de red, problemas con el servicio systemd-resolved o un servidor DNS inaccesible proporcionado por el proveedor de internet o el router. Las causas más frecuentes incluyen:
- Archivo
/etc/resolv.confmal configurado o sobreescrito. - Servicio gestor de red (NetworkManager o systemd-resolved) detenido o corrompido.
- Parámetros de DHCP incorrectos en la interfaz de red local.
Método 1: Configurar servidores DNS públicos estáticos
Para solucionar el problema rápidamente, podemos asignar servidores DNS confiables (como Google o Cloudflare) directamente en la configuración del sistema.
- Abre tu terminal de comandos en Linux.
- Edita el archivo de configuración temporal de DNS usando un editor 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 la conexión ejecutando:
ping -c 4 google.com
Método 2: Reiniciar y reconfigurar systemd-resolved
En distribuciones modernas basadas en systemd, el servicio encargado de gestionar los DNS puede presentar bloqueos temporales. Reiniciarlo suele resolver el inconveniente.
- Verifica el estado del servicio ejecutando el siguiente comando en la terminal:
sudo systemctl status systemd-resolved - Si se encuentra detenido o con errores, reinícalo forzando su arranque:
sudo systemctl restart systemd-resolved - Asegúrate de que el enlace simbólico del archivo resolv.conf sea correcto ejecutando:
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
Conclusión
Solucionar los problemas de DNS en Linux es esencial para mantener la estabilidad del sistema y la conectividad de red. Siguiendo estos métodos paso a paso, podrás restablecer la resolución de nombres de dominio y evitar futuras interrupciones en tus tareas diarias o servidores de producción.