Cómo Solucionar el Error de /etc/resolv.conf Sobreescrito Reinicio en Linux

Cómo Solucionar el Error de /etc/resolv.conf Sobreescrito Reinicio en Linux
Anuncio relacionado

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

Uno de los dolores de cabeza más comunes para los administradores de sistemas Linux es configurar de forma manual los servidores DNS en el archivo /etc/resolv.conf y descubrir que, tras reiniciar el servidor o el servicio de red, todos los cambios han desaparecido y el archivo ha vuelto a su estado original o ha sido reemplazado por defecto.

Causas principales de este fallo en distribuciones Linux

Este comportamiento no es un error del sistema operativo en sí, sino una característica gestionada por demonios de red automatizados. Las causas más frecuentes son:

  • El uso de gestores de red como NetworkManager que sobrescriben la configuración de DNS dinámicamente.
  • Servicios como resolvconf o systemd-resolved que controlan de forma centralizada la resolución de nombres.
  • Interfaces de red configuradas con DHCP que actualizan automáticamente los servidores de nombres proporcionados por el router o proveedor de internet.

Método 1: Desactivar la gestión automática en NetworkManager

Si tu distribución utiliza NetworkManager, puedes configurarlo para que no modifique el archivo /etc/resolv.conf de forma automática.

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

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

En sistemas modernos basados en systemd, el servicio systemd-resolved gestiona las peticiones DNS. Para establecer DNS estáticos de forma permanente:

  1. Abre el archivo de configuración de systemd-resolved: sudo nano /etc/systemd/resolved.conf
  2. Busca las líneas comentadas correspondientes a DNS= y FallbackDNS=.
  3. Descoméntalas (elimina el símbolo #) y añade tus servidores DNS deseados, por ejemplo: DNS=8.8.8.8 8.8.4.4
  4. Guarda el archivo y reinicia el servicio con el comando: sudo systemctl restart systemd-resolved

Método 3: Convertir resolv.conf en un archivo estático inmutable

Si los métodos anteriores no funcionan o necesitas una solución drástica, puedes bloquear los atributos del archivo para que ningún proceso pueda modificarlo, ni siquiera el propio sistema.

  1. Primero, edita el archivo manualmente y deja los servidores DNS que necesites: sudo nano /etc/resolv.conf
  2. Aplica el atributo de inmutabilidad al archivo ejecutando el siguiente comando: sudo chattr +i /etc/resolv.conf
  3. Nota: Si en el futuro necesitas volver a modificar el archivo, deberás quitar el atributo inmutable primero con: sudo chattr -i /etc/resolv.conf
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
PrestaShop

Cómo Solucionar la Pantalla Blanca en el Backoffice de PrestaShop de Forma Definitiva

Aprende a diagnosticar y corregir el molesto error de pantalla blanca en el backoffice de PrestaShop. Soluciones efectivas para volver a gestionar tu e-commerce.

Leer guía completa →
PrestaShop

Cómo Solucionar el Error 'SmartyCompilerException' en PrestaShop

El fallo SmartyCompilerException interrumpe la carga de la tienda por problemas en las plantillas TPL. Descubre cómo resolverlo y reactivar tu catálogo online.

Leer guía completa →
Desarrollo

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

Descubre por qué ocurre el bloqueo de políticas de origen cruzado en tus peticiones fetch o axios y cómo solucionarlo rápidamente.

Leer guía completa →