Описание служебной программы DNSLint

В этой статье описывается служебная программа DNSLint и ее синтаксис.

Применяется к: Windows Server 2012 R2
Исходный номер базы знаний: 321045

Сводка

DNSLint — это служебная программа Microsoft Windows, которая помогает диагностировать распространенные проблемы с разрешением имен в системе доменных имен (DNS).

Дополнительные сведения о скачивании файлов служба поддержки Майкрософт см. в следующей статье:

119591 Получение файлов служба поддержки Майкрософт из веб-служб

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

Функции DNSLint

DNSLint имеет три функции, которые проверяют записи DNS и создают HTML-отчет. Ниже перечислены три функции:

  • dnslint /d: диагностирует потенциальные причины "хромого делегирования" и другие связанные проблемы DNS.
  • dnslint /ql: проверяет определяемый пользователем набор записей DNS на нескольких DNS-серверах.
  • dnslint /ad: проверяет записи DNS, используемые специально для репликации Active Directory.

DNSLint — это служебная программа командной строки. Синтаксис:

dnslint /d domain_name | /ad [LDAP_IP_address] | /ql input_file [/c [smtp,pop,imap]] [/no_open] [/r report_name] [/t] [/test_tcp] [/s DNS_IP_address] [/v] [/y]  

/dУкажите , /adили /ql при запуске DNSLint. Другие параметры являются необязательными.

Параметр используется /d для запроса тестов доменного имени. Этот параметр полезен при устранении проблем с хромой делегированием.

  • Укажите доменное имя для тестирования.
  • Вы не можете использовать переключатель /d с коммутатором /ad .

Параметр используется /ad для запроса тестов Active Directory.

  • Этот /ad параметр разрешает записи DNS, используемые для репликации леса AD.

  • По умолчанию используется служба LDAP локальной системы.

  • Можно указать IP-адрес удаленного СЕРВЕРА LDAP (необязательно).

  • Принимаются только допустимые IP-адреса. Имена не принимаются.
    Как правило, это контроллер домена Active Directory.

  • /ad Используйте параметр с параметром /s , где /s указывает IP-адрес DNS-сервера, который является полномочным для зоны _msdcs в корневом лесу AD.

  • Параметр нельзя использовать с /d параметром /ad или /c.

Параметр используется /ql для запроса тестов запросов DNS из списка.

  • Параметр /ql отправляет запросы DNS, указанные в текстовом входном файле.

  • Укажите путь и имя входного файла.

  • /ql параметр поддерживает запросы записей A, PTR, CNAME, SRV и MX.

  • Создайте образец входного файла, выполнив следующую команду:

    dnslint /ql autocreate  
    
  • Параметр нельзя использовать /ql с /d, /adили /c.

Примечание.

  • Нельзя использовать /d, /adи /ql вместе.
  • Нельзя использовать /c вместе с /ad или /ql.
  • При использовании /adнеобходимо также указать /s.

Необязательные параметры

Используйте /c для запроса тестов подключения на серверах электронной почты.

  • Параметр /c проверяет порты SMTP, POP и IMAP на найденных почтовых серверах.
  • По умолчанию тестируются все три порта (порты SMTP, POP и IMAP). Можно указать один или комбинацию. Для этого используйте разделенный запятыми список: /c pop,imap,smtp.

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

/r Используйте параметр , чтобы указать имя создаваемого файла отчета.

  • Расширение имени файла .htm автоматически добавляется в имена отчетов.
  • Отчет создается в формате HTML. Имя по умолчанию — Dnslint.htm
  • Расположением по умолчанию является текущий каталог.

Используйте переключатель /s для обхода поиска InterNIC whois .

  • Вы можете указать IP-адрес DNS-сервера вместо запроса interNIC для него.
  • Параметр /s начинает проверку записей DNS с использованием указанного IP-адреса.
  • Принимаются только допустимые IP-адреса. Имена не принимаются.
  • Используйте этот параметр для проверка доменных имен, которые не поддерживаются InterNIC.
  • При использовании /adнеобходимо указать /s DNS-сервер, который является полномочным для поддомена _msdcs в корневом домене леса AD.
  • При использовании /adможно запустить /s localhost, чтобы определить, может ли локальная система разрешать записи, найденные в тестах AD.

