Может кто-нибудь объяснить вкратце, что означает «рекурсивный DNS-запрос» и как его можно считать плохим ?
Может кто-нибудь объяснить вкратце, что означает «рекурсивный DNS-запрос» и как его можно считать плохим ?
Ответы:
TL; DR : рекурсивные запросы являются частью работы Интернета и DNS, но не все DNS-серверы должны получать рекурсивные запросы, и когда те, которые не отвечают, отвечают, у вас могут возникнуть проблемы.
Более длинная версия:
Рекурсия, см .: Смотрите в разделе Рекурсия.
Рекурсивный запрос DNS происходит, когда DNS-сервер, который вы запросили адрес, скажем, unix.stackexchange.com, не знает сам ответ, поэтому он должен проверить с другим сервером.
Обычно так работает DNS - DNS-сервер вашего интернет-провайдера не имеет постоянных запоминаний доменных записей в Интернете по очевидным причинам, поэтому следующий обмен происходит под капотом:
Вы: Эй, браузер, покажи мне http://unix.stackexchange.com
Браузер: Конечно! ... Хм. Я на самом деле не знаю, что это за IP-адрес.
Эй, ОС, ты можешь сказать мне, где найти unix.stackexchange.com?
ОС: Конечно ...
Хм. Это не в моем собственном файле hosts. Дай мне просто проверить конфигурацию моего резольвера ...
Эй, DNS-сервер провайдера, подскажите, где найти unix.stackexchange.com?
DNS-сервер интернет-провайдера: Конечно!
... хммм Этого нет в моем списке авторитетных доменов, и сейчас у меня нет этого ответа в кеше.
Эй, корневые серверы Интернета, можете ли вы сказать мне, кто является уполномоченным для stackexchange.com?
Корневые серверы Интернета: Конечно! Согласно нашим записям, вы хотите ns1.serverfault.com, ns2.serverfault.com или ns3.serverfault.com.
DNS-сервер интернет-провайдера: Спасибо, интернет-серверы!
Привет, ns2.serverfault.com, вы можете сказать мне, где найти unix.stackexchange.com?
ns2.serverfault.com : Конечно! Это адрес 64.34.119.12
DNS-сервер провайдера : Отлично, спасибо!
OS, номер, который вы ищете, 64.34.119.12.
ОПЕРАЦИОННЫЕ СИСТЕМЫ: Отлично, спасибо!
Браузер, вам нужен адрес 64.34.119.12
Браузер: Отлично, спасибо!
Ладно, сейчас захожу на страницу.
Вы: Yay, спасибо Браузер!
Теперь имейте в виду, что на самом деле здесь запрашиваются два типа серверов имен - авторитетные DNS-серверы (так называемые «корневые» серверы, которые сообщают DNS-серверу вашего провайдера, где найти DNS-сервер SE.com, и авторитетный DNS-сервер SE.com). ) и повторение или пересылка DNS-серверов (DNS-сервер вашего провайдера).
Обычно прежний тип не должен отвечать на рекурсивные запросы, особенно не из-за пределов собственного домена. Небольшие интернет-провайдеры иногда экономят на расходах, так как их основной полномочный сервер имен является тем же сервером, что и их основной перенаправляющий сервер имен, но это несколько небезопасная политика, особенно если вы не настраиваете сервер на отказ от рекурсивных запросов из-за пределов вашего собственного диапазона IP-адресов.
Дальнейшее чтение здесь, в Википедии .
.com
серверам, а оттуда рекурсивный сервер провайдера будет указывать на сервер SE.com.
Если имеется 2 DNS-сервера, DNS-A является полномочием для домена-a, а DNS-B является полномочием для домена-b, и кто-то отправляет DNS-запрос DNS-A для поиска домена-b. DNS-A будет затем рекурсивно отправлять запрос в DNS-B для поиска домена b. По сути, рекурсивный запрос - это когда DNS-сервер от имени клиента, отправившего запрос, преследует след DNS, чтобы выполнить запрос.
Это хорошо, если вы размещаете DNS-сервер в сети, например, в офисе, и все машины в этом офисе будут использовать DNS-сервер для всех поисков. Это плохо, если вы разрешаете кому-либо делать рекурсивные запросы DNS. Это также плохо, если вы размещаете DNS-сервер, который должен выполнять запросы только для определенного домена. Если кто-то запрашивает поиск другого домена, DNS-сервер должен возвращать ошибку, а не делать рекурсию.