пятница, 9 июля 2010 г.

Использование средства NSlookup.exe

В статье приводятся рекомендации по использованию программы Nslookup.exe. Данная программа работает из командной строки и предназначена для проверки работоспособности DNS-серверов и устранения неполадок в их работе. Средство Nslookup.exe устанавливается при установке протокола TCP/IP (например при установке из панели управления).

Дополнительная информация

При использовании Nslookup.exe необходимо учитывать следующее. На компьютере, на котором запускается Nslookup.exe, должен быть установлен протокол TCP/IP.
В параметрах протокола TCP/IP должен быть указан хотя бы один сервер DNS (чтобы просмотреть данные параметры, выполните в командной строке команду IPCONFIG /ALL).
Средство Nslookup всегда применяет имя из локального контекста. Если имя, указанное в запросе, не является полностью определенным именем домена (то есть отсутствует завершающая точка), то данное имя будет добавлено к имени, определенном в текущем контексте. Например, если имя домена локального компьютера — att.com, то при обработке запроса относительно домена www.microsoft.com средство nslookup в первую очередь отправит запрос относительно имени www.microsoft.com.att.com. Это происходит, поскольку имя www.microsoft.com не является полностью определенным именем домена. Это поведение может отличаться в версиях средства Nslookup, выпущенных различными разработчиками. В данной статье рассматривается средство Nslookup.exe, входящее в состав Microsoft Windows NT.
Если в свойствах протокола TCP/IP на вкладке DNS определен список DNS-суффиксов, используемых для разрешения неполных имен, то рассмотренный выше порядок регрессирования не применяется. В этом случае имя, заданное пользователем в запросе, будет добавляться к доменным суффиксам из указанного списка. Чтобы средство nslookup не выполняло лишних запросов, всегда используйте полностью определенные доменные имена (добавляйте к имени завершающую точку).
На компьютере, на котором запускается Nslookup.exe, должен быть установлен протокол TCP/IP.
В параметрах протокола TCP/IP должен быть указан хотя бы один сервер DNS (чтобы просмотреть данные параметры, выполните в командной строке команду IPCONFIG /ALL).
Средство Nslookup всегда применяет имя из локального контекста. Если имя, указанное в запросе, не является полностью определенным именем домена (то есть отсутствует завершающая точка), то данное имя будет добавлено к имени, определенном в текущем контексте. Например, если имя домена локального компьютера — att.com, то при обработке запроса относительно домена www.microsoft.com средство nslookup в первую очередь отправит запрос относительно имени www.microsoft.com.att.com. Это происходит, поскольку имя www.microsoft.com не является полностью определенным именем домена. Это поведение может отличаться в версиях средства Nslookup, выпущенных различными разработчиками. В данной статье рассматривается средство Nslookup.exe, входящее в состав Microsoft Windows NT.
Если в свойствах протокола TCP/IP на вкладке DNS определен список DNS-суффиксов, используемых для разрешения неполных имен, то рассмотренный выше порядок регрессирования не применяется. В этом случае имя, заданное пользователем в запросе, будет добавляться к доменным суффиксам из указанного списка. Чтобы средство nslookup не выполняло лишних запросов, всегда используйте полностью определенные доменные имена (добавляйте к имени завершающую точку).

Существует два режима использования средства Nslookup.exe: интерактивный и неинтерактивный. Неинтерактивный режим используется, если ответ может быть получен в виде одного набора данных. Ниже представлен синтаксис, используемый при запуске средства nslookup в неинтерактивном режиме.

   nslookup [-параметры] [узел] [сервер]

Чтобы запустить средство Nslookup.exe в интерактивном режим, выполните в командной строке команду nslookup (пример см. ниже).

   C:\> nslookup
   Default Server:  nameserver1.domain.com
   Address:  10.0.0.1
   >

Чтобы ознакомиться со списком доступных команд, выполните в командной строке средства nslookup команду help или «?». Если данные, введенные в командной строке, не являются правильной командой средства nslookup, то эти данные рассматриваются как имя узла, и делается попытка разрешить это имя с помощью сервера по умолчанию. Чтобы прервать выполнение команды в интерактивном режиме, нажмите клавиши CTRL+C. Чтобы завершить работу средства nslookup, находясь в интерактивном режиме, введите в командной строке команду exit.

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

Commands:   (identifiers are shown in uppercase, [] means optional)

NAME            - print info about the host/domain NAME using default
                   сервер
NAME1 NAME2     - as above, but use NAME2 as server
help or ?       - print info on common commands
set OPTION      - set an option

    all                 - print options, current server and host
    [no]debug           - print debugging information
    [no]d2              - print exhaustive debugging information
    [no]defname         - append domain name to each query
    [no]recurse         - ask for recursive answer to query
    [no]search          - use domain search list
    [no]vc              - always use a virtual circuit
    domain=NAME         - set default domain name to NAME
    srchlist=N1[/N2/.../N6] - set domain to N1 and search list to N1, N2,
                          and so on
    root=NAME           - set root server to NAME
    retry=X             - set number of retries to X
    timeout=X           - set initial time-out interval to X seconds
    type=X              - set query type (for example, A, ANY, CNAME, MX,
                          NS, PTR, SOA, SRV)
    querytype=X         - same as type
    class=X             - set query class (for example, IN (Internet), ANY)
    [no]msxfr           - use MS fast zone transfer
    ixfrver=X           - current version to use in IXFR transfer request

