Dig + trace не отображает всю цепочку делегирования

Когда я, например, отслеживаю поиск DNS на google.com, dig отображает только запрос к корневому серверу, а затем переходит прямо на серверы домена 2-го уровня, пропуская домен верхнего уровня. Другими словами, он идет с a.root-servers.net на ns1.google.com. Как вы можете видеть на этой картинке А как насчет сервера TLD [a-h] .gtld-servers.net, который должен был быть между ними? Почему это не отображается в результатах? То же самое происходит и с другими именами хостов. Например, gaia.cs.umass.edu. Изображение Он переходит с корневого сервера на ns [1-3] .umass.edu. Где находятся все серверы TLD .edu, такие как a.edu-servers.net?

0
задан 4 December 2020 в 20:59
1 ответ

Эти результаты заставляют меня задуматься о том, происходит ли что-то странное в вашей сети, а не подозревать, что dig делает что-то странное.

Используете ли вы какую-либо форму прозрачного «проксирования»? Т.е. действительно ли запрос к 199.7.91.13 (одному из корневых серверов, как видно из одного из ваших примеров) действительно отправляется на этот адрес или перенаправляется куда-то еще (возможно, на какой-то локальный рекурсор)?

Одной из гипотез может быть то, что весь DNS-трафик отправляется рекурсору, что будет отображаться в полном выводе (вы не получите авторитетных ответов... т. е. нет флага aa).

Чтобы продолжить идею трассировки, вы можете запустить, например:

dig +trace +all example.com

Это будет иметь полный вывод для каждого шага. Посмотрите на детали ответов, действительно ли ответ от корневого сервера (согласно СЕРВЕР: ... внизу каждого ответа) является авторитетным ответом?


Подобные запросы также могут помочь разоблачить, если происходит что-то странное. Сравните с тем, что отвечает настоящий `199.7.91.13` (обратите внимание, что это не один сервер, поэтому ответы не обязательно совпадают, но это дает вам хорошее представление о том, чего ожидать), как видно из заведомо хорошего интернет-соединения:
dig @199.7.91.13 version.bind CH TXT +norec

(Может ответить строкой программного обеспечения + версии)

dig @199.7.91.13 hostname.bind CH TXT +norec

(Может ответить именем хоста)

dig @199.7.91.13 id.server CH TXT +norec

(Может ответить идентификатором сервера)

0
ответ дан 4 December 2020 в 18:04

Теги

Похожие вопросы