Из любопытства проверяю DNS-пакеты Wireshark. Я вижу, что есть DNS-запрос от хоста, а затем DNS-ответ от DNS-сервера. Все как и ожидалось.
Однако, если вы дополнительно проверите запрос, вы увидите, что сервер также отправляет NS (полномочный сервер имен). У меня вопрос: почему?
Меня как хозяина волнует только IP. Это суть DNS, чтобы преобразовать имя в IP-адрес.
Зачем мне как организатору нужна информация NS?
Традиционно серверы имен отправляют не короткий ответ на запрос, а RFC 1034-1035 соответствующий полный ответ, который включает раздел полномочий, содержащий записи ресурсов, указывающие на авторитетные серверы имен.
Причина, вероятно, в том, что с учетом распределенного и делегированного характера DNS в то время казалось хорошей идеей включать в ответы «источник истины».
Редактировать: Кстати: отправка раздела полномочий соответствует RFC, но не является обязательной для всех ответов на запросы.
В BIND это поведение можно настроить с помощью minimal-responses yes | no;
директива, где по умолчанию no
а разделы «Полномочия» и «Дополнительные» ответа на запрос всегда будут заполнены полностью.
Другие серверы имен CloudFlare, AWS Route 53, Infoblocks и, возможно, другие уже по умолчанию всегда будут отправлять такие минимальные ответы. Публичные преобразователи Google вернут раздел полномочий, если он доступен, Cloudflare.
я считать происхождение этой традиции включать как авторитетный раздел, так и фактический ответ на запрос находит свой корень в (псевдо) коде из теперь устаревшего RFC882 стр. 15-16
If the name server is not authoritative, the code copies the RRs for a closer name server into the response. The last section of the code copies all relevant RRs into the response.
Сервер не знает, исходит ли запрос от конечного клиента или это рекурсивный запрос от другого сервера имен. Если это другой сервер имен, он может кэшировать раздел полномочий и запрашивать эти серверы имен непосредственно в будущем.
Я считаю, что это было изначальное обоснование протокола, но оно имеет последствия для безопасности. Ответ может включать в себя раздел полномочий, в котором перечислены фиктивные серверы имен, и это использовалось в атаках с отравлением кеша. Таким образом, серверы имен обычно не кэшируют записи NS, если они не являются записями делегирования для поддомена запрашиваемого домена.