Cómo Solucionar el Error de Edición en /etc/resolv.conf en Linux Paso a Paso

Cómo Solucionar el Error de Edición en /etc/resolv.conf en Linux Paso a Paso
Anuncio relacionado

Introducción al problema con /etc/resolv.conf en Linux

Uno de los dolores de cabeza más comunes para los administradores de sistemas y usuarios avanzados en Linux es la modificación del archivo /etc/resolv.conf para cambiar los servidores DNS. A menudo, el usuario edita el archivo, guarda los cambios, pero al reiniciar la red o el equipo, la configuración anterior regresa o el archivo se sobrescribe por completo. Esto interrumpe la navegación y la resolución de nombres.

Causas principales por las que se sobrescribe resolv.conf

En las distribuciones modernas de Linux (como Ubuntu, Debian, Fedora o CentOS), la gestión de la red se delega a servicios automatizados como NetworkManager, systemd-resolved o resolvconf. Estos demonios sobrescriben dinámicamente el archivo /etc/resolv.conf cada vez que se establece una nueva conexión de red, ignorando cualquier cambio manual realizado por el usuario.

Método 1: Desactivar la gestión estática y usar NetworkManager

Si tu distribución utiliza NetworkManager, la forma más limpia de mantener tus DNS personalizadas sin que el archivo sea reemplazado es configurarlo a través de la interfaz de red o mediante el archivo de configuración de NetworkManager.

  1. Abre el archivo de configuración principal de NetworkManager con privilegios de superusuario:
    sudo nano /etc/NetworkManager/NetworkManager.conf
  2. Busca la sección [main] y asegúrate de añadir o modificar la línea del plugin de DNS:
    dns=default o dns=systemd-resolved
  3. Guarda el archivo presionando Ctrl + O y sal con Ctrl + X.
  4. Configura las DNS estáticas directamente para tu conexión activa usando la herramienta nmcli o la interfaz gráfica.

Método 2: Configurar systemd-resolved correctamente (Ubuntu y Debian)

En sistemas que utilizan systemd-resolved, el archivo /etc/resolv.conf suele ser un enlace simbólico a /run/systemd/resolve/stub-resolv.conf. Para fijar tus DNS de forma permanente:

  1. Abre el archivo de configuración de systemd-resolved:
    sudo nano /etc/systemd/resolved.conf
  2. Busca la línea que dice #DNS= y descoméntala borrando el signo #, añadiendo tus servidores DNS deseados separados por espacios. Ejemplo:
    DNS=8.8.8.8 1.1.1.1
  3. Guarda los cambios y reinicia el servicio para aplicar la nueva configuración:
    sudo systemctl restart systemd-resolved
  4. Verifica que el enlace simbólico apunte correctamente ejecutando:
    ls -l /etc/resolv.conf

Método 3: Hacer el archivo inmutable (Solución rápida pero drástica)

Si los métodos anteriores fallan o necesitas una solución inmediata que evite cualquier modificación automática por parte del sistema operativo, puedes utilizar los atributos extendidos del sistema de archivos para hacer que /etc/resolv.conf sea completamente inmutable.

  1. Primero, edita el archivo manualmente con tus servidores DNS preferidos:
    sudo nano /etc/resolv.conf
  2. Añade las líneas correspondientes, por ejemplo:
    nameserver 8.8.8.8
    nameserver 1.1.1.1
  3. Guarda y cierra el editor.
  4. Aplica el atributo de inmutabilidad mediante el comando chattr:
    sudo chattr +i /etc/resolv.conf

Nota importante: Si en el futuro necesitas cambiar las DNS nuevamente, primero tendrás que quitar el atributo inmutable ejecutando sudo chattr -i /etc/resolv.conf.

Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Desarrollo

Cómo Solucionar el Error CORS en JavaScript de Forma Definitiva

El error CORS bloquea las peticiones entre diferentes dominios en tus aplicaciones web. Descubre cómo solucionarlo de forma definitiva.

Leer guía completa →
Hardware

Cómo Solucionar el Error ReBoot and Select Proper Boot Device Definitivamente

¿Tu ordenador enciende pero muestra un mensaje de error de arranque? Aprende a identificar la causa y reparar este problema de hardware.

Leer guía completa →
Apps

Cómo Solucionar el Error ERR_CONNECTION_RESET en Google Chrome de Forma Definitiva

Aprende a resolver el molesto código de error ERR_CONNECTION_RESET en Google Chrome aplicando métodos efectivos de red y configuración. Vuelve a navegar sin interrupciones.

Leer guía completa →