Программа nslookup
Описать зону - это только полдела. После установки следует убедиться, что все работает нормально. Другой случай, когда необходим контроль за работой сервера DNS - жалобы пользователей. При этом смотреть свои собственные файлы дело бесполезное, т.к. в них скорее всего ошибок нет, т.к. сервер эксплуатируется уже некоторое время. Едиственный способ убедиться в том, что все работает так, как надо - проиметировать работу системы, взаимодействующей с сервером. Именно эту задачу и решает программа nslookup.
Программа может использоваться в интерактивном режиме и в режиме генерации отчета о разовом запросе. Наиболее часто используют интерактивный способ тестирования. Для интерактивного тестирования достаточно просто вызвать программу по имени при этом в качестве сервера будет взят сервер, указанный в файле конфигурации resolver:
/usr/paul>nslookup > 144.206.192.1 Server: arch.kiae.su Address: 144.206.136.10 Name: quest.polyn.kiae.su Address: 144.206.192.1 >exit
В данном конкретном примере цель запроса состояла в получении имени машины по ее IP-адресу. Возможна и обратная операция, т.е. получение IP-адреса по имени:
/usr/paul>nslookup > polyn.net.kiae.su Server: arch.kiae.su Address: 144.206.136.10 .... Address: 144.206.192.1 >exit
Однако, тестирование имен с локального сервера только проверяет как resolver работает с этим локальным сервером. Для того, чтобы проверить, как имена вашего домена разрешаются с другого сервера доменных имен, следует изменить текущий сервер доменных имен, используемый nslookup в качестве первого при разрешении доменного имени:
> server vega.ru Default Server: vega.ru Address: 194.226.43.1 >
В данном случае в качестве текущего сервера выбран сервер vega.ru. После изменения адреса текущего сервера можно снова проверить адреса имен вашего домена на доступность для сервиса доменных имен.
При помощи nslookup можно посмотреть содержание записей базы данных описания зоны. Делается это несколькими способами. Первый из них - это установка типа записей:
> set querytypa=SOA > polyn.kiae.su Server: vega.ru Address: 194.226.43.1 polyn.kiae.su origin = polyn.net.kiae.su mail addr = paul.kiae.su serial = 36 refresh = 3600 (1 hour) retry = 300 (5 mins) expire = 9999999 ( 115 days 17 hours 46 mins 39 secs) minimum ttl = 3600 (1 hour) polyn.kiae.su nameserver = polyn.net.kiae.su polyn.kiae.su nameserver = ns.kiae.su >
В данном случае установлен тип записи для просмотра - SOA, после этого задано имя polyn.kiae.su. В этовет на этот запрос сервер нашел другой сервер, в зону ответственности которого входит данное имя и распечатал запись SOA для этой зоны. При этом все поля распечатываются в понятном для чтения виде.
Другой способ заключается в том, чтобы исполбзовать команду ls:
>ls -t soa polyn.kiae.su .... список записей зоны ..... >
Если необходимо проконтролировать работу сервера и resolver, то в этом случае имеет смысл включить режим отладки - debug:
> set debug > 1.192.206.144.in-addr.arpa. Server: ns.kiae.su Address: 144.206.130.3 ------------ Got answer: HEADER: opcode = QUERY, id = 20, rcode = NOERROR header flags: response, auth. answer, want recursion, recursion avail. questions = 1, answers = 1, authority records = 0, additional = 0 QUESTIONS: 1.192.206.144.in-addr.arpa, type = ANY, class = IN ANSWERS: -> 1.192.206.144.in-addr.arpa name = quest.polyn.kiae.su ttl = 3600 (1 hour) ------------ 1.192.206.144.in-addr.arpa name = quest.polyn.kiae.su ttl = 3600 (1 hour) >
В данном случае запрашивается имя по "обратному" запросу. Программа транслирует сам запрос и способ его исполнения. Для более сложных запросов трасса может составлять несколько экранов.