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