У меня есть Windows 7 Pro с любопытной проблемой, касающейся использования DNS-сервера.

Ящику назначен IP-адрес и 2 DNS-сервера от DHCP-сервера на базе Linux в моей локальной сети. Два DNS-сервера - мой локальный DNS-сервер (для частных хостов) и DNS-сервер моего интернет-провайдера для резервирования в случае сбоя внутреннего DNS.

Хотя IPCONFIG на Win7 показывает, что адреса DNS выданы правильно, разрешение не работает, как я ожидаю. При попытке запустить страницу с внутреннего веб-сервера через имя хоста браузеры Win7 (Chrome, IE) говорят, что не могут разрешить адрес. Трассировка netmon показывает, что Windows фактически перенаправляет запрос DNS непосредственно в DNS провайдера , а не на локальный DNS-сервер моей сети. Всегда следует сначала попробовать локальный DNS-сервер. Как ни странно, при использовании nslookup разрешение работает как положено (сначала локально).

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

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

Есть ли в Windows 7 параметр IP/ реестра, который заставил бы его использовать DNS-серверы в порядке, указанном DHCP?

Спасибо заранее.

1 ответ1

1

Базовая настройка

Если я правильно помню, записи DNS рассматриваются как равные. Если окна не могут подключиться к одному из них, будет использоваться другой. Таким образом, ответ "хост не найден" от одного DNS не будет делать окна, чтобы спросить другого. Этот ответ является успешным соединением. На этом этапе поиск DNS останавливается.

В вашей ситуации dns и dhcp ДОЛЖНЫ быть настроены следующим образом:

  1. DHCP назначает только внутренний DNS
  2. Внутренний DNS будет разрешать как внутренние, так и интернет-адреса.

По умолчанию BIND9 должен сначала разрешить базу данных на файлах локальной зоны, а затем запрашивать домен верхнего уровня (если у блока есть доступ к Интернету). Вы можете проверить это из окна Windows, выполнив следующее

nslookup
> server <IP of your internal dns box>
> <internal hostname>
> google.com

Привязка должна быть в состоянии разрешить как внутреннее имя хоста, так и google.com.

Если вы хотите использовать свой провайдер DNS, поместите его в раздел пересылки. Это должно быть в /etc/bind/named.option .

Двойной / Резервный DNS

При предоставлении нескольких серверов DNS, либо вручную, либо через dhcp, клиентский компьютер обрабатывает их одинаково. Здесь нет "первичного" или "вторичного". Это одинаково для Windows и Linux.

Для обеспечения избыточности "простой" способ - настроить 2 внутренних DNS, один из которых может быть ведущим, а другой - подчиненным. Таким образом, только один должен быть обновлен. DHCP предоставит IP этих 2 днс серверов для внутреннего использования.

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

PS: Учитывая все вышесказанное, я предполагаю, что вам нужен поиск DNS для внутренних машин / серверов. Если нет, это может быть намного проще.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .