Essa é uma pergunta muito popular, com uma coleção de respostas possíveis padrão, todas as quais, na IMO, são bastante hacky. Eu sempre tive problemas em fazer com que o Ubuntu respeitasse as configurações de DNS que eu configurei no NetworkManager - em particular configurando servidores DNS estáticos com "somente endereços automáticos (DHCP)" - e hoje finalmente descobri o que realmente estava errado.
O problema está na interação entre resolvconf e NetworkManager. resolvconf tem esse arquivo chamado /etc/resolvconf/interface-order
. Pelo menos nos meus sistemas, o NetworkManager não está neste arquivo (exceto que está coberto pelo * curinga no final). Então o que acontece é que o relatório mais recente do dhclient para resolverconf tem precedência sobre qualquer coisa que o NetworkManager tenha a dizer.
Assim, pelo menos no meu caso, a resposta real era adicionar
NetworkManager
no topo ou perto dele /etc/resolvconf/interface-order
.
(Sim, eu sei que muitas pessoas dizem apenas "desinstalar o resolvconf", o que me parece uma péssima idéia. Mas mais do que isso, pelo menos astuciosamente e xenial consideram o resolvconf uma parte vital do sistema [ie, ubuntu -minimal depende dele], portanto, seria difícil manter seu sistema em um estado consistente e atualizado sem o resolvconf.)
Mediante solicitação, posso fornecer mais detalhes sobre como eu descobri isso. ( EDIT : aparentemente, eu não o fiz quando solicitado, desculpe. Neste ponto, não me lembro de muito mais detalhes do que o que digo a seguir :) Em poucas palavras, substituí o executável resolvconf por um invólucro de shell em torno dele que despejou seus argumentos, entrada, saída e stderr em arquivos; e adicionou set -x aos scripts de atualização do resolvconf.
( EDIT : Eu posso . Dizer que o que eu quero dizer com a primeira parte é que eu usei sudo para mover o executável resolvconf real, que poderia ser encontrado usando o qual comando ou o comando tipo Em seguida, criar um shell script que, em última instância apenas executa o movido resolvconf, mas também ecoa os argumentos para algum arquivo e usa o redirecionamento de shell para enviar stdin, stdout e stderr para vários outros arquivos.Não me lembro onde estão os "scripts de atualização do resolvconf" e não posso verificar facilmente no momento. muitos geeks do Linux podem entender o que quero dizer; talvez um bom samaritano forneça ainda mais detalhes em um comentário.)
nm-tool
, nãonmcli
.