Cómo Solucionar el Error Resolv.conf Read-Only en Linux Paso a Paso

Cómo Solucionar el Error Resolv.conf Read-Only en Linux Paso a Paso
Anuncio relacionado

Introducción al problema de resolv.conf en modo de solo lectura

Uno de los dolores de cabeza más comunes para los administradores de sistemas y usuarios avanzados de Linux ocurre al intentar cambiar los servidores DNS editando el archivo /etc/resolv.conf, solo para descubrir que cualquier cambio se deshace al reiniciar o que el sistema arroja un error de archivo de solo lectura. Esto suele suceder porque gestores de red modernos como NetworkManager o systemd-resolved sobrescriben este archivo de forma automática.

Causas principales por las que resolv.conf es de solo lectura

  • El archivo es un enlace simbólico apuntando a un servicio de gestión de red dinámico.
  • El gestor de red (NetworkManager) sobrescribe el archivo en cada arranque o reconexión.
  • Los atributos inmutables del sistema de archivos han sido activados explícitamente sobre el archivo.

Método 1: Desactivar la sobrescritura mediante NetworkManager

Si tu distribución de Linux utiliza NetworkManager, la mejor forma de evitar que el archivo sea modificado automáticamente es configurarlo correctamente desde su archivo de configuración principal.

  1. Abre el archivo de configuración de NetworkManager con tu editor favorito: sudo nano /etc/NetworkManager/NetworkManager.conf
  2. Busca la sección [main] y añade la siguiente línea: dns=none
  3. Guarda los cambios presionando Ctrl + O y sal con Ctrl + X.
  4. Reinicia el servicio de red para aplicar los cambios: sudo systemctl restart NetworkManager

Método 2: Eliminar el atributo inmutable con chattr

En ocasiones, el archivo puede tener un bloqueo a nivel de sistema de archivos que impide cualquier modificación, incluso por parte del usuario root.

  1. Comprueba si el archivo tiene el atributo inmutable ejecutando: lsattr /etc/resolv.conf
  2. Si en la salida aparece la letra 'i', remueve el atributo ejecutando: sudo chattr -i /etc/resolv.conf
  3. Ahora podrás editar el archivo manualmente con tu editor de texto preferido e insertar tus servidores DNS estáticos (por ejemplo, nameserver 8.8.8.8).

Método 3: Configurar systemd-resolved correctamente

En distribuciones basadas en Ubuntu o Debian recientes, systemd-resolved gestiona las resoluciones DNS mediante un enlace simbólico.

    • Rompe el enlace simbólico existente si deseas control total: sudo rm /etc/resolv.conf
    • Crea un archivo nuevo y añade tus servidores DNS de forma manual: echo 'nameserver 1.1.1.1' | sudo tee /etc/resolv.conf
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
PrestaShop

Cómo Solucionar el Error de Excepción de Smarty en PrestaShop de Forma Definitiva

Las excepciones de Smarty pueden bloquear tu tienda PrestaShop por completo. Descubre cómo identificar el origen y solucionar este error de plantilla rápidamente.

Leer guía completa →
WordPress

Cómo Solucionar la Pantalla Blanca de la Muerte en WordPress de Forma Definitiva

Aprende a diagnosticar y solucionar la temida Pantalla Blanca de la Muerte en WordPress. Guía definitiva para recuperar tu sitio web.

Leer guía completa →
Linux

Cómo Solucionar el Error de Bloqueo Dpkg / Apt en Linux de Forma Definitiva

¿Te aparece el error 'Could not get lock /var/lib/dpkg/lock-frontend' al usar apt? Descubre cómo liberarlo de forma segura en pocos pasos.

Leer guía completa →