server NAME     - set default server to NAME, using current default server
lserver NAME    - set default server to NAME, using initial server
finger [USER]   - finger the optional NAME at the current default host
root            - set current default server to the root
ls [opt] DOMAIN [> FILE] - list addresses in DOMAIN (optional: output to
                  FILE)

    -a          -  list canonical names and aliases
    -d          -  list all records
    -t TYPE     -  list records of the given type (for example, A, CNAME,
                   MX, NS, PTR, and so on)

view FILE       - sort an 'ls' output file and view it with pg
exit            - exit the program

Чтобы изменить параметры, используемые средством Nslookup.exe, воспользуйтесь командой set. Чтобы определить текущие значения данных параметров, выполните команду set all (список параметров приведен в результатах выполнения команды help и следует непосредственно за командой set).

 

Поиск данных различных типов

Чтобы найти в адресном пространстве домена данные различных типов, выполните команды set type или set q[uerytype]. Например, чтобы получить список почтовых обменников, выполните следующие команды.
   C:\> nslookup
   Default Server:  ns1.domain.com
   Address:  10.0.0.1

   > set q=mx
   > mailhost
   Server:  ns1.domain.com
   Address:  10.0.0.1

   mailhost.domain.com     MX preference = 0, mail exchanger =
                           mailhost.domain.com
   mailhost.domain.com     internet address = 10.0.0.5
   >

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

Получение данных с удаленного сервера имен напрямую

Чтобы направить запрос удаленному серверу имен напрямую, задайте имя нужного сервера с помощью команды server или lserver. Команда lserver определяет адрес сервера на который следует отправлять запросы, используя локальный сервер; команда server использует для получения этого адреса текущий сервер по умолчанию.

Пример:
   C:\> nslookup

   Default Server:  nameserver1.domain.com
   Address:  10.0.0.1

   > server 10.0.0.2

   Default Server:  nameserver2.domain.com
   Address:  10.0.0.2
   >

 

Использование средства Nslookup.exe для передачи зоны

Средство Nslookup позволяет выполнить передачу зоны целиком. Для этого используется команда ls. Это позволяет получить полный список узлов удаленного домена. Ниже представлен синтаксис команды ls:

   ls [- a | d | t type] domain [> filename]

Если команда ls выполняется без аргументов, то будет возвращен список всех серверов имени и адресов в домене. Параметр -a позволяет получить список канонических имен и псевдонимов, параметр -d — получить список всех записей, а параметр -t — выполнить фильтрацию по типу записей.

Пример:

   >ls domain.com
   [nameserver1.domain.com]
    nameserver1.domain.com.    NS     server = ns1.domain.com
    nameserver2.domain.com                 NS     server = ns2.domain.com
    nameserver1                            A      10.0.0.1
    nameserver2                            A      10.0.0.2

   >

На некоторых серверах DNS передача зон разрешена только для авторизованных адресов или сетей. При попытке получить данные зоны с подобного сервера появляется следующее сообщение об ошибке.
*** Can't list domain example.com.: Query refused

Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
193837  Значения по умолчанию параметров безопасности зоны на сервере DNS под управлением Windows NT 4.0

Устранение неполадок в работе средства Nslookup.exe

Время ожидания ответа от сервера по умолчанию
При запуске средства Nslookup.exe может появляться следующее сообщение об ошибке:
*** Can't find server name for address w.x.y.z: Timed out

Примечание. w.x.y.z — первый сервер DNS, указанный в списке используемых серверов DNS.

*** Can't find server name for address 127.0.0.1: Timed out

Первое сообщение об ошибке появляется, если сервер DNS недоступен или на указанном компьютере не запущена служба DNS. Чтобы устранить проблему, запустите на данном компьютере службу DNS и убедитесь, что связность сети не нарушена.

Второе сообщение об ошибке появляется, если список серверов DNS пуст. Чтобы устранить проблему, добавьте к данному списку IP-адрес соответствующего сервера DNS.

Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
172060  Появление сообщения об ошибке «Can't Find Server Name for Address 127.0.0.1» в программе NSLOOKUP


При запуске средства Nslookup.exe не удается найти имя сервера
При запуске средства Nslookup.exe может появляться следующее сообщение об ошибке.

*** Can't find server name for address w.x.y.z: Non-existent domain

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

Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
172953  Как установить и настроить сервер Microsoft DNS Server


Сбои при обработке дочерних доменов
При выполнении запроса о дочернем домене или при передаче данных зоны с помощью средства nslookup могут появляться следующие сообщения об ошибках:

*** ns.domain.com can't find child.domain.com.: Non-existent domain
*** Can't list domain child.domain.com.: Non-existent domain

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

 

Информация в данной статье применима к:

операционная система Microsoft Windows 2000 Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows NT Server 4.0 Standard Edition

Оригинал статьи: http://support.microsoft.com/kb/200525/ru

Комментариев нет:

Отправить комментарий