Запуск команды dig
для конкретного домена возвращает предыдущие сведения о сервере имен. Например;
domain.com. 41068 IN NS ns1.nameserver1.com.
Теперь, если я запустил команду dig +nssearch host.example.com
, за которым следует команда `dig domain.com ', я получаю другой результат.
domain.com. 41068 IN NS chad.ns.cloudflare.com.
dig domain.com
несколько раз он возвращает предыдущие сведения о сервере имен. Это почему?РЕДАКТИРОВАТЬ
Детали сервера имен были изменены, однако выполнение команд в одном и том же временном окне дает разные результаты.
Сервер имен, который ваша система использует в качестве преобразователя (/etc/resolv.conf
) должен кэшировать ответы DNS.
Используя +nssearch
switch вы обойдете кэшированные записи с вашего преобразователя (который на жаргоне сервера имен также называется рекурсивным сервером имен) и напрямую запросите авторитетный DNS-сервер (-ы), и вы получите записи, которые не поступают из кеша.
Как сказано в руководстве:
+[no]recurse
Переключите установку бита RD (желаемая рекурсия) в запросе. Этот бит установлен по умолчанию, что означает, что dig обычно отправляет рекурсивные запросы. Рекурсия автоматически отключается при использовании параметров запроса + nssearch или + trace.
+[no]nssearch
Если этот параметр установлен, dig пытается найти авторитетные серверы имен для зоны, содержащей искомое имя, и отобразить запись SOA, которая есть у каждого сервера имен для этой зоны.
Дополнительная сложность может заключаться в том, что ваш преобразователь является не отдельным сервером, а кластером рекурсивных DNS-серверов, каждый из которых имеет разные кэшированные и / или свежие записи.