C'est une question très populaire, avec une collection de réponses standard possibles, qui, IMO, sont plutôt compliquées. Personnellement, j’ai toujours eu du mal à faire en sorte que Ubuntu respecte les paramètres DNS que j’ai configurés dans NetworkManager - notamment le paramétrage des serveurs DNS statiques avec des "adresses automatiques (DHCP) uniquement" - et aujourd’hui j’ai enfin compris ce qui était réellement inexact.
Le problème réside dans l'interaction entre resolvconf et NetworkManager. Ce fichier est appelé resolvconf /etc/resolvconf/interface-order
. Au moins sur mes systèmes, NetworkManager ne figure pas du tout dans ce fichier (sauf qu'il est couvert par le caractère générique * à la fin). Le rapport le plus récent de dhclient à resolvconf a donc préséance sur tout ce que NetworkManager a à dire.
Ainsi, du moins dans mon cas, la réponse réelle a été d'ajouter
NetworkManager
au sommet ou près du /etc/resolvconf/interface-order
.
(Oui, je connais beaucoup de gens qui me disent simplement "désinstaller resolvconf", ce qui me semble une mauvaise idée en soi. Mais plus que cela, au moins, rusé et xénial, considérez resolvconf comme une partie vitale du système [c'est-à-dire, ubuntu -minimal en dépend], il serait donc difficile de conserver votre système dans un état cohérent et mis à jour sans resolvconf.)
Sur demande, je peux fournir plus de détails sur la façon dont j'ai compris cela. ( EDIT : apparemment, je ne l’ai pas fait quand cela a été demandé, désolé. À ce stade, je ne me souviens pas de beaucoup plus de détails que ce que j’ai dit ensuite :) En un mot, j’ai remplacé l’exécutable resolvconf par un wrapper de shell qui a vidé ses arguments, entrée, sortie et stderr dans des fichiers; et ajouté set -x aux scripts de mise à jour de resolvconf.
( EDIT : je peux dire que ce que je veux dire par la première partie est que j’ai utilisé sudo pour déplacer le fichier exécutable resolvconf, qui pourrait être trouvé à l’aide de la commande which ou de la commande type. Créez ensuite un script shell qui exécute simplement le fichier déplacé. resolvconf, mais renvoie également les arguments à un fichier et utilise la redirection de shell pour envoyer stdin, stdout et stderr à divers autres fichiers. Je ne me souviens pas où "les scripts de mise à jour de resolvconf" sont et ne peuvent pas être facilement vérifiés. Je pense beaucoup de geeks de Linux peuvent comprendre ce que je veux dire, peut-être qu'un bon samaritain fournira encore plus de détails dans un commentaire.)
nm-tool
, pasnmcli
.