Esta es una pregunta muy popular, con una colección de posibles respuestas estándar, todas las cuales, en mi opinión, son bastante extravagantes. Por mi parte, siempre he tenido problemas para hacer que Ubuntu respete la configuración de DNS que configuré en NetworkManager, en particular la configuración de servidores DNS estáticos con "direcciones automáticas (DHCP) solamente", y hoy finalmente descubrí qué estaba REALMENTE EQUIVOCADO.
El problema está en la interacción entre resolvconf y NetworkManager. resolvconf tiene este archivo llamado /etc/resolvconf/interface-order
. Al menos en mis sistemas, NetworkManager no está en este archivo en absoluto (excepto que está cubierto por el comodín * al final). Entonces, lo que sucede es que el informe más reciente de dhclient a resolvconf tiene prioridad sobre cualquier cosa que NetworkManager tenga que decir.
Por lo tanto, al menos en mi caso, la respuesta real fue agregar
NetworkManager
en o cerca de la parte superior de /etc/resolvconf/interface-order
.
(Sí, sé que muchas personas simplemente dicen "desinstalar resolvconf", lo que me parece una mala idea en sí misma. Pero más que eso, al menos astuto y xenial consideran resolvconf como una parte vital del sistema [es decir, ubuntu -minimal depende de ello], por lo que sería difícil mantener su sistema en un estado coherente y actualizado sin resolvconf).
Si lo solicito, puedo proporcionar más detalles sobre cómo resolví esto. ( EDITAR : aparentemente no lo hice cuando me lo pidieron, lo siento. En este momento no recuerdo muchos más detalles de lo que digo a continuación :) En pocas palabras, reemplacé el ejecutable resolvconf con un envoltorio de shell a su alrededor. que volcó sus argumentos, entrada, salida y stderr a los archivos; y agregó set -x a los scripts de actualización de resolvconf.
( EDITAR : puedo decir que lo que quiero decir con la primera parte es que usé sudo para mover el ejecutable resolvconf real, que se puede encontrar usando el comando which o el comando type. Luego crea un script de shell que finalmente solo ejecuta el movido resolvconf, pero también hace eco de los argumentos de algún archivo, y utiliza la redirección de shell para enviar stdin, stdout y stderr a varios otros archivos. No recuerdo dónde están los "scripts de actualización de resolvconf" y no puedo verificarlos fácilmente. Creo muchos geeks de Linux pueden entender lo que quiero decir; tal vez algún buen samaritano proporcionará aún más detalles en un comentario).
nm-tool
, nonmcli
.