На проблемы с сервером имен указывает сообщение об ошибке «unknown host», полученное от пользовательского приложения. Проблемы, связанные со службой имен, обычно могут диагностироваться при помощи nslookup или dig. nslookup подробно обсуждался в главе 8; dig - это альтернативный инструмент со схожей функциональностью, и речь о нем пойдет в этой главе. Прежде чем обратиться к dig, взглянем еще раз на nslookup и его применение для отладки службы имен.
Особо важными для отладки проблем удаленного сервера имен являются три возможности nslookup, описанные в главе 8. Эти возможности отражают способность программы:
- Находить компетентные серверы удаленного домена при помощи запросов записей NS
- Извлекать все записи по удаленному узлу при помощи запросов ANY
- Просматривать все записи удаленной зоны при помощи команд nslookup Is и view
При диагностировании проблемы удаленного сервера обращайтесь напрямую к компетентным серверам, координаты которых получены по запросу NS. Не полагайтесь на информацию, предоставляемую некомпетентными серверами. Если проблемы возникают нерегулярно, опросите все компетентные серверы по очереди и сравните их ответы. Причиной нерегулярных проблем с серверами имен иногда становится тот факт, что удаленные серверы возвращают различные ответы на один и тот же запрос.
Запрос ANY возвращает все записи, в которых фигурирует определенный узел, что дает наиболее широкий диапазон сведений для отладки. Простое знание, какая информация доступна (и недоступна), может разрешить множество проблем. Например, если запрос возвращает запись MX, но не возвращает запись А (адресную), становится легко понять, почему пользователь не мог инициировать сеанс telnet с этим узлом! Многие узлы доступны для почтовой системы, но не для других сетевых служб. В данном случае пользователь запутался и пытается использовать удаленный узел неподобающим образом.
Если невозможно получить какую-либо информацию по имени узла, которое сообщил вам пользователь, возможно, имя узла неверно, и поиск правильного имени в этом случае можно сравнить с поиском иголки в стоге сена. Тем не менее программа nslookup способна помочь. Воспользуйтесь командой nslookup Is, чтобы получить копию файла удаленной зоны и записать ее в локальный файл. Затем используйте команду nslookup view для просмотра этого файла в поисках имен, похожих на представленное пользователем. Многие проблемы возникают из-за неверных имен узлов.
Все упомянутые здесь возможности и команды nslookup используются в главе 8. Тем не менее примеры использования этих команд для разрешения реальных проблем с серверами имен будут полезны. Следующие три примера основаны на реальных сообщениях о проблемах.