Вопрос Что делает общедоступный сервер имен?


Я пытаюсь понять цель публичных DNS-серверов имен (общедоступных как в не SOA, как 8.8.8.8).

Я выполнил dig +trace и, насколько я могу судить, единственный раз, когда используется сервер имен, - это поиск SOA корневого домена ., После этого запрашивается SOA каждого домена в иерархии.

Мои предположения состоят в том, что публичные серверы имен используются для:

  • идентифицируя SOA корневого домена, поэтому они не должны быть жестко закодированы на клиентах.
  • децентрализации процесса и кэширования. Таким образом, если SOA домена падает, другой сервер может направлять клиентов.
  • уменьшая нагрузку на SOA. Если другой сервер знает, что он восстановлен, нет необходимости запрашивать SOA.

У меня 3 вопроса:

  • Правильны ли мои предположения?

  • Если это действительно единственное, что делает сервер имен, если я не нуждаюсь в кешировании и готов самостоятельно выполнить рекурсивный запрос, могу ли я прекратить использование серверов имен?

  • Может ли / SOA отказываться отвечать на запросы от определенного сервера имен, если он выполняет слишком много запросов?

4
2018-05-13 15:08


происхождения


Ваш вопрос трудно понять из-за неправильного использования некоторых технических терминов. Например, я не думаю, что вы правильно используете SOA, особенно в последнем предложении. - bortzmeyer


ответы:


Ваше предположение неверно. +trace опция сообщает dig для запроса SOA-серверов для каждого домена; это не нормальное поведение. Обычный поиск DNS будет использовать ваш настроенный DNS-сервер, такой как публичный рекурсивный DNS-сервер, для всех его поисков.

Вы не можете прекратить использование серверов имен, если только вы не готовы использовать только IP-адреса. Но вы можете запустить свой собственный рекурсивный сервер имен, возможно, на том же компьютере, что и ваше клиентское программное обеспечение, и в этом случае вы можете прекратить использование публичных рекурсивных серверов имен.


7
2018-05-13 16:05



Как общедоступный сервер знает ответ, если это не SOA? - David Bryant
@DavidBryant Публичный сервер получает его из SOA, если он не имеет кэшированного результата. Это то, что делают рекурсивные DNS-серверы. Но ваш клиент ничего не получает от SOA. - Mike Scott
Спасибо за разъяснения. Последний вопрос: я заметил, что когда я отправляю большое количество запросов в секунду публичным серверам имен, я начинаю получать REFUSED/SERVFAIL ответы или просто откровенные неправильные ответы, например NXDOMAIN для существующих доменов. Является ли это результатом того, что публичный сервер запрещает мне, или что SOA запрещает публичный сервер? (учитывая, что общий сервер не кэширует ответы и каждый раз запрашивает SOA) - David Bryant
Скорее всего, это будет публичный сервер, ограничивающий ваш доступ. - Mike Scott
Независимо от того, сколько раз вы запрашиваете DNS-сервер, он никогда не должен отправлять NXDOMAIN для существующих доменов. Если DNS-сервер делает это, то этот DNS-сервер неисправен. - kasperd


В качестве небольшого дополнения к Ответ Майка Скотта...

Основными целями публичных серверов имен (как вы их определили) являются:

  1. Держите людей от необходимости запускать собственные серверы имен.

  2. Помощь (потенциально) ускоряет процесс разрешения доменов.

Некоторые примечания относительно ваших «трех допущений»,

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

  • Публичные серверы имен могут (возможно) помочь с децентрализацией и кэшированием. Аналогичным образом, они потенциально могут обеспечить надежность системы DNS в целом. Но это побочные выгоды.

  • Публичные DNS-серверы могут снизить нагрузку на авторитетный сервер имен, но опять же, это не основная причина обхода этих серверов. Идея заключается в том, что кэшированная информация возвращается быстрее и запрашивает эту информацию с авторитетного сервера имен.


5
2018-05-13 18:19





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


0
2018-05-15 14:26