Назад | Перейти на главную страницу

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

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

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

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

Нет, нет.

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

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

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