В чем разница между следующими двумя записями?
dns-search
в /etc/network/interfaces
search
в /etc/resolv.conf
Если они служат одной и той же цели, какую из них рекомендуется использовать и как ее отредактировать?
Существует ли сценарий, когда один может скрывать другого?
Различные dns-*
записи в /etc/network/interfaces
используются для создания соответствующих записей в /etc/resolv.conf
(конечно, в зависимости от того, что на самом деле создает /etc/resolv.conf
). Из вики Debian :
Если установлена программа
resolvconf
, вам не следует редактировать файл конфигурацииresolv.conf
вручную, так как он будет динамически изменяться программами в система. Если вам нужно вручную определитьnameservers
(как со статическим интерфейсом), добавьте строку в файл конфигурации интерфейсов в/etc/network/interfaces
, например, как показано ниже:dns-nameservers 12.34.56.78 12.34.56.79
Поместите строку с отступом в
iface
раздел, например, сразу после линии шлюза. Введите IP-адресаnameservers
, которые вы должны использовать послеdns-nameservers
. Поместите их все в одну строку, разделенную пробелами. Не забывайте "s" в концеdns-nameservers
.
И Руководство по серверу Ubuntu LTS :
resolvconf
использует клиентские перехватчики DHCP и/etc/network/interfaces
для создания списка серверов имен и доменов для размещения в/etc/resolv.conf
, который теперь является символической ссылкой:/etc/resolv.conf -> ../run/resolvconf/resolv.conf
Чтобы настроить распознаватель, добавьте IP-адреса серверов имен, которые подходят для вашей сети, в файл
/etc/network/interfaces
. Вы также можете добавить дополнительные списки поиска DNS-суффиксов, соответствующие именам сетевых доменов. Для каждого другого допустимого параметра конфигурацииresolv.conf
вы можете включить в раздел одну строку, начинающуюся с этого имени параметра с префиксомdns-
.
Таким образом, resolvconf
использует эти dns-*
записи, а также конфигурацию из /etc/resolvconf/resolv.conf.d/*
для создания /etc/resolv.conf
.