Домен не определен в /etc/resolv.conf

16

Я вижу все больше и больше серверов, у которых нет определенного домена в /etc/resolv.confфайле. Только поисковая запись.
В каких случаях используется эта настройка?
Есть ли случаи, когда его нельзя использовать?

nameserver xxx.xxx.xxx.xxx
nameserver yyy.yyy.yyy.yyy
nameserver zzz.zzz.zzz.zzz

search domain1 domain2 domain3 ...
Эммануэль
источник
2
From man resolv.conf: "domain Локальное доменное имя. Большинство запросов на имена в этом домене могут использовать короткие имена относительно локального домена. Если задано значение". ", Рассматривается корневой домен. Если запись в домене отсутствует, домен определяется из локальное имя хоста, возвращаемое gethostname (2); доменная часть считается всем после первого '.'. Наконец, если имя хоста не содержит доменную часть, подразумевается корневой домен. "
Чайба

Ответы:

21

Когда вы указываете, domainон становится первым searchдоменом. Эта функция поиска является основным способом настройки, domainтак что searchбольшую часть времени вы можете обходиться без определения только записи.

Также domainможно автоматически определить имя хоста компьютера, если имя хоста содержит .суффикс, который станет доменом.

Основным отличием от наличия resolv.confбез является domainлокальные процессы, пытающиеся определить полное доменное имя (FQDN). SMTP-серверы изначально приходят на ум как нечто, что нравится знать локальное полное доменное имя и может использовать конфигурацию локального хоста / домена для его решения. С течением времени на локальное имя хоста и домен все меньше и меньше полагаются, поскольку для реального сервиса, который машина фактически представляет, становится бессмысленным из-за таких вещей, как NAT, виртуальный хостинг и балансировка нагрузки. Это означает, что большинство программного обеспечения теперь предоставляет альтернативные параметры конфигурации для доменных имен, вместо того, чтобы пытаться определить их только по имени локального хоста.

man resolv.conf

домен Локальное доменное имя.
Большинство запросов для имен в этом домене могут использовать короткие имена относительно локального домена. Если запись о домене отсутствует, домен определяется по локальному имени хоста, возвращенному gethostname (2); часть домена считается всем после первого символа «.». Наконец, если имя хоста не содержит часть домена, предполагается корневой домен.

поиск Список поиска для поиска имени хоста.
Список поиска обычно определяется по имени локального домена; по умолчанию он содержит только имя локального домена. Это можно изменить, перечислив желаемый путь поиска домена после ключевого слова поиска с пробелами или вкладками, разделяющими имена. Запросы резольвера, содержащие в себе меньше точек ndots (по умолчанию 1), будут пытаться использовать каждый компонент пути поиска по очереди, пока не будет найдено совпадение. Для сред с несколькими поддоменами, пожалуйста, прочитайте опции ndots: n ниже, чтобы избежать атак «человек посередине» и ненужного трафика для root-dns-серверов. Обратите внимание, что этот процесс может быть медленным и генерировать большой сетевой трафик, если серверы для перечисленных доменов не являются локальными, и эти запросы будут задерживаться, если сервер не доступен для одного из доменов.

Matt
источник
Просто возникла проблема с агентом мониторинга, который не смог определить полное доменное имя.
Эммануэль