Introducción al problema de resolución DNS en Linux
Uno de los problemas más frustrantes para los administradores de sistemas y usuarios de Linux es perder repentinamente la conexión a internet debido a un fallo en la resolución de nombres de dominio. A menudo, al revisar la configuración, descubrimos que el archivo /etc/resolv.conf está vacío, desactualizado o sobrescrito por servicios de red automáticos como NetworkManager o systemd-resolved.
Causas principales del error en resolv.conf
- El archivo simbólico de systemd-resolved se ha desvinculado o corrompido.
- NetworkManager sobrescribe la configuración de DNS en cada reinicio de red.
- El paquete resolvconf está mal configurado en distribuciones basadas en Debian o Ubuntu.
- Modificaciones manuales incorrectas en la interfaz de red.
Método 1: Configurar servidores DNS estáticos en /etc/resolv.conf
Si necesitas una solución rápida y directa para recuperar el acceso a internet, puedes editar manualmente el archivo de configuración DNS.
- Abre la terminal de tu sistema Linux.
- Ejecuta el siguiente comando para editar el archivo con privilegios de superusuario:
sudo nano /etc/resolv.conf - Añade los servidores DNS públicos de Google o Cloudflare escribiendo las siguientes líneas:
nameserver 8.8.8.8nameserver 1.1.1.1 - Guarda los cambios presionando
Ctrl + O, luegoEnter, y sal conCtrl + X.
Método 2: Reparar systemd-resolved en distribuciones modernas
En sistemas que utilizan systemd-resolved, la edición manual de resolv.conf suele perderse. La mejor práctica es reactivar y enlazar correctamente el servicio.
- Verifica el estado del servicio ejecutando:
sudo systemctl status systemd-resolved - Habilita e inicia el servicio si está detenido:
sudo systemctl enable --now systemd-resolved - Crea un enlace simbólico correcto para el archivo de configuración con el siguiente comando:
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf - Reinicia la red para aplicar los cambios:
sudo systemctl restart NetworkManager
Conclusión
Solucionar el problema del archivo resolv.conf vacío en Linux garantiza que tus servicios y herramientas de terminal vuelvan a conectarse correctamente a la red. Recuerda verificar si utilizas NetworkManager o systemd-resolved para aplicar la solución permanente adecuada a tu entorno.