Это очень популярный вопрос с набором стандартных возможных ответов, все из которых, IMO, довольно хаки. У меня всегда были проблемы с получением Ubuntu уважения к настройкам DNS, которые я установил в NetworkManager, - в частности, установление статических DNS-серверов только с «Автоматическими (DHCP-адресами)» - и сегодня я наконец понял, что было НАСТОЯТЕЛЬНО НЕПРАВИЛЬНО.
Проблема заключается в взаимодействии между resolvconf и NetworkManager. У файла resolvconf этот файл называется /etc/resolvconf/interface-order
. По крайней мере, в моих системах NetworkManager вообще не находится в этом файле (за исключением того, что в конце он закрыт * wild card). Итак, что происходит, самый последний отчет dhclient для resolvconf имеет приоритет над тем, что должен сказать NetworkManager.
Таким образом, по крайней мере, в моем случае, фактический ответ заключался в том, чтобы добавить
NetworkManager
в верхней части /etc/resolvconf/interface-order
или около нее.
(Да, я знаю, что многие люди просто говорят «удалить resolvconf», что мне кажется плохой идеей. Но более того, по крайней мере, хитрый и xenial считают resolvconf важной частью системы [ т. е. от этого зависит ubuntu-minimum], поэтому было бы сложно поддерживать вашу систему в согласованном, обновленном состоянии без resolvconf.)
По запросу я могу предоставить более подробную информацию о том, как я это понял. В двух словах я заменил исполняемый файл resolvconf оболочкой оболочки вокруг нее, которая сбрасывала свои аргументы, ввод, вывод и stderr в файлы; и добавил set -x в скрипты обновления resolvconf.