Questa è una domanda molto popolare, con una raccolta di possibili risposte standard, tutte IMO, sono piuttosto confuse. Io per primo ho sempre avuto problemi a far sì che Ubuntu rispettasse le impostazioni DNS che ho configurato in NetworkManager - in particolare l'impostazione di server DNS statici con "solo indirizzi automatici (DHCP)" - e oggi ho finalmente capito che cosa era DAVVERO SBAGLIATO.
Il problema è nell'interazione tra resolvconf e NetworkManager. resolvconf ha questo file chiamato /etc/resolvconf/interface-order
. Almeno sui miei sistemi, NetworkManager non si trova affatto in questo file (tranne che è coperto dal jolly * alla fine). Quindi, ciò che accade è che il rapporto più recente di dhclient su resolvconf ha la precedenza su tutto ciò che NetworkManager ha da dire.
Quindi, almeno nel mio caso, la vera risposta era aggiungere
NetworkManager
o vicino alla cima di /etc/resolvconf/interface-order
.
(Sì, so che molte persone dicono semplicemente "disinstallare resolvconf", che mi sembra una cattiva idea in sé e per sé. Ma soprattutto, almeno astutamente e xenial considerano resolvconf una parte vitale del sistema [es. Ubuntu -minimal dipende da esso], quindi sarebbe difficile mantenere il sistema in uno stato coerente e aggiornato senza resolvconf.)
Su richiesta, posso fornire maggiori dettagli su come ho capito. ( EDIT : apparentemente non l'ho fatto quando è stato richiesto, scusa. A questo punto non ricordo molti più dettagli di quello che dico dopo :) In breve, ho sostituito l'eseguibile resolvconf con un involucro della shell attorno ad esso che ha scaricato i suoi argomenti, input, output e stderr in file; e aggiunto set -x agli script di aggiornamento di resolvconf.
( EDIT : posso dire che quello che intendo per la prima parte è che ho usato sudo per spostare il vero eseguibile resolvconf, che poteva essere trovato usando il comando which o il comando type. Quindi creare uno script shell che alla fine esegue solo lo spostamento resolvconf, ma riecheggia anche gli argomenti di alcuni file e utilizza il reindirizzamento della shell per inviare stdin, stdout e stderr a vari altri file. Non ricordo dove si trovano gli "script di aggiornamento di resolvconf" e al momento non riesco a verificarli facilmente. molti fanatici di Linux possono capire cosa intendo; forse un buon samaritano fornirà ulteriori dettagli in un commento.)
nm-tool
, nonmcli
.