Описание служебной программы 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, необходимо использовать один из трех следующих параметров:
- Используется
/d
для тестов доменных имен - Используется
/ad
для тестов репликации Active Directory. - Используется
/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
/s
ip_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 pop
smtp указывает, что необходимо проверить только ПОРТ SMTP (TCP-порт 25) и ПОРТ POP (TCP-порт 110).
Команда dnslint /d contoso.com /c imap
pop указывает, что необходимо проверить только порт 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-серверов локальной системы не отвечает, используется следующий сервер в списке.