/etc/resolv.conf
Конфигурационный файл
преобразователя
Имя
/etc/resolv.conf
Описание:
Библиотечные
подпрограммы преобразователя обеспечивают доступ к системе
доменных имен (DNS) сети Интернет. При первом вызове этих
подпрограмм процессом они считывают информацию из
конфигурационного файла преобразователя. Этот файл содержит
список ключевых слов с пользовательскими значениями, которые
представляют собой различные типы информации преобразователя.
Этот файл является
необязательным. Если он отсутствует:
-
библиотечные подпрограммы
преобразователя осуществляют поиск по файлу /etc/hosts только с целью
преобразования имени хоста;
-
на основе имени хоста определяется
доменное имя;
-
на основе доменного имени создается путь
поиска.
Перезапись /etc/resolv.conf
Для перезаписи данных, содержащихся в файле /etc/resolv.conf, можно использовать следующие
конфигурационные строки confstr():
_CS_DOMAIN
Доменное имя без ключевых
слов. Пример:
my.domain
_CS_RESOLVE
Содержимое файла resolv.conf, за исключением случаев, когда
конфигурационная строка:
-
не содержит доменное имя,
-
не может содержать пробелы (ключевые
слова разделяются символами подчеркивания).
Пример:
nameserver_209.226.137.53
Утилита netmanager изменяет конфигурационную строку
_CS_RESOLVE.
Библиотека сокетов использует
следующий порядок поиска данных преобразователя:
-
конфигурационные строки confstr();
-
resolv.conf.имя_хоста;
-
resolv.conf.
Дополнительно
установить конфигурационные строки можно с помощью таких утилит,
как dhcp.client и pppd.
Ключевые
слова
Каждое ключевое слово и
связанное с ним значение должны находиться на одной строке. Эта
строка должна начинаться с ключевого слова (например, nameserver), за которым следует
пробельный символ и значение.
Ключевые слова domain и search являются взаимоисключающими.
Если присутствует несколько вхождений этих ключевых слов, то
последнее вхождение переопределяет любые другие.
nameserver
IP-адрес (в "нотации с
точками") сервера имен, который должен запросить
преобразователь. Сервера имен можно указать в количестве, равном
MAXNS (в настоящее время 3), по одному на каждое ключевое слово.
При наличии нескольких записей серверов библиотека
преобразователя запрашивает их в порядке следования. Если записи
серверов отсутствуют, по умолчанию используется сервер имен на
локальном компьютере. (Применяется следующий алгоритм:
выполняется попытка запроса сервера имен, и в случае таймаута
запроса опрашивается следующий сервер и т.д. до завершения
перебора всех серверов имен, после чего перебор начинается
сначала и продолжается до достижения максимального количества
повторных попыток.)
domain
Локальный домен. В
большинстве запросов имен в пределах данного домена могут
использоваться краткие имена, связанные с этим локальным
доменом. Если записи доменов отсутствуют, то домен определяется
на основе имени локального хоста, возвращаемого функцией gethostname();
домену соответствует вся часть имени до первой точки. Если имя
хоста не содержит доменной части, то предполагается
принадлежность к корневому домену.
search
Список поиска, используемый
для поиска имен хостов. Как правило, список поиска определяется
на основе имени локального домена. По умолчанию он начинается с
имени локального домена, затем последовательно перечисляются
вышестоящие домены, имя каждого из которых состоит по меньшей
мере из двух частей.
Список по умолчанию можно
переопределить путем ввода пути поиска требуемого домена и
ключевого слова search с именами. Большинство запросов преобразователя
выполняется с использованием каждого компонента пути поиска по
очереди до обнаружения соответствия.
Примечание. Этот
процесс может быть медленным и способен создавать большой
сетевой трафик, если серверы перечисленных доменов не являются
локальными. Если для одного из доменов недоступен ни один
сервер, возникает таймаут запроса.
Длина списка поиска в
настоящее время ограничена шестью доменами, и, в общей
сложности, 256 символами.
nocache
По умолчанию анализ данных
resolv.conf выполняется только при запуске
приложения. Повторная проверка этого файла не выполняется. Если
указана опция "nocache on", то синтаксический анализ данных resolv.conf будет выполняться для каждой
операции поиска. Если кэш необходимо отключить на некоторое
время, рекомендуется вызвать res_init() непосредственно или отключить флаг _res.options RES_INIT.