Этот странный Nslookup. Системы Windows. Nslookup как пользоваться командой Nslookup exe для чего используется

Компьютеры, как люди, сначала сами по себе, потом в системе. Безусловно, это человек создает компьютерную систему (сеть), но сквозь поколения специалистов эта система (сеть) «сама управляет» процессом своего развития. Это вытекает из фактического развития интернет-пространства и роли, которую играет в нем иерархия DNS-имен.

Команда NSLookUp: описание возможностей, результат пути отдельно взятого компьютера в интернет-пространство, специалистов в мир создания инструментов распределенной обработки информации, а пользователей - в понимание того, как все устроено на самом деле.

История начала: простые сети

Мир Интернета образовался «сам по себе», хотя нельзя отрицать существенную роль, как отдельных специалистов, так и квалифицированных команд разработчиков. Но когда количество переходит в качество, роли часто меняются. Компьютер до сих пор не обрел интеллект, а тема искусственного интеллекта давно стала привычно неинтересной: уже давно человек не является единственным и основным символом и двигателем прогресса.

Творения рук человеческих не только «живут» собственной жизнью сквозь пространство и время, но и «оказывают» обратное влияние на деятельность новых поколений специалистов.

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

Получили воплощение в реальности, стали естественными и удобными различные и компьютеры «научились» сами с собой «договариваться».

Распределенные сети

Еще с момента рождения сети быстро изменили лицо информационной сферы, но до программирования было еще далеко. Эффектные и практичные сетевые примеры стали нормой, но это еще был не интернет, это еще не было интернет-программирование.

Создание учебных программ, которые автоматизируют работу нескольких компьютеров для обучения студентов, даже находящихся в разных учебных аудиториях/корпусах было только на момент создания уникальным и существенным.

Автоматизация процесса производства чего-либо, соединяющая в единое целое множество участков, процессов, поставщиков, потребителей также было важным и нужным, но «минутным» достижением.

Любые другие сетевые приложения были уникальны и интересны в момент разработки, внедрения и запуска в эксплуатацию, потом они сразу становились привычными и обыденными. Потребитель сразу забывал, как жил раньше до применения того или иного сетевого приложения.

NSLookUp - итог начала или путь идеи сети

Надо отдать должное Windows , ей принадлежит знатная роль в информационной сфере. Но не гарантия, что именно здесь появилась незаметная NSLookUp. Идея хороша и семейству юниксоидов можно декларировать свой вклад в ее рождение. Команды для работы в сети нужны, но подавляющее их большинство невидимо, хотя и очень значимо. NSLookUp появилась в Windows NT и в аналогичных системах, а также на других платформах. Теперь она востребована всегда и везде.

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

Сетевому администратору и разработчику систем эта команда открывает удобные возможности. Она фактически представляет собой аналог службы DNS-клиент (особенно удобна NSLookUp online) и позволяет ставить объективный диагноз проблемам разрешения имен. Именно это стало итогом развития сетей. Вероятно, идея распределенных серверов DNS будет иметь в будущем иное содержание и организацию, но в данный момент времени, используя NSLookUp-команды, можно получить точную и нужную информацию, как для практического применения, так и для определения тех или иных проблем.

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

Символы и их идентификация

То, что является уделом работы администраторов и разработчиков, NSLookUp-команды предоставляют рядовому пользователю в простом и доступном виде. Уделив совсем немного времени изучению параметров, опций и правил использования этого инструмента, пользователь получит точное представление о том, что такое домен, DNS, IP, A, AAAA, Refresh, TTL и пр. Все эти символы и термины появились в свое время, несут конкретный смысл, и когда происходит что-то не так, даже можно не прибегать к квалифицированной помощи, когда в арсенале есть практика применения NSLookUp-команды.

Интерактивный доступ к домену в сети позволяет получать нужную информацию в ручном режиме. Работа NSLookUp online предоставляется через командную строку. Просто нужно установить нужные параметры выдачи и получать требуемые данные.

Применение NSLookUp

Обычно NSLookUp-команда (примеры из практики) применяется по какому-то одному правилу: nslookup-type=any-timeout=8 vk.com 208.67.220.220, и в выдаче будет исчерпывающая информация о сайте "ВКонтакте", но искушенному пользователю ничто не мешает исследовать все параметры команды или подобрать свой вариант и свою стандартную форму для применения на практике.

