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

21

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

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

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

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

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

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

Таннер Фолкнер
источник
1
Этот вопрос связан с: superuser.com/q/558843/146694 Добавление внешнего адреса DNS в сеть, которая требует внутреннего разрешения имен, вызывает много проблем .
Таннер Фолкнер

Ответы:

16

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

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

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

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

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

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

allquixotic
источник