Используйте /t для запроса выходных данных в текстовый файл.

  • Имя текстового файла совпадает с именем отчета .htm, но имеет расширение имени файла .txt.
  • Текстовый файл, созданный в том же каталоге, что и файл отчета .htm.

Используйте /test_tcp для запроса для проверки TCP-порта 53.

  • По умолчанию тестируется только UDP-порт 53.
  • Параметр /test_tcp проверяет, отвечает ли TCP-порт 53 на запросы.
  • Параметр /test_tcp не может использоваться с /ql.

Используйте /v для запроса подробных выходных данных на экран.

Используйте /y для перезаписи существующего файла отчета без запроса. Этот /y параметр полезен в скриптах.

Обязательные параметры

Чтобы запустить DNSLint, необходимо использовать один из трех следующих параметров:

  1. Используется /d для тестов доменных имен
  2. Используется /ad для тестов репликации Active Directory.
  3. Используется /ql для тестов, указанных в списке запросов.

/d Используйте параметр (тест доменного имени), чтобы проверить определенное доменное имя DNS. Используйте этот параметр для диагностики проблем с "хромой делегированием" и других связанных проблем с DNS. Проверяемое доменное имя может быть следующим:

  • Имя, зарегистрированное для использования в Интернете.
  • Имя, используемое в частном пространстве имен.

При тестировании доменных имен в частной сети или доменных имен, зарегистрированных в Интернете, которые имеют более двух уровней глубины, необходимо использовать /s параметр .

Используйте переключатель /ad (тест Active Directory), чтобы проверить записи DNS, отвечающие за репликацию леса Active Directory. После переключения /ad укажите IP-адрес сервера LDAP, используемого для этого теста. Как правило, это контроллер домена Active Directory. Если DNSLint работает на контроллере домена, IP-адрес не требуется, так как значение по умолчанию для этого параметра — 127.0.0.1.

Используйте переключатель /ql (тест списка запросов), чтобы проверить записи DNS, указанные в текстовом входном файле. Укажите полный путь и имя текстового входного файла сразу после переключения. Выполните команду dnslint /ql autocreate , чтобы создать пример текстового входного файла с именем In-dnslint.txt. Этот файл содержит описание требуемого формата. Этот файл можно использовать в качестве шаблона для создания других входных файлов.

Дополнительные необязательные параметры

Переключатель /v (подробный) включает "подробный режим". Если этот параметр включен, DNSLint выдаст на экран шаги, которые он предпринимает для сбора данных. Эти выходные данные можно отправить в файл. Например, dnslint /v /d msn.com. По умолчанию имя отчета, создаваемого DNSLint, — Dnslint.htm. /r С помощью параметра (отчет) можно указать имя и расположение файла отчета, создаваемого DNSLint. Вы можете присвоить файлу отчета то же имя, что и проверенному доменному имени или DNS-серверу. Расширение имени файла ".htm" добавляется к имени отчета автоматически, так как отчет имеет формат HTML.

По умолчанию DNSLint пытается автоматически открыть файл отчета после его создания с помощью любой программы, связанной с файлом .htm отчета. Как правило, Microsoft Internet Обозреватель связан с расширением .htm. С помощью DNSLint невозможно изменить формат отчета на формат, отличный от HTML.

Чтобы определить расположение, в которое записывается файл отчета, укажите полный путь и имя файла отчета. DNSLint поддерживает как локальные диски, так и UNC-пути. Например, команда dnslint /d msn.com /r c:\reports\reskit создает отчет с именем Reskit.htm в папке C:\Reports. Команда dnslint /d mydom.local /r \\\server1\reports\mydom создает отчет в удаленной системе с именем server1 в общей папке Отчетов. Имя отчета — Mydom.htm.

Если указать /t параметр (текст), DNSLint создает текстовый отчет и HTML-отчет. Текстовый отчет использует то же имя, что и .htm отчет, за исключением того, что его расширение имени файла .txt. Файл создается в той же папке, что и файл .htm. Например, команда dnslint /d msn.com /r c:\reports\reskit /t создает два отчета в папке C:\Reports. Один отчет называется Reskit.htm, а другой — Reskit.txt.

По умолчанию, когда DNSLint обнаруживает, что файл отчета с тем же именем, что и файл, который он собирается создать, уже существует в целевой папке, DNSLint предлагает перезаписать файл. С помощью параметра /y DNSLint может перезаписать существующий файл отчета, не запрашивая разрешение. При использовании этого параметра .htm файл и необязательный файл .txt перезаписываются.

Команда dnslint /y /d msn.com /r c:\reports\reskit /t создает два отчета в папке C:\Reports. Один отчет называется Reskit.htm, а другой — Reskit.txt. Существующие файлы отчетов перезаписываются без запроса.

Этот /no_open параметр не позволяет DNSLint автоматически открывать отчет после его создания. Этот параметр полезен при использовании DNSLint в сценариях, если вы не хотите:

  • Немедленно просмотрите отчеты.
  • Просмотрите отчеты из системы, из-за чего был запущен DNSLint.

Например, команда dnslint /y /d msn.com /no_open создает отчет с именем Dnslint.htm, который перезаписывает существующий отчет с тем же именем без запроса пользователя. DNSLint не открывает отчет автоматически после его завершения.

/test_tcp Используйте параметр (тестировать TCP-порт 53), чтобы запросить проверку TCP-порта 53 при /d использовании. Многие DNS-серверы в Интернете сегодня не принимают запросы DNS через TCP-порт 53, чтобы избежать возможных атак на этот порт. По умолчанию при запуске DNSLint тестируется только UDP-порт 53. При указании /test_tcp параметра dnsLint отправляет один запрос DNS по ПРОТОКОЛу TCP и сообщает, был ли получен ответ.

Параметр можно использовать /test_tcp с /d и /ad. Однако нельзя использовать /test_tcp параметр с /ql или сочетанием /ad/s localhost. /ql С помощью функции TCP-порт 53 можно проверить непосредственно из входного файла. Функция /ad /s localhost проверяет, могут ли локально настроенные DNS-серверы разрешать записи DNS, используемые для репликации леса Active Directory. Вместо этого можно проверить подключение через TCP-порт 53 с помощью /ad/sip_addr , где ip_addr — это IP-адрес DNS-сервера, который является полномочным для зоны _msdcs в корневом каталоге домена Active Directory.

Пример: dnslint /d microsoft.com /v /test_tcp

Переключение /c (проверка подключения) запрашивает, что DNSLint проверяет известные порты электронной почты на всех почтовых серверах, которые он находит при проверке DNS-серверов на наличие указанного доменного имени. Поддерживаются протоколы SMTP, post Office (POP версии 3) и IMAP версии 4. По умолчанию при указании /c параметра DNSLint пытается подключиться ко всем трем портам на каждом найденном сервере электронной почты:

  • TCP-порт 25 для SMTP
  • TCP-порт 110 для POP
  • TCP-порт 143 для IMAP

DNSLint сообщает состояние, в которое находится каждый порт: "Прослушивание", "Не прослушивание" или "Нет ответа". Если DNSLint обнаруживает, что порт прослушивает, он также возвращает ответ от порта. Например, если smtp-порт прослушивает, он обычно возвращает ответ, соответствующий спецификации протокола SMTP, как показано в следующем примере:

220 mailsrv.contoso.com Microsoft ESMTP MAIL Service, версия: 5.0.2195.3705 ready at Mon, 13 may 2002 17:08:36 -0700

Если порт сообщается как "Не прослушивается", это означает, что запрашиваемый сервер электронной почты ответил TCP-пакетом с установленным флагом сброса. Он также указывает, что служба или программа не прослушивают порт.

Сообщение "Нет ответа", если целевой почтовый сервер не отвечает на попытку подключения. Если целевой сервер работает и работает, это означает, что порт фильтруется по:

  • Целевой сервер.
  • Где-то между клиентом, на котором выполняется DNSLint, и целевым сервером.

Команда dnslint /y /v /c /d msn.com создает отчет с именем Dnslint.htm, который перезаписывает существующий отчет с тем же именем без запроса пользователя. /c Так как параметр указан, к нижней части стандартного отчета DNSLint добавляется дополнительный раздел:

Тесты сетевого подключения
Почтовый сервер: smtp-gw-4.msn.com
IP-адрес: 207.46.181.13

Ответ SMTP:
220 cpimssmtpa18.msn.com Microsoft ESMTP MAIL Service, версия:
5.0.2195.4905 ready at Tue, 14 may 2002 09:26:06 -0700

Ответ POP: NO RESPONSE (возможно, фильтруется)

Ответ IMAP: NO RESPONSE (возможно, фильтруется)

Примечание.

Один или несколько серверов POP не ответили.
Один или несколько серверов IMAP не ответили.

Если целевой почтовый сервер не отвечает на попытку подключения к одному из своих почтовых портов, DNSLint повторяет подключение три раза. Это стандартное поведение для TCP-клиента. Прежде чем DNSLint сообщит о том, что не было ответа, он ожидает истечения времени ожидания трех отдельных tcp-подключений. Этот процесс может замедлить завершение отчета. Чтобы оптимизировать операцию DNSLint, можно указать порт электронной почты или порты, которые нужно проверка, а не проверять все три порта.

По умолчанию при указании /c параметра проверяются все три TCP-порта (25, 110, 143). Но вы можете указать, какие порты следует проверка после параметра /c . Укажите список с разделителями-запятыми сразу после /c параметра . Укажите только допустимые порты: smtp, pop, imap. Любое сочетание этих трех портов работает. Например, команда dnslint /d contoso.com /c smtp указывает, что должен быть установлен только SMTP-порт (TCP-порт 25).

Команда dnslint /d contoso.com /c popsmtp указывает, что необходимо проверить только ПОРТ SMTP (TCP-порт 25) и ПОРТ POP (TCP-порт 110).

Команда dnslint /d contoso.com /c imappop указывает, что необходимо проверить только порт IMAP (TCP-порт 143) и ПОРТ POP (TCP-порт 110).

Параметр (сервер) можно использовать /s с функциями /d и /ad . Параметр /s имеет несколько целей, но он принимает только один тип данных, допустимый IP-адрес DNS-сервера (за одним исключением).

При указании /d/s параметр обходит запрос InterNICWhois, выполняемый DNSLint по умолчанию. В результате DNSLint может выполнять тесты в частных сетях и на доменных именах, которые глубже доменов второго уровня в Интернете. DNSLint также может тестировать доменные имена, которые не поддерживаются InterNIC. На момент написания этой статьи в InterNIC поддерживались Whois подстановки для следующих доменов: .biz, .com, .coop, .edu, .info, .int.museum, .netи .org.

При использовании /ad/s параметр используется для указания IP-адреса DNS-сервера, который является полномочным для поддомена, на котором регистрируются записи DNS, используемые для репликации леса Active Directory. Как правило, это _msdcs поддомен под корнем леса Active Directory. Например, если корень леса Active Directory называется myad.contoso.com, DNS-сервер, на котором размещается этот домен, также может быть полномочным _msdcs.myad.contoso.com для зоны. В зоне регистрируются записи DNS, используемые в репликации Active Directory. Кроме того _msdcs.myad.contoso.com , зона может быть делегирована другому DNS-серверу. Однако инфраструктура DNS разработана, /s параметр используется для указания DNS-сервера, который является полномочным _msdcs.myad.contoso.com для зоны.

Параметр /s должен указывать допустимый IP-адрес. Единственным исключением из этого правила является следующее сочетание: dnslint /ad /s localhost

"localhost" не является допустимым IP-адресом. При указании этого параметра с /ad /s помощью сочетания DNSLint проверяет возможность локальной системы (в системе под управлением DNSLint) разрешать записи DNS, используемые для репликации леса Active Directory. Рекурсивные запросы DNS отправляются на НАСТРОЕННЫе в локальной системе DNS-серверы, чтобы убедиться, что локальная система может разрешить записи DNS, используемые для репликации леса Active Directory. Это может быть полезно при устранении проблем с репликацией Active Directory на определенном контроллере домена.

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