Як працюють бажані та альтернативні або кілька 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-сервер у списку.

Один з можливих розумних способів налаштувати його таким чином, щоб локальні адреси спочатку вирішувались, але все-таки використовували Google DNS або OpenDNS замість DNS-сервера вашого провайдера, - це налаштувати ваш маршрутизатор або вікно локальної мережі (залежно від того, який вікно є шлюзом Інтернету), щоб використовувати 8.8.8.8його як первинний сервер імен. Звичайно, сам шлюз повинен працювати з сервером імен і повинен бути налаштований так, щоб відповідати на запити DNS щодо локальних імен хостів у приватній підмережі, але якщо він не вдається вирішити локальну підмережу, він повинен негайно перейти на Google DNS. Це свого роду найкраще з обох світів.

Інший спосіб зробити це - налаштувати різні сервери імен для різних мережевих інтерфейсів. Windows дозволяє це робити за замовчуванням; стаття у посиланні, описаному вище, описує спосіб зробити це шляхом налаштування реалізації BNSD9 DNS-сервера з використанням директив forwardі forwarders.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.