Как работают предпочитаемые и альтернативные или несколько DNS-серверов?

Как работают предпочитаемые и альтернативные или несколько DNS-серверов?

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

  • При каких условиях используется следующий DNS-сервер?
  • Будет ли проверяться следующий сервер, если имя не будет разрешено?
  • Могу ли я настроить свой компьютер для запроса нескольких серверов, если имя не распознано?

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

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

Я не уверен, относится ли этот вопрос к конкретной ОС. По-разному ли это обрабатывают разные операционные системы?

Моя цель — добавить 8.8.8.8 к DNS-серверам поверх того, что DHCP выдает скриптом. Я постоянно сталкиваюсь с глупыми проблемами DNS, когда мои машины оказываются с фиктивным/недоступным/просто без DNS-сервера из-за ошибок в конфигурации DHCP, которые я не могу контролировать. Мне это надоело, но мне интересно, не вызовет ли добавление этого отказоустойчивого сервера больше проблем, чем решит.

решение1

Ответ, безусловно, зависит от операционной системы в том смысле, что нет ничегопредотвращениеопределенная операционная система ведет себя по-другому. Нет ничегонеобходимыйо запросах DNS-клиентов на нескольких серверах, которые не позволят реализации операционной системы обрабатывать DNS-запросы иначе, чем я здесь описываю.

Тем не менее, пример того, как Linux ищет DNS-имена, должен быть показательным для того, какбольшинствоЭто делают широко используемые сегодня операционные системы.

Здесь— хороший пост, подробно описывающий поведение, а также способ настроить что-то вроде того, о чем вы просили.

Общая идея заключается в том, что по умолчанию вторичные/третичные DNS-серверы используются последовательно только в том случае, если первичный DNS-сервер истекает или указывает на немаршрутизируемый IP-адрес. Даже если первичный DNS-сервер говорит «этот домен не разрешается», он не будет переходить к следующему серверу имен. Он обрабатываетлюбойдействительный ответ на запрос в качестве причинынетдля перехода к следующему DNS-серверу в списке.

Один из возможных разумных способов настройки так, чтобы локальные адреса разрешались первыми, но при этом все равно использовались Google DNS или OpenDNS вместо DNS-сервера вашего интернет-провайдера, — это настроить маршрутизатор или LAN-бокс (какой бы бокс ни был интернет-шлюзом) на использование 8.8.8.8в качестве основного сервера имен. Конечно, шлюздолженсам по себе должен запускать сервер имен и должен быть настроен на ответ на запросы DNS для локальных имен хостов в частной подсети -- но если он не может разрешиться в локальной подсети, он должен немедленно перейти на Google DNS. Это своего рода лучшее из обоих миров.

Другой способ сделать это — настроить разные серверы имен для разных сетевых интерфейсов. Windows позволяет вам сделать это по умолчанию; статья по ссылке выше описывает способ сделать это путем настройки реализации DNS-сервера BIND9 с помощью директив forwardи forwarders.

Связанный контент