Поделиться через


Устранение неполадок с разрешением DNS-имен, связанных с DNS-серверами пересылки

У вас есть серверы пересылки, условные перенаправления или корневые подсказки, настроенные для поиска имен для внешних имен. Однако не удается разрешить внешние имена из клиентов с помощью nslookup или Resolve-DnsName. В этой статье описывается, как устранять сбои разрешения имен, связанных с dns-сервером.

Анализ симптомов

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

  2. Проверьте, сталкиваются ли все клиенты с проблемой или только конкретными.
    Таким образом, можно изолировать проблему, связанную с DNS-сервером пересылки.

  3. Проверьте DNS-сервер.

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

    Снимок экрана: пример работы dns-пересылки.

Блок-схема устранения неполадок

Визуальная схема блок-схемы устранения неполадок.

Действия по устранению неполадок

Шаг 1. Проверка сетевого подключения между клиентом и DNS-сервером

  1. Проверьте конфигурацию DNS. Запустите ipconfig /all на клиенте и убедитесь, что настроен правильный IP-адрес DNS-сервера. Если это неправильно, настройте его с помощью следующей команды:

    Set-DnsClientServerAddress -InterfaceAlias "Interface-Name" -ServerAddresses ("IP1")
    
  2. Проверьте связь с портом UDP 53. Убедитесь, что порт UDP 53 между клиентом и DNS-сервером разрешен.

  3. Выполните проверку связи от клиента к DNS-серверу и наоборот, чтобы обеспечить базовое сетевое подключение.

Шаг 2. Проверка конфигурации DNS-сервера

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

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

    Get-DnsServerZone -Name <domainname>
    
  2. Если условный сервер пересылки не найден, проверьте, настроены ли общие серверы пересылки:

    Get-DnsServerForwarder
    

    Убедитесь, что useroothints имеет значение TRUE.

  3. Если серверы пересылки не настроены, проверьте наличие корневых подсказок:

    Get-DnsServerRootHint
    

Если ни одна из них не настроена, разрешение имен, как ожидается, завершится ошибкой. Необходимо продолжить создание условного сервера пересылки, если это внутренний домен или средство пересылки, если это внешние домены (предпочтительно).

Примечание.

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

Шаг 3. Проверка состояния службы DNS и подключения

  1. Убедитесь, что служба DNS-сервера выполняется как на DNS-серверах пересылки, так и на серверах DNS пересылки:

    Get-Service -Name DNS
    

    Запустите службу, если она не запущена:

    Start-Service -Name DNS
    
  2. Убедитесь, что порт UDP 53 между сервером пересылки DNS и серверами пересылки разрешен.

Шаг 4. Сбор записей сети для отслеживания пакетов DNS

Прежде чем принимать запись сети на клиентском компьютере, всегда рекомендуется очистить кэш на стороне КЛИЕНТА DNS:

ipconfig /flushdns

Затем соберите запись сети, выполнив следующие действия:

  1. Запустите средство отслеживания сети (например, Wireshark) на клиенте, DNS-сервере и сервере пересылки.
  2. Выполните на nslookup <name> клиенте воспроизведение сбоя.
  3. Остановите запись и просмотрите трассировки. Отфильтруйте порт UDP 53, чтобы просмотреть соответствующий ТРАФИК DNS.

Анализ сценариев.

В следующих разделах перечислены несколько сценариев, которые могут возникнуть. Эти сценарии включают конфигурацию условного пересылки, но действия по устранению неполадок одинаковы, если вы используете стандартный сервер пересылки.

Сценарий 1. Задержка сети или время ожидания

DNS-сервер имен 192.168.10.10 перенаправит запрос на первый сервер пересылки 192.168.5.5. Из-за проблем с задержкой сети или промежуточной сетью ответ не достигает DNS-сервера в течение периода ForwarderTimeout . Поэтому DNS-сервер перенаправит запрос на следующий сервер пересылки, настроенный из него, который равен 192.168.5.6. Опять же, из-за задержки или промежуточных сетевых проблем ответ не достигает DNS-сервера. Так как DNS-сервер не может получить ответ для запроса nodeA.contoso.com, он отправляет клиенту ответ "Сбой сервера".

Снимок экрана: сетевой поток, когда задержка сети или время ожидания происходит с DNS-сервером пересылки.

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

Для этого см. раздел NET: DNS: пересылка и время ожидания разрешения условных пересылки.

Сценарий 2. Запрос, отклоненный сервером пересылки

DNS-сервер имен 192.168.10.10 перенаправит запрос на условный сервер пересылки 192.168.5.5. На этом сервере, если настроена любая политика, настроенная на отказ или запрет запросов для определенной записи или зоны, условный сервер пересылки отвечает на dns-сервер пересылки с ответом "Отказано". Теперь DNS-сервер в свою очередь перенаправит эту ошибку клиенту в качестве сбоя сервера. DNS-сервер не свяжется со вторым условным пересылкой, так как мы уже получили ответ от первого (даже если это ответ на ошибку)

Разрешение. Если сервер пересылки является DNS-сервером Microsoft Windows, проверьте наличие политик разрешения DNS-запросов, настроенных на условном переадресаторе, чтобы запретить запросы для зоны fab.com или определенных записей, таких как NodeA.fab.com. Список настроенных политик можно получить с помощью команды get-dnsserverqueryresolutionpolicy. Для этого см. статью Get-DnsServerQueryResolutionPolicy.

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

Если это сторонний DNS-сервер, обратитесь к соответствующему поставщику.

Сценарий 3. Отсутствующие записи на сервере пересылки

DNS-сервер имен 192.168.10.10 перенаправит запрос на первый условный сервер пересылки 192.168.5.5. В условном переадресаторе нет записи узла A для имени NodeA в зоне fab.com . В этом случае условный сервер пересылки реагирует на DNS-сервер с ответом "Ошибка имени". Затем DNS-сервер перенаправит тот же ответ клиенту. DNS-сервер не свяжется со вторым условным сервером пересылки здесь, так как мы уже получили ответ от первого. Как правило, если этот сценарий возникает, вы увидите симптом, что разрешение завершается ошибкой для определенных fab.com имен, а не обязательно всех имен домена.

Снимок экрана: сетевой поток, когда отсутствуют записи на сервере пересылки.

Разрешение. Регистрация отсутствующих записей на сервере пересылки для зоны, которая в этом вопросе выполняется статическим или динамическим образом.

Сбор данных

Если вам нужна помощь от поддержки Майкрософт, рекомендуется собирать сведения о проблеме перед обращением в службу поддержки Майкрософт.

  1. Выполните действия, описанные в статье "Введение в набор инструментов TSSotingScript" (TSS), чтобы скачать и собрать журналы с помощью средства TSS.
  2. Выполните следующую команду, чтобы включить коллекцию журналов на затронутом компьютере:
    • На DNS-серверах:

      .\TSS.ps1 -Scenario NET_DNSsrv
      
    • На DNS-клиентах:

      .\TSS.ps1 -Scenario NET_DNScli