Как проверить, какой DNS-сервер действительно ответил на запрос при его перенаправлении?

ISC BIND имеет инструмент с именем dig , который позволяет нам отправлять DNS-запрос на DNS-сервер, установленный в параметре, и видеть что тот сервер отвечает.

Я хотел знать, ответил ли этот DNS-сервер на основе своего кеша, своих зон или перенаправил ли он запрос. И, если он был перенаправлен, куда он был перенаправлен.

Есть ли способ получить эту информацию?

0
задан 5 September 2019 в 23:06
1 ответ

Нет, нет.

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

Но почему не нужно иметь эту информацию?

Единственное средство - запустить свой собственный рекурсивный nameserver и пусть он выполняет итеративные запросы к авторитетным серверам имен. Затем вы можете управлять его кешем по своему вкусу. Вы уже упоминали dnsmasq в своих тегах, поэтому знаете, в каком направлении двигаться.

1
ответ дан 4 December 2019 в 15:37

Теги

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