2004 г
Система доменных имен
Материалы книги П.Б. Храмцова
iнфоцентр
Тестирование серверов и системы доменных имен
Этот материал пытается дать ответ на вопрос - "за чем нужно, вообще, тестировать систему доменных имен и серверы доменных имен". Названы типовые запросы к системе доменных имен и к серверам системы доменных имен.
В тот момент, когда получен корпоративный домен, осуществлено делегирование зоны корпоративного домена, настроены и запущены серверы зоны, наступает следующий этап работы администратора домена - этап эксплуатации.
Главным на этапе эксплуатации становится контроль работы серверов доменных имен зоны и "видимость" зоны (как совокупности хостов) в пространстве доменных имен. При этом, как правило, администратор решает несколько стандартных задач.
Первая стандартная задача - это поиск IP-адреса хоста по доменному имени. При этом следует иметь в виду что, если мы ищем свой собственный только что добавленный в зону хост, то он может быть виден при использовании локального сервера доменных имен, т.к. последний отвечает за зону, в которую вносятся изменения, но не виден для всех остальных пользователей сети.
Это происходит по той простой причине, что slave серверы к моменту проведения поиска еще не обновили зону. Поэтому нужно попытаться использовать для поиска какой-либо "чужой" сервер для исполнения вашего рекурсивного запроса. Хост должен стать "видимым" после обновления описаний зон на всех серверах, ответственных за зону.
Вторая стандартная задача - поиск доменного имени хоста по IP-адресу. Довольно часто внося изменения в "прямую" зону, забывают внести изменения в "обратную" зону. Иногда это делают преднамеренно, если IP-адреса назначаются динамически. В последнее время часто используют поддержку динамических обновлений для DHCP. В этом случае также нужно убедиться в аккуратности ведения обратной зоны и внесения обновлений.
Третья стандартная задача, которая возникает в контексте почтовых проблем, - это перебор имен resolver-ом. На самом деле, здесь существует масса подводных камней связанных и с почтовым программным обеспечением и с версией пакета BIND.
Четвертая стандартная задача - передача описания зоны. Она возникает при выявлении рассогласования между master сервером зоны и slave серверами. Кроме того, "скачивание" всей зоны, как правило, разрешено далеко не всем, что тоже требует проверки.
Пятая стандартная задача - это выявление типовых ошибок при управлении зоной, к которым обычно относят: некорректное делегирование зон, проблемы установки синонимов на канонические имена в контексте MX и NS записей описания зоны, "проброс" запросов на несуществующие корпоративные домены различным прикладным ПО.
Шестая стандартная задача - получение отладочных отчетов о работе системы доменных имен и выполнении рекурсивных запросов вашим сервером доменных имен. Кроме того, всегда хочется иметь надежную информацию об исполнении динамических обновлений описания зоны или об уведомлениях об изменении зоны, которые ваш сервер рассылает.
Седьмая стандартная задача - это анализ запросов к вашему серверу на предмет его загруженности и безопасности. Оба этих вопроса тесно связаны. Чрезмерная загруженность сервера может сделать его "невидимым" в Интернет, что в свою очередь является в большинстве случаев основной целью злоумышленников.
Мы не претендуем на полноту предложенного выше списка. Тем не менее, на наш взгляд основные проблемы, на которые следует обратить внимание, в нем перечислены. Современные средства тестирования DNS позволяют тем или иным способом решить все задачи, порожденные этими проблемами.
Наиболее известными средствами тестирования работы системы DNS и серверов среди администраторов системы DNS и пользователей сети являются: nslookup, host и dig.
Nslookup является старшей из всех перечисленных средств тестирования DNS. Ее основное преимущество - наличие практически во всех операционных системах (В Windows 9х, ее, правда, нет, но на серверных платформах Microsoft nslookup присутствует). Программа работает в интерактивном и неинтерактивном режимах. Для ее применения, в прочем, как и для host с dig, нужно быть готовым к работе в командной строке.
Основной недостаток nslookup - невозможность работы с новыми возможностями серверов (ixfr, например). Однако, для исполнения основных функций администратора домена она вполне пригодна.
Про dig можно, наверное, сказать, что это основное средство отладки BIND. Программа поставляется в одном дистрибутиве с серверами BIND. Единственная программа из нашей тройки, которая продолжает развиваться и совершенствоваться. Однако, очевиден ее уклон сторону тестирования named. В отчетах много важной с точки зрения отладки ПО информации, в частности возможность контроля флагов заголовков DNS сообщений.
Host интересна своей направленностью на удовлетворение нужд администраторов зон, а не разработчиков серверов. В ней реализованы дополнительные возможности по составлению отчетов по зонам. RIPE, например, использует Host для сбора и опубликования статистики по зонам своей ответственности. К сожалению, с более свежую версию программы, чем версия от 2000 года в сети найти, видимо, не удастся. Во всяком случае, у нас это не получилось.
Существует еще несколько средств тестирования DNS для разных платформ, направленных на облегчение жизни администраторов, но все они менее популярны, чем nslookup, host и dig.
Рекомендованная литература:
- Альбитц П., Ли К.. DNS и BIND. - Пер. с англ. - СПб: Символ-Плюс, 2002. - 696 с.
- A. Romao. RFC 1713. Tools for DNS debugging. 1994. (http://www.ietf.org/rfc/rfc1714.txt?number=1713)
Полезные ссылки:
- http://ciisa.isa.utl.pt/cgi-bin/man2html?dig+1 - справочное руководство по dig в стиле Unix manual. Следует иметь в виду, что версия с которой вы работаете можно довольно сильно отличаться от этого описания. По этой причине лучше использовать тот manual, который поставляется с дистрибутивом named и dig.
- http://tom.imm.uran.ru/cgi-bin/man?nslookup(8) - страница man по nslookup.
- http://ciisa.isa.utl.pt/cgi-bin/man2html?host+1 - страница man host для операционной системы Linux. Это не полный список ключей, но кое что есть
- Salamon, Andr‡s. "Tools to manage DNS." 1999.
URL: http://www.dns.net/dnsrd/tools.html
Назад Оглавление Вперед