Используются ли поисковые домены из resolv.conf только для запросов A/AAAA?

Используются ли пользовательские поисковые домены из resolv.conf только для запросов A/AAAA?

Они используются для каких-либо других целей?

2 ответа

Увидеть man resolv.conf, Местный domain (и, возможно, другие домены, указанные в search) добавляется к имени хоста в запросе каждый раз, когда это не полное доменное имя.

Зная это, вы можете легко проверить, работает ли он для других типов RR или нет. Вы можете проверить это с любой существующей записью, такой как TXT для селектора DKIM и т. д. Давайте предположим, что у нас есть отпечаток SSH SSHFP запись для someserver.example.com:

nslookup
> set domain=example.com
> set type=SSHFP
> someserver

В этом примере мы на самом деле получили бы ответ для someserver.example.com SSHFP (вместо обработки someserver как полное доменное имя), демонстрируя, как это работает на любом типе RR.

Обратите внимание, что вы можете проверить это только с nslookup который использует resolv.conf в качестве исходного файла конфигурации. Альтернатива dig всегда обрабатывает все запросы как FQDN, т.е.

dig someserver SSHFP

;; QUESTION SECTION:
;someserver.        IN  SSHFP

Прежде всего, это библиотека распознавателя ОС, которая реализует фактическую функциональность поиска, то есть ее использование зависит от того, какие библиотеки ОС (или другие) используются в действительности, и программное обеспечение сервера имен вообще не должно знать об этом.

Т.е. когда приложение ищет имя, вызывая стандарт getaddrinfo, gethostbyname (устарело) и т. д., библиотека распознавателя будет по мере необходимости выполнять отдельный поиск для различных вариантов указанного имени.

Сейчас, getaddrinfo а также gethostbyname (когда они фактически вообще используют DNS, библиотека распознавателя может быть настроена на использование других источников), в частности, ищет записи адресов (A / AAAA), поэтому вопрос сводится к тому, использует ли поиск другой код библиотеки распознавателя или его использование ограничено этими довольно узкими целевыми функциями.

Поскольку существует множество переменных (т. Е. Какие функциональные возможности поиска DNS используются данным приложением?), Короткий ответ на вопрос "зависит".

Кратко рассмотрим другие функции, предоставляемые в библиотеке oldschool libc resolv - приложении, которое использует res_query / res_nquery функции не будут искать, пока приложение, которое использует res_search / res_nsearch будем искать.

Другие вопросы по тегам