ИМЯ
resolv.conf - файл
настройки
для
процедур
определения
имён (resolver)
ОПИСАНИЕ
resolver — это
набор
функций из
библиотеки
Си, который
предоставляет
доступ к
системе
доменных
имён
интернет (DNS).
Файл
настройки
определителя
(resolver) содержит
информацию,
которая
читается
функциями
разрешения
имён при
первом их
вызове
процессом.
Файл
разрабатывался
в понятном
человеку
формате, и
содержит
список
ключевых
слов со
значениями,
которые
предоставляют
различного
рода
информацию
для
функций
разрешения
имён. Файл
настройки
считается
надёжным
источником
информации
DNS (например,
информация
об AD-бите DNSSEC
будет
возвращаться
в
неизменном
виде из
этого
источника).
Если этот
файл не
существует,
то будет
опрашиваться
только
служба
имён на
локальной
машине;
доменное
имя
определяется
из имени
узла, а
домен
поиска
создаётся
из имени
домена.
Поддерживаются
следующие
параметры
настройки:
- nameserver
IP-адрес
сервера
имён
- Задает
интернет-адрес
сервера
имён, на
который
надо
переправлять
все
запросы,
или в виде
адреса IPv4 (в
точечном
формате),
или в виде
адреса IPv6 в
формате с
двоеточиями
(и,
возможно,
точками),
определённом
в RFC 2373. Может
быть
указано до
MAXNS (в
настоящее
время 3, см.
<resolv.h>)
серверов
имён,
повторяя
каждый раз
ключевое
слово. Если
указано
несколько
серверов,
функции
разрешения
имён будут
обращаться
к серверам
имен в
порядке
перечисления.
Если в
файле нет
строк nameserver,
то функции
разрешения
имён
используют
сервер
имён на
локальной
машине.
(Функции
разрешения
имён
работают
по
следующему
алгоритму:
попробовать
обратиться
к первому
указанному
серверу
имён. Если
нет ответа
в
отведённое
время,
попробовать
обратиться
к
следующему
серверу, и
т.д. пока не
будет
исчерпан
список
серверов.)
- domain
локальное
доменное
имя
- Для
большинства
запросов
имён с
доменом
можно
использовать
короткие
имена
относительно
локального
домена.
Если
значение
равно '.', то
это
считается
корневым
доменом.
Если
строки domain в
файле
настройки
нет, домен
определяется
из
локального
имени узла,
возвращаемого
gethostname(2);
доменной
частью
считается
всё после
первой
точки '.'.
Наконец,
если имя
узла не
содержит
доменной
части, то
предполагается
корневой
домен.
- search
список
поиска
- Список
поиска
обычно
определяется
по имени
локального
домена; по
умолчанию
он
содержит
только имя
локального
домена. Это
можно
изменить,
перечислив
имена
доменов, в
которых
нужно
вести
поиск, с
ключевым
полем search
через
пробел или
символ
табуляции.
При
разрешении
запросов
имён, в
которых
меньше
точек чем
указано в
ndots (по
умолчанию
1), будет
использован
каждый
компонент
пути
поиска
пока не
будет
найдено
соответствующее
имя.
- Список
поиска
сейчас
может
содержать
не более
шести
доменов и
не может
быть
длиннее 256
символов.
- sortlist
- Вызывает
сортировку
адресов,
возвращаемых
функцией
gethostbyname(3). Список
сортировки
задается в
виде пар
IP-адрес/маска
сети. Маску
сети
указывать
не
обязательно
— по
умолчанию
используется
естественная
маска сети.
IP-адрес и
необязательная
маска сети
разделяются
косой
чертой. В
списке
можно
указывать
до 10 пар.
Пример:
-
sortlist 130.155.160.0/255.255.240.0 130.155.0.0
- options
- С помощью
параметров
изменяются
некоторые
внутренние
переменные
функций
определения
имён.
Синтаксис
- options
параметр
...
где
параметр
может
иметь
следующие
значения:
- debug
- Задаёт RES_DEBUG в
_res.options (только,
если glibc
собрана с
поддержкой
отладки;
смотрите
resolver(3)).
- ndots:n
- Задаёт
минимальное
количество
точек,
которые
должны
обязательно
присутствовать
в имени,
переданном
функции
res_query(3) (см. resolver(3))
прежде чем
будет
выполнен
начальный
абсолютный
запрос. По
умолчанию
n равно 1,
поэтому
если в
имени есть
точки,
сначала
имя
пытаются
разрешить
как
абсолютное,
прежде чем
добавлять
к нему
элементы
из списка
поиска.
Значение
этого
параметра
внутренне
доходит до
15.
- timeout:n
- Задаёт
промежуток
времени,
который
функции
определения
имён будут
ждать
ответа от
удалённого
сервера
имён перед
тем как
повторить
запрос
другому
серверу
имён. Он не
может быть
равным
общему
времени,
затрачиваемым
вызовом
программного
интерфейса
определителя,
и не
гарантируется,
что один
вызов
программного
интерфейса
определителя
соответствует
одному
промежутку.
Измеряется
в секундах,
по
умолчанию
RES_TIMEOUT (в
настоящее
время
равно 5,
смотрите
<resolv.h>).
Значение
этого
параметра
внутренне
доходит до
30.
- attempts:n
- Задаёт
количество
раз,
которое
функции
определения
имён будут
посылать
запрос
серверам
имён перед
тем как
закончить
работу и
вернуть
ошибку
вызывавшему
их
приложению.
По
умолчанию
равно RES_DFLRETRY (в
настоящее
время 2, см.
<resolv.h>).
Значение
этого
параметра
внутренне
доходит до
5.
- rotate
- Задаёт
значение
RES_ROTATE в _res.options, что
приводит к
циклическому
выбору
указанных
серверов
имён. Это
приводит к
распределению
нагрузки
среди
серверов,
чтобы
исключить
использование
каждый раз
только
первого
сервера
всеми
клиентами.
- no-check-names
- Задаёт
значение
RES_NOCHECKNAME в _res.options,
что
приводит к
выключению
в
современном
BIND проверки
в
поступающих
именах
узлов и
почтовых
именах
недопустимых
символов,
таких как
символы
подчёркивания
(_), не-ASCII или
управляющие
символы.
- inet6
- Задаёт
значение
RES_USE_INET6 в _res.options.
Это
приводит к
выполнению
запроса AAAA
раньше
запроса A
внутри
функции
gethostbyname(3), и
отображению
ответов IPv4 в
«туннелированную
форму» IPv6,
если
записи AAAA не
были
обнаружены,
но есть
запись
типа A.
Начиная с glibc
2.25 этот
параметр
считается
устаревшим;
приложения
должны
использовать
getaddrinfo(3), а не
gethostbyname(3).
- ip6-bytestring
(начиная с glibc
2.3.4)
- Задаёт
значение
RES_USE_BSTRING в _res.options.
Это
приводит к
поиску
обратной
записи IPv6 с
помощью
формата
значимых
битов,
описанного
в RFC 2673; если
этот
параметр
не задан
(по
умолчанию),
то
используется
полубайтовый
формат.
Данный
параметр
был удалён
в glibc 2.25, так как
он
полагается
на обратно
несовместимое
расширение
DNS, которое
никогда не
разворачивалось
в
Интернете.
- ip6-dotint/no-ip6-dotint
(glibc 2.3.4 по 2.24)
- Устанавливает/сбрасывает
значение
RES_NOIP6DOTINT в _res.options.
Если
указан
сброс (ip6-dotint),
то
выполняется
поиск
обратной
записи IPv6
(устарел) в
зоне ip6.int;
если
задана
установка
(no-ip6-dotint), то по
умолчанию
выполняется
поиск
обратной
записи IPv6 в
зоне ip6.arpa.
Данные
параметры
доступны в
glibc до версии
2.24, где no-ip6-dotint
используется
по
умолчанию.
Так как
поддержка
ip6-dotint давно
приостановлена
в
Интернете,
то эти
параметры
удалены в glibc
2.25.
- edns0
(начиная с glibc
2.6)
- Задаёт
значение
RES_USE_EDNSO в _res.options.
Включает
поддержку
расширений
DNS,
описанных
в RFC 2671.
- single-request
(начиная с glibc
2.10)
- Задаёт
значение
RES_SNGLKUP в _res.options. По
умолчанию,
glibc начиная с
версии 2.9
выполняет
поиск по IPv4 и
IPv6
параллельно.
Некоторые
приложения
DNS-серверов
не могут
обработать
такие
запросы
должным
образом и
делают
паузу
между
ответами
на запрос.
Этот
параметр
отключает
данное
поведение,
что
заставляет
glibc делать
запросы IPv6 и
IPv4
последовательно
(что
замедляет
процесс
определения
имени).
- single-request-reopen
(начиная с glibc
2.9)
- Задаёт RES_SNGLKUPREOP
в _res.options. Для
разрешения
имён
используется
единый
сокет для
запросов A
а AAAA.
Некоторая
аппаратура
ошибочно
посылает
обратно
только
один ответ.
Когда это
происходит,
клиент
остаётся
ждать
второго
ответа.
Указание
этого
параметра
изменяет
такое
поведение
так, что
если два
запроса с
одного
порта не
обрабатываются
правильно,
то сокет
будет
закрыт и
открыт
новый
перед
посылкой
второго
запроса.
- no-tld-query
(начиная с glibc
2.14)
- Задаёт
значение
RES_NOTLDQUERY в _res.options.
Этот
параметр
указывает
res_nsearch() не
пытаться
определить
неполное
имя как
если бы это
домен
верхнего
уровня.
Данный
параметр
может
привести к
проблемам,
если сайт
указал «localhost»
как TLD, но
содержит localhost
в одном или
более
элементах
списка
поиска.
Данный
параметр
не
действует,
если не
установлен
RES_DEFNAMES или RES_DNSRCH.
- use-vc
(начиная с glibc
2.14)
- Задаёт RES_USEVC в
_res.options. Данный
параметр
включает
принудительное
использование
TCP для
запросов DNS.
- no-reload
(начиная с glibc
2.26)
- Устанавливает
RES_NORELOAD в _res.options.
Этот
параметр
выключает
автоматическую
перезагрузку
изменённого
файла
настройки.
Ключевые
слова domain и
search
являются
взаимоисключающими.
Если они
указаны
более
одного
раза, то
используется
значение
последнего.
Значение
ключевого
слова search в
системном
файле resolv.conf
может быть
изменено
назначением
переменной
окружения
для
определённого
процесса
LOCALDOMAIN списка
доменов,
разделённых
пробелами.
Значение
ключевого
слова options в
системном
файле resolv.conf
может быть
дополнено
назначением
переменной
окружения
для
определённого
процесса
RES_OPTIONS списка
вышеописанных
в options
параметров
настройки
функций
определения
имён.
Ключевое
слово и
значение
должны
быть в
одной
строке, и
кроме того,
ключевое
слово(например,
nameserver), должно
быть в
начале
строки.
Значение
должно
отделяться
от
ключевого
слова
пробельным
символом.
Строки, в
которых в
первой
колонке
содержится
точка с
запятой (;)
или символ
решётки (#),
считаются
комментариями.
ФАЙЛЫ
/etc/resolv.conf, <resolv.h>