Cómo hacer persistente /etc/resolv.conf en Debian 9

21 de octubre de 2017

Configurando samba4 como controlador de dominio me he encontrado con el problema de que el archivo resolv.conf lo toca todo el mundo durante la carga del sistema, es un fichero dinámico. Es algo que ya sabía y,  hasta ahora, usaba las herramientas que el entorno gráfico me proporcionaba para hacer persistente la configuración. Pero en un servidor, el entorno gráfico sobra.

Entonces, ¿Cómo se puede conseguir? Seguramente, hay muchas maneras pero, aquí está cómo lo he conseguido yo esta vez.

Hay muchas guías de Ubuntu que dicen que hay que editar /etc/resolvconf/resolv.conf.d/tail. Pero, esto solo vale si el sistema usa un programa que se llama resolvconf. Debian9, en su instalación básica, no lo instala.

En seguridad, lo primero es reducir la superficie de ataque.
Si no es necesario, quítalo.

¿Se podría instalar? Sí, supongo. Sin embargo, una de las primeras cosas que he aprendido sobre seguridad en sistemas operativos es que, lo primero es reducir la superficie de ataque. Luego cuantos menos programas estén en ejecución, menos cosas pueden fallar (además de que no desperdiciamos recursos).

Intenté conseguirlo editando /etc/network/interfaces, pero ni caso.

Al final, ha funcionado cambiando una línea de /etc/dhcp/dhclient.conf.

Editamos el archivo con nuestro editor preferido, el mío es vim:

sudo vim /etc/dhcp/dhclient.confLenguaje del código: Bash (bash)

Buscamos la línea “#prepend domain-name-servers 127.0.0.1;” y la modificamos quedando “prepend domain-name-servers;

Guardamos y yo, reinicié el sistema (normalmente no es necesario reiniciarlo todo, basta con reiniciar el servicio apropiado).

Al mirar /etc/resolv.conf (sudo cat /etc/resolv.conf), ahora veo que el primer nameserver que aparece tiene la IP de mi máquina. Compruebo la resolución DNS de LDAP y, ahora sí, responde.