18.04: Castor Biónico: imponer estática /etc/resolv.conf

10

Anteriormente, en Ubuntu 16.04, me sentí traicionado cuando una actualización de Ubuntu instaló el dnsmasqpaquete, lo configuró y le dio prioridad sobre mi propio servidor DNS BIND súper estable, ultrarrápido y configurado. Se sentía exactamente como si Ubuntu pirateara mi estación de trabajo.

Como estaba trabajando como administrador del sistema, esto era extremadamente inaceptable. Esta fue una llamada freak. Esto es cuando vas a solucionar un problema y en uno de los pasos que usas digo nslookupte sorprendes al ver que la lointerfaz te responde. PÁNICO

¿Hay alguna manera no solo de solucionar este problema, sino también de garantizar que /etc/resolv.confsea ​​a prueba de manipulaciones?

MK
fuente

Respuestas:

5

Una simple edición /etc/NetworkManager/NetworkManager.confy desactivación systemd-resolved.service(como en esta respuesta /ubuntu//a/907249/719422 ). Pero eso por sí solo, si bien es esencial, no garantiza a prueba de manipulaciones resolv.conf.

Para aplicar realmente una estática /etc/resolv.confque sabe que sobrevivirá a los reinicios de cualquier tipo, debe configurar el atributo inmutable . Agregando a la respuesta de Bastian Voigt mencionada anteriormente, haces esto como Superusuario:

echo nameserver 8.8.8.8 > /etc/resolv.conf
chattr -e /etc/resolv.conf
chattr +i /etc/resolv.conf

... cambiando el nameservera su valor elegido. De esa manera, puede tener una muy estática /etc/resolv.conf.

MK
fuente
3
El archivo /etc/NetworkManager/NetworkManager.conf no existe en 18.04
hfranco
@hfranco si no es así, lo cual dudo, ¡entonces solo creas uno! Y, por cierto, si ese es su caso, entonces no es una configuración estándar; Su caso es anormal. ¡Diría que escribiste mal mientras lo buscabas!
MK
@hfranco Tan antiguo como 12.04 unix.stackexchange.com/questions/154338/…
MK
Esto es lo único que me funcionó en Ubuntu 18.04
Lucas Bustamante
1

La mejor solución que he encontrado es evitar que NetworkManager actualice /etc/resolv.conf y luego cree un nuevo archivo /etc/resolv.conf con un servidor DNS estático. Consulte https://www.ctrl.blog/entry/resolvconf-tutorial para saber cómo hacerlo.

Scubadoo
fuente
1
Gracias por el spam! ¡Pero de todas formas te estás perdiendo el atributo Inmutable!
MK
0

De acuerdo con la documentación, se puede escribir el resolv.confa /usr/lib/systemd/resolv.conf, que es un archivo estático que puede estar vinculado a /etc/resolv.conf. Eso no debe reescribirse.

sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf

http://manpages.ubuntu.com/manpages/bionic/man8/systemd-resolved.service.8.html#contenttoc3

/ETC/RESOLV.CONF

Se admiten cuatro modos de manejo /etc/resolv.conf (consulte resolv.conf (5)):

...

Se proporciona un archivo estático /usr/lib/systemd/resolv.conf que enumera el código auxiliar 127.0.0.53 DNS (ver arriba) como solo servidor DNS. Este archivo se puede vincular desde /etc/resolv.conf para conectar a todos los clientes locales que omiten las API de DNS locales para resolver el sistema. Este archivo no contiene ningún dominio de búsqueda.

wisbucky
fuente
2
No lo siento. ¿Qué sucede cuando la especificación cambia o el método de configuración se altera por voluntad propia de Ubuntu ? Sabes, este es el mismo fiasco por el que dejé los sueños corruptos de Satya de un sistema operativo. Y, este es el mismo fiasco que Linux debería evitar. ¿Qué hay de malo con resolve.conf? ¿Por qué la molestia? ¿Por qué intentar imitar la odiosa y tediosa configuración de red de Redhat, de una forma u otra? Lo siento, solo me atendré a mi solución.
MK
¿Cómo sabes que tu archivo simplemente no será ignorado en el futuro? Sé que forzar la forma estática de que algunas aplicaciones funcionen y otras no. Con la solución de wisbucky, al menos podemos usar la forma actual. Tampoco vi la necesidad de que lo cambiaran, pero no obtuve voto. Alguien rechazó esta solución cuando, de hecho, funciona y es la más simple. +1
Marlon
@Marlon "¿Cómo sabes que tu archivo simplemente no será ignorado en el futuro"? Porque se establece inmutable; y, si /etc/resolv.conf va a ser ignorado, entonces ¿por qué tanto alboroto construyendo un marco a su alrededor? Ignorar el archivo solo sucederá si algún wacko de Ubuntu decide que es inútil (¡implementar algo en el archivo de interfaces, por ejemplo!)
MK
Si quisiera que alguien tomara decisiones por mí, habría vuelto a la locura de Microsoft Windows, cuyos codificadores y diseñadores y Satya, por encima de todos ellos, creen que conocen tu bien mejor que tú y que no tienes derecho a elegir cómo ejecutar su " creación". ¡Escándalo!
MK
¿Por qué tanto alboroto construye un sistema operativo para el bien de la humanidad, si la humanidad no puede disfrutar de ejecutarlo? Cuál es el alboroto es un atributo inmutable si alguien me va a decir cuándo usarlo o no. No se trata de "seguir los manuales galácticos de Vega", se trata de la libertad de elección; nadie debería nunca plantearle su propio impulso rígido y resuelto. Eres un ser y tienes derechos.
MK
-2

El archivo presente es un enlace simbólico a otro archivo. Eliminar el archivo

rm /etc/resolve.conf
vim / etc resolve.conf
ingrese sus datos
: wq

El archivo ya no es un enlace simbólico sino un archivo persistente.

0n10n_
fuente
Los pasos ya se dirigen a eliminar /etc/resolv.conf de antemano.
MK