Це дуже популярне запитання, у якому зібрані стандартні можливі відповіді, і всі вони, IMO, досить хитрі. У мене, наприклад, завжди виникали проблеми з тим, щоб Ubuntu дотримувався налаштувань DNS, встановлених у NetworkManager - зокрема, встановлення статичних DNS-серверів із "Автоматичними (DHCP) адресами" лише ", і сьогодні я нарешті з'ясував, що ПОСТІЙНО НЕГОЛОВНО.
Проблема полягає у взаємодії між reslavconf та NetworkManager. Цей файл називається резолконф /etc/resolvconf/interface-order
. Принаймні, у моїх системах NetworkManager взагалі відсутній у цьому файлі (за винятком того, що в кінці він охоплений символом * wild card). Отже, що відбувається - останній звіт dhclient до resoluvconf має перевагу над тим, що має сказати NetworkManager.
Таким чином, принаймні в моєму випадку, фактичну відповідь було додати
NetworkManager
вгорі або біля вершини /etc/resolvconf/interface-order
.
(Так, я знаю, що багато людей просто кажуть "видалити резольконф", що здається мені поганою ідеєю саме по собі. Але більше того, принаймні хитрі та ксеніальні вважають резолюціюconf життєво важливою частиною системи [тобто ubuntu -мінімум від цього залежить], тому важко буде тримати вашу систему в послідовному, оновленому стані без резольконф.)
За запитом я можу надати більш детальну інформацію про те, як я це зрозумів. ( EDIT : мабуть, я цього не зробив, коли просив, вибачте. На даний момент я не пам'ятаю набагато детальніше, ніж те, що я кажу далі :) Коротше кажучи, я замінив виконуваний файл Reslavvconf оболонкою оболонки навколо нього який скидав свої аргументи, введення, виведення та stderr до файлів; і додав set -x до сценаріїв оновлення rezolconconf.
( EDIT : Я можу сказати, що я маю на увазі під першою частиною те, що я використовував sudo для переміщення фактичного виконуваного файлу Reslavvconf, який можна було знайти за допомогою команди, яка використовується або команда type. Потім створіть скрипт оболонки, який в кінцевому підсумку просто виконує переміщення resoluvconf, але також повторює аргументи до якогось файлу та використовує перенаправлення оболонки для надсилання stdin, stdout та stderr у різні інші файли. Я не пригадую, де знаходяться "сценарії оновлення resvconf" і наразі не можу легко перевірити. багато підлітків Linux можуть зрозуміти, що я маю на увазі; можливо, якийсь хороший самарянин надасть у коментарі ще більше деталей.)
nm-tool
, ніnmcli
.