Nslookup – отображает информацию, которую вы можете использовать для диагностики инфраструктуры доменных имен (). Перед использованием этого инструмента вы должны быть знакомы с тем, как работает DNS. Инструмент командной строки nslookup доступен, только если вы установили протокол TCP / IP.

PowerShell

nslookup [<-SubCommand ...>] [{ | -}] nslookup /exit nslookup /finger [] [{[>] |[>>] }] nslookup /{help | ?} nslookup /ls [

nslookup [ < -SubCommand . . . > ] [ { < computerTofind > | - < Server > } ]

nslookup / exit

nslookup / finger [ < UserName > ] [ { [ > ] < FileName > | [ >> ] < FileName > } ]

nslookup / { help | ? }

nslookup / ls [ < Option > ] < DNSDomain > [ { [ > ] < FileName > | [ >> ] < FileName > } ]

nslookup / lserver < DNSDomain >

nslookup / root

nslookup / server < DNSDomain >

nslookup / set < KeyWord > [ = < Value > ]

nslookup / set all

nslookup / set class = < Class >

nslookup / set [ no ] d2

nslookup / set [ no ] debug

nslookup / set [ no ] defname

nslookup / set domain = < DomainName >

nslookup / set [ no ] ignore

nslookup / set port = < Port >

nslookup / set querytype = < ResourceRecordtype >

nslookup / set [ no ] recurse

nslookup / set retry = < Number >

nslookup / set root = < RootServer >

nslookup / set [ no ] search

nslookup / set srchlist = < DomainName > [ / . . . ]

nslookup / set timeout = < Number >

nslookup / set type = < ResourceRecordtype >

nslookup / set [ no ] vc

nslookup / view < FileName >

Параметры

Команда Синтаксис Описание
nslookup exit /exit Выход из утилиты.
nslookup finger finger [] [{[>] |[>>] }] Соединение с finger сервером на текущем ПК.
nslookup help /help Выводит краткий список доступных подкоманд nslookup.
nslookup ls ls [Выводит информацию о домене.
nslookup lserver lserver Меняет стандартный сервер для заданного домена DNS.
nslookup root root Меняет стандартный сервер, на корневой сервер DNS.
nslookup server server Меняет стандартный сервер имён, на выбранный вами.
nslookup set set [=]
Изменение стандартной конфигурации утилиты nslookup.
nslookup set all set all Выводит параметры текущей конфигурации.
nslookup set class set class= Меняет класс запроса. Класс указывает группу протоколов информации.
nslookup set d2 set d2
Включает или выключает глубокий режим отладки. В режиме отладки выводятся данные о каждого пакета.
nslookup set debug set debug
Включает или выключает режим отладки.
nslookup set defname set defname Добавляет используемый по умолчанию домен DNS, к запросу на поиск одиночного компонента. Компонент называется одиночным, если не содержит точек.
nslookup set domain set domain= Изменяет имя домена по умолчанию (DNS) на указанное имя.
nslookup set ignore set ignore Игнорировать ошибки с неполными пакетами.
nslookup set port set port= Изменяет стандартный TCP/UDP порт сервера DNS на указанный.
nslookup set querytype set querytype=
nslookup set recurse set recurse
Указывает DNS серверу по умолчанию, опросить другие сервера в сети, если у него нет необходимой информации.
nslookup set retry set retry=
Указать число необходимых повторов запроса.
nslookup set root set root=
Изменяет адрес коренного сервера.
nslookup set search set search Добавляет имена доменов DNS из списка поиска доменов DNS в запрос, до тех пор пока не будет получен ответ. Данный метод используется в тех случаях, когда set и lookup содержат хотя-бы одну точку, но не содержат завершающей точки.
nslookup set srchlist Set srchlist=
Изменяет стандартное имя домена DNS и список поиска.
nslookup set timeout set timeout=
Изменяет таймаут ожидания ответа в секундах.
nslookup set type set type= Изменяет тип записи ресурса для запроса.
nslookup set vc set vc Указывает использовать или не использовать виртуальную цепь при отправке запросов на сервер.
nslookup view view Вывод и сортировка данных, полученных ранее при помощи команды ls.

Примечания

  • Если computerTofind является IP-адресом, а запрос хочет получить A или PTR запись, возвращается имя компьютера. Если computerTofind является именем и у него нет точки в конце, к имени добавляется имя домена DNS по умолчанию. Это зависит от состояния следующих заданных подкоманд: domain, srchlist, defname и search.
  • Если вы используете дефис (-) вместо computerTofind , утилита nslookup перейдёт в интерактивный режим.
  • Длина строки не может превышать 256 символов.
  • nslookup имеет два режима: интерактивный и неинтерактивный. Если вы собираетесь воспользоваться утилитой единожды – используйте неинтерактивный режим. Первым параметром введите имя или IP-адрес компьютера, который вы хотите найти, а вторым параметром введите имя или IP-адрес сервера DNS-имен. Если вы опустите второй аргумент, nslookup использует по умолчанию.
    Если вам нужно использовать утилиту несколько раз, вы можете войти в интерактивный режим. Для этого введите дефис (-) для первого параметра и имя или IP-адрес сервера имен DNS для второго параметра. Или опустите оба параметра, и nslookup использует DNS-сервер по умолчанию.
    Ниже приведены некоторые советы о работе в интерактивном режиме:
    • Чтобы прервать линию интерактивных команд в любое время, нажмите CTRL + B.
    • Чтобы выйти, введите exit.
    • Чтобы обработать встроенную команду в качестве имени компьютера, перед ним следует использовать escape-символ (\).
    • Неопознанная команда интерпретируется как имя компьютера.
  • Если поиск не сработал, утилита nslookup выдаст сообщение об ошибке. В следующей таблице перечислены возможные сообщения об ошибках .

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

nslookup [-option...] ]

Если в командной строке задать параметр host-to-find , то nslookup будет работать в неинтерактивном режиме и возвратит ответ на запрос примерно в том же виде, что и утилита host . Если аргументы не заданы или первый аргумент - дефис (- ), то nslookup будет работать в интерактивном режиме. При необходимости с помощью аргумента -server можно указать другой DNS-сервер, где server - IP-адрес запрашиваемого DNS-сервера. В противном случае nslookup будет по умолчанию обращаться к DNS-серверу, который задается в файле /etc/resolv.conf .

Параметры nslookup можно изменить тремя способами. Во-первых, можно задать параметры в командной строке вместе с командой nslookup . Во-вторых, можно указать их в интерактивной командной строке nslookup с помощью команды set . И в-третьих, можно создать в своем рабочем каталоге $HOME файл .nslookuprc и указать в нем желаемые параметры, по одному на строку. Список параметров, которые можно использовать с командой nslookup , приведен в табл. 4.6 .

Таблица 4.6. Параметры nslookup
Параметр Описание
all Выводит текущие значения параметров
class Устанавливает класс DNS (по умолчанию = IN )
debug Включает/выключает режим отладки (по умолчанию = nodebug )
d2 Включает/выключает режим полной отладки (по умолчанию = nod2 )
domain=name Устанавливает доменное имя по умолчанию name
srchlist=name1/name2.. . Изменяет домен по умолчанию на name1 и производит поиск по списку name1/name2.. .
defname Добавляет доменное имя по умолчанию к компоненту запроса
search Добавляет доменные имена в списке к имени хоста (по умолчанию = search )
port=value Изменяет номер порта TCP/UDP (по умолчанию = 53 )
querytype=value Изменяет тип запрашиваемой записи (по умолчанию = А )
type=value То же, что и querytype .
recurse Указывает серверу имен запросить другие серверы для получения ответа (по умолчанию = recurse )
retry=number Устанавливает число повторов запроса при неудачном ответе (по умолчанию = 4)
root=host Изменяет имя корневого сервера на хост с именем host (по умолчанию = ns.internic.net )
timeout=number Изменяет интервал времени ожидания ответа на значение, равное number (по умолчанию = 5 сек)
vc Всегда использовать виртуальную цепочку (по умолчанию = novc )
ignoretc Игнорировать ошибки при урезании пакета (по умолчанию = noignoretc )

В листинге 4.6 показан пример сеанса nslookup , во время которого запрашивается информация о хосте www.linux.org . На запрос с установленными по умолчанию параметрами для указанного имени просто возвращается соответствующий ему IP-адрес. В нашем примере демонстрируется изменение параметров с целью поиска почтовых серверов для данного домена.

1 $ nslookup 2 Default Server: ns1.isp.net 3 Address: 10.0.0.1 4 5 > www.linux.org 6 Server: ns1.isp.net 7 Address: 10.0.0.1 8 9 Non-authoritative answer: 10 Name: www.linux.org 11 Address: 198.182.196.56 12 13 > set type=MX 14 > www.linux.org 15 Server: ns1.isp.net 16 Address: 10.0.0.1 17 18 Non-authoritative answer: 19 www.linux.org preference =20, mail exchanger = router.invlogic.com 20 www.linux.org preference =30, mail exchanger = border-ai.invlogic.com 21 www.linux.org preference = 10, mail exchanger = mail.linux.org 22 23 Authoritative answers can be found from: 24 linux.org nameserver = NS0.AITCOM.NET 25 linux.org nameserver = NS. invlogic. com 26 router.invlogic.com internet address = 198.182.196.1 27 border-ai.invlogic.com internet address = 205.134.175.254 28 mail.linux.org internet address = 198.182.196.60 29 NS0.AITCOM.NET internet address = 208.234.1.34 30 NS.invlogic.com internet address = 205.134.175.254 31 > exit 32 $ Листинг 4.6. Пример сеанса nslookup

В строке 5 формируется запрос для хоста с именем www.linux.org . В строках 6 и 7 показан DNS-сервер, который обрабатывает данный запрос, а в строках 9–11 отображается, что сервер выдает неавторитетный ответ об IP-адресе. Очевидно, что кто-то уже обращался к этому же хосту и его IP-адрес хранился в кэше локального DNS-сервера. В строке 13 устанавливается параметр, с помощью которого запрашивается информация о почтовых серверах для данного домена. В строках 18–30 отображается информация, полученная от DNS-сервера. Строки 18–21 являются по сути разделом ответа пакета DNS, который сигнализирует о том, что ответ не является авторитетным, и далее показывает три почтовых сервера, ответственных за доставку электронной почты на хост www.linux.org . В строках 23–30 показан авторитетный ответ и дополнительная информация из пакета DNS. Так, строки 23–25 показывают два авторитетных DNS-сервера для домена linux.org , в которых содержаться исходные записи о www.linux.org . В строках 26–30 отображается дополнительная информация об IP-адресах хостов, содержащихся в ответах. Этот пример можно немного расширить, установив в качестве DNS-сервера по умолчанию один из авторитетных серверов (с помощью команды server ) и запросив еще раз информацию об МХ записях. Теперь сравните, отличается ли полученная информация от той же, но выданной неавторитетным DNS-сервером.

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

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

При использовании Nslookup.exe необходимо учитывать следующее. На компьютере, на котором запускается Nslookup.exe, должен быть установлен протокол TCP/IP.



На компьютере, на котором запускается 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
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
debug - print debugging information
d2 - print exhaustive debugging information
defname - append domain name to each query
recurse - ask for recursive answer to query
search - use domain search list
vc - always use a virtual circuit
domain=NAME - set default domain name to NAME
srchlist=N1 - 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)
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 - finger the optional NAME at the current default host
root - set current default server to the root
ls 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. Например, чтобы получить список почтовых обменников, выполните следующие команды.
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. 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


Значения по умолчанию параметров безопасности зоны на сервере 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.

Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
Появление сообщения об ошибке «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 для требуемых серверов имен.

Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
Как установить и настроить сервер 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

Может возникнуть необходимость проверить работоспособность DNS, посмотреть как быстро работает сервер, увидеть IP адрес и скорость его получения для определенного домена. Для этого cсуществует отличная утилита nslookup. С помощью которой Вы можете получить IP адрес по домену, выполнить обратное преобразование, а также проверить установлены все необходимые записи DNS.

КАК РАБОТАЕТ DNS?

Служба DNS позволяет преобразовывать сложные для запоминания ip адреса в простые и легкие доменные имена, которые намного проще запомнить. Если не вдаваться в подробности, то существует сеть DNS серверов, на которых хранится вся необходимая информация об IP адресах и соответствующих им доменах. Время от времени они обмениваются между собой информацией, чтобы база данных была полной и актуальной.

Когда компьютеру нужно обратиться к какому-либо сайту по домену, он запрашивает его IP адрес у DNS сервера, а затем сохраняет его в локальном кэше. Но DNS запросы могут отсылаться не только автоматически, их может формировать и отправлять утилита nslookup в Linux или Windows.

КОМАНДА NSLOOKUP

$ sudo nslookup опции домен сервер

Домен - это то доменное имя, для которого необходимо посмотреть информацию, а сервер - необязательный параметр, который указывает, что нужно использовать другой dns сервер. Основные опции nslookup:

  • -type - тип информации, которую хотим получить, возможные типы: txt, soa, ptr, ns, mx, mr, minfo, mg, mb, hinfo, gid, cname, a, any;
  • -port - другой порт DNS сервера;
  • -(no)recurse - использоваться другие DNS серверы, если на этом нет ответа;
  • -retry - количество попыток получить нужную информацию;
  • -timeout - время между попытками запросов к серверу;
  • -fail - пробовать другой сервер имен, если этот вернул ошибку.

Самое интересное, что команду можно выполнять не только в обычном, но и в интерактивном режиме, если запустить ее без параметров. А теперь перейдем ближе к самим примерам как работает команда nslookup linux.

КАК ПОЛЬЗОВАТЬСЯ NSLOOKUP?

Посмотрим ip адрес для сайт.

@ns:~$ nslookup сайт

В выводе утилиты видно ip адрес 10.3.5.21, это не адрес сервера, а системный DNS сервер. В следующей строке выводится тот же ip адрес и порт, это адрес DNS сервера вместе с портом. По умолчанию порт - 53. И только после этого находится информация про запрашиваемый сайт. Наш ip адрес 87.236.16.171 (от отлично хостинг-провайдера Beget), это означает, что все пакеты, которые вы будете отправлять на сайт будут приходить на этот адрес.

Иногда вы можете получить в ответе утилиты сообщение «Non-authoritative answer» (или на русском: “Не заслуживающий доверия ответ”). Ответ считается авторитетным, только если наш DNS сервер имеет полную информацию о зоне, для рассматриваемой области. Чаще всего, у нашего сервера будет не вся информация, а кэш последнего ответа от авторитетного сервера. Такая информация считается не авторитетной, хотя она была получена из авторитетного источника, но сам DNS сервер таковым не считается.

Первоисточник информации о домене, это его ns сервера. Вы можете их получить, использовав команду с опцией type=ns :

@ns:~$ nslookup -type=ns сайт


Команда выведет список используемых серверов имен, например, у нас это ns1.beget.com. Обычно это от двух до четырех серверов. Если есть авторитетный источник для получения информации, то он указывается в нижней части вывода.

Например, если мы запросим информацию у сервера имен ns1.beget.com, то это уже будет авторитетный (“Заслуживающий доверия”) ответ:

@ns:~$ nslookup сайт ns1.beget.com

Еще можете получить MX запись для домена, для этого нужно установить тип запроса в mx:

@ns:~$ nslookup -type=mx сайт


Здесь будут отображены все настроенные почтовые серверы, у каждого сервера есть свой приоритет, например, 10 или 20. Чем меньше число, тем выше приоритет адреса.

SOA или Start Of Authority предоставляет техническую информацию о домене, для получения этого поля используйте тип запроса soa:

@ns:~$ nslookup -type=soa сайт


Здесь будет выведена такая информация:

  • origin - происхождение полученной информации;
  • mail addr - адрес электронной почты администратора домена;
  • serial - время с момента последнего обнволения домена в формате timestamp;
  • refresh - количество секунд, с момента последнего обновления, когда его нужно повторить;
  • retry - количество секунд, через которое нужно повторить попытку подключения, если DNS сервер недоступен;
  • expire - количество секунд, по истечении которых полученная от первичного DNS информация будет считаться устаревшей;
  • minimum - минимальное количество секунд до следующего обновления.

Также возможно использование nslookup для просмотра всех доступных записей DNS:

@ns:~$ nslookup -type=any сайт


Для просмотра более подробной информации про выполнение запроса вы можете использовать опцию -debug:

@ns:~$ nslookup -type=any -debug сайт

Здесь отображается сообщение, отправленное на сервер и полученный от него ответ. Если ip адресов несколько, то система может отобразить ttl для каждого из них. Некоторые крупные сайты размещены на нескольких серверах, это сделано для противостояния DDoS атакам.

Команда nslookup linux может использоваться и в интерактивном режиме, для этого нужно выполнить ее без параметров:

С помощью команды set вы можете задавать различные параметры, например, порт, или тип запроса:

Set port=53 set type=mx

Чтобы завершить работу с утилитой, используйте команду exit.

ВЫВОДЫ

В этой статье рассмотрено пользование nslookup, утилитой для просмотра DNS записей для домена. Она может быть очень полезной для веб-мастеров и системных администраторов, поскольку очень просто предоставляет всю необходимую информацию.
Ну и напоследок – если вы хотите узнать список мировых root серверов-имен, пропишите: ” @ns:~$ nslookup -type=ns . ” И вы увидите актуальный список главных мировых серверов DNS.

Вконтакте