Устранение неполадок с DNS-серверами

Попробуйте наш виртуальный агент . Это поможет вам быстро определить и устранить распространенные проблемы с DNS.

В этой статье описывается устранение неполадок на DNS-серверах.

Проверка конфигурации IP-адресов

  1. Запустите ipconfig /all в командной строке и проверьте IP-адрес, маску подсети и шлюз по умолчанию.

  2. Проверьте, является ли DNS-сервер доверенным для имени, которое ищется. Если да, ознакомьтесь с проверкой проблем с авторитетными данными.

  3. Выполните следующую команду:

    nslookup <name> <IP address of the DNS server>
    

    Например:

    nslookup app1 10.0.0.1
    

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

  4. Очистка кэша сопоставителя. Для этого выполните следующую команду в окне административной командной строки:

    dnscmd /clearcache
    

    Или в окне администрирования PowerShell выполните следующий командлет:

    Clear-DnsServerCache
    
  5. Повторите шаг 3.

Проверка проблем с DNS-сервером

Журнал событий

Проверьте следующие журналы, чтобы узнать, есть ли какие-либо записанные ошибки:

  • Приложение

  • Системные

  • DNS-сервер

Тестирование с помощью запроса nslookup

Выполните следующую команду и проверка, доступен ли DNS-сервер с клиентских компьютеров.

nslookup <client name> <server IP address>
  • Если сопоставитель возвращает IP-адрес клиента, сервер не имеет проблем.

  • Если сопоставитель возвращает ответ "Сбой сервера" или "Отказ в запросе", зона, вероятно, приостановлена или возможно, сервер перегружен. Вы можете узнать, приостановлена ли зона, проверив вкладку "Общие" свойств зоны в консоли DNS.

Если сопоставитель возвращает ответ "Время ожидания запроса на сервер" или "Нет ответа от сервера", служба DNS, вероятно, не выполняется. Попробуйте перезапустить службу DNS-сервера, введя следующую команду в командной строке на сервере:

net start DNS

Если проблема возникает при запуске службы, сервер может не прослушивать IP-адрес, используемый в запросе nslookup. На вкладке "Интерфейсы" страницы свойств сервера в консоли DNS администраторы могут ограничить DNS-сервер прослушивать только выбранные адреса. Если DNS-сервер настроен, чтобы ограничить службу определенным списком настроенных IP-адресов, возможно, IP-адрес, используемый для связи с DNS-сервером, отсутствует в списке. Вы можете попробовать другой IP-адрес в списке или добавить IP-адрес в список.

В редких случаях DNS-сервер может иметь расширенную конфигурацию безопасности или брандмауэра. Если сервер находится в другой сети, доступной только через промежуточный узел (например, маршрутизатор фильтрации пакетов или прокси-сервер), DNS-сервер может использовать нестандартный порт для прослушивания и получения клиентских запросов. По умолчанию nslookup отправляет запросы на DNS-серверы на порте UDP 53. Таким образом, если DNS-сервер использует любой другой порт, запросы nslookup завершаются ошибкой. Если вы считаете, что это может быть проблема, проверка, используется ли промежуточный фильтр намеренно для блокировки трафика на известных DNS-портах. Если это не так, попробуйте изменить фильтры пакетов или правила портов в брандмауэре, чтобы разрешить трафик через UDP/TCP-порт 53.

Проверка проблем с достоверными данными

Проверьте, является ли сервер, возвращающий неправильный ответ, основным сервером зоны (стандартным первичным сервером для зоны или сервера, использующего интеграцию Active Directory для загрузки зоны) или сервером, на котором размещена вторичная копия зоны.

Если сервер является основным сервером

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

Если сервер размещает вторичную копию зоны

  1. Проверьте зону на основном сервере (сервер, с которого этот сервер извлекает передачу зоны).

    Примечание.

    Вы можете определить, какой сервер является основным сервером, проверив свойства вторичной зоны в консоли DNS.

    Если имя не правильно на основном сервере, перейдите к шагу 4.

  2. Если имя правильно на сервере-источнике, проверка ли серийный номер на основном сервере меньше или равен серийному номеру на вторичном сервере. Если это так, измените основной сервер или сервер-получатель, чтобы серийный номер на сервере-источнике был больше серийного номера на сервере-получателе.

  3. На сервере-получателе принудительное перемещение зоны из консоли DNS или выполните следующую команду:

    dnscmd /zonerefresh <zone name>
    

    Например, если зона corp.contoso.com, введите: dnscmd /zonerefresh corp.contoso.com

  4. Проверьте дополнительный сервер еще раз, чтобы узнать, правильно ли передана зона. Если нет, у вас, вероятно, возникла проблема с передачей зоны. Дополнительные сведения см. в разделе "Проблемы с передачей зоны".

  5. Если зона была передана правильно, проверка правильность данных. В противном случае данные неверны в основной зоне. Проблема может быть вызвана ошибкой пользователя при вводе данных в зону. Или это может быть вызвано проблемой, которая влияет на реплика Active Directory или динамическое обновление.

Проверка проблем рекурсии

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

  • Время ожидания запроса истекает до того, как запрос будет выполнен.

  • Сервер, используемый во время запроса, не отвечает.

  • Сервер, используемый во время запроса, предоставляет неверные данные.

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

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

Если сервер работоспособен и может пересылать запросы, повторите этот шаг и проверьте сервер, на который этот сервер перенаправит запросы.

Если этот сервер не перенаправит запросы на другой сервер, проверьте, может ли этот сервер запрашивать корневой сервер. Для этого выполните следующую команду:

nslookup
server <IP address of server being examined>
set q=NS
  • Если сопоставитель возвращает IP-адрес корневого сервера, возможно, у вас есть сломанное делегирование между корневым сервером и именем или IP-адресом, который вы пытаетесь разрешить. Выполните проверку процедуры сломанной делегирования, чтобы определить, где у вас неработает делегирование.

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

Проверка неработаемого делегирования

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

  1. В командной строке на сервере, который вы тестируете, введите следующее:

    nslookup
    server <server IP address>
    set norecursion
    set querytype= <resource record type>
    <FQDN>
    

    Примечание.

    Тип записи ресурсов — это тип записи ресурсов, которую вы запрашивали в исходном запросе, а полное доменное имя — полное доменное имя, для которого вы запрашивали (завершались на период).

  2. Если ответ содержит список записей ресурсов NS и A для делегированных серверов, повторите шаг 1 для каждого сервера и используйте IP-адрес из записей ресурсов "A" в качестве IP-адреса сервера.

    • Если ответ не содержит запись ресурса NS, у вас неработает делегирование.

    • Если ответ содержит записи ресурсов NS, но нет записей ресурсов "A", введите рекурсию и запрос по отдельности для записей ресурсов "A", перечисленных в записях NS. Если у вас нет хотя бы одного допустимого IP-адреса записи ресурса "A" для каждой записи ресурсов NS в зоне, у вас неработает делегирование.

  3. Если вы определите, что у вас сломанное делегирование, исправьте его, добавив или обновив запись ресурса "A" в родительской зоне, используя допустимый IP-адрес для правильного DNS-сервера для делегированной зоны.

Просмотр текущих корневых подсказок

  1. Запустите консоль DNS.

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

  3. Щелкните правой кнопкой мыши сервер и выберите пункт "Свойства".

  4. Щелкните корневые подсказки.

Проверьте базовое подключение к корневым серверам.

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

  • Если корневые серверы не отвечают на связь по IP-адресу, ip-адреса для корневых серверов могут измениться. Однако это редко, чтобы увидеть перенастройку корневых серверов.

Проблемы с передачей зоны

Выполните следующие проверка:

  • Проверьте Просмотр событий для основного и дополнительного DNS-сервера.

  • Проверьте первичный сервер, чтобы узнать, отказывается ли он отправлять передачу для обеспечения безопасности.

  • Перейдите на вкладку "Передача зоны" свойств зоны в консоли DNS. Если сервер ограничивает передачу зоны в список серверов, например перечисленных на вкладке "Серверы имен" свойств зоны, убедитесь, что сервер-получатель находится в этом списке. Убедитесь, что сервер настроен для отправки передачи зоны.

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

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

    • Основной сервер Windows может быть настроен для отправки быстрых передач зоны, но сторонний сервер-получатель может не поддерживать передачу быстрой зоны. Если это так, отключите быструю передачу между зонами на основном сервере в консоли DNS, выбрав поле "Включить привязку вторичных файлов" проверка на вкладке "Дополнительно" свойств сервера.

    • Если зона подстановки вперед на сервере Windows содержит тип записи (например, запись SRV), которую дополнительный сервер не поддерживает, вторичный сервер может столкнуться с проблемами с извлечением зоны.

Проверьте, работает ли основной сервер другой реализации DNS-сервера, например BIND. В таком случае возможно, что зона на основном сервере содержит несовместимые записи ресурсов, которые Windows не распознает.

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