Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается служебная программа 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.Вы не можете использовать переключатель
/adс/dили/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можно запустить/slocalhost, чтобы определить, может ли локальная система разрешать записи, найденные в тестах 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 test для проверки записей 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 Explorer связан с расширением .htm. Нет способа изменить формат отчета на нечто другое, кроме HTML, с помощью DNSLint.
Чтобы определить расположение, в которое записывается файл отчета, укажите полный путь и имя файла отчета. 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 (text), 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 или сочетанием localhost /ad/s. С помощью функции /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, почтовый протокол 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, готовая в Mon, 13 мая 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, готово в Вт, 14 мая 2002 09:26:06 -0700
Ответ POP: НЕТ ОТВЕТА (возможно, фильтруется)
Ответ 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 обходит поиск InterNIC Whois, который 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-серверов локальной системы не отвечает, используется следующий сервер в списке.