«DNS и BIND»
3. С чего начать?
- Как тебя зовут? - спросила Лань.
У нее был мягкий и нежный голос.
- Если б я только знала! - подумала бедная Алиса.
Вслух она грустно промолвила: - Пока никак...
- Постарайся вспомнить, - сказала Лань. - Так нельзя...
- Скажите, а как вас зовут? - робко спросила она.
- Вдруг это мне поможет...
- Отойдем немного, - сказала Лань. - Здесь мне не вспомнить...
Теперь, когда вы познакомились с теоретической базой DNS, можно переходить к практике. Прежде чем начать работу с зонами, необходимо получить копию пакета BIND. Как правило, этот пакет входит в стандартную поставку операционных систем семейства UNIX. Однако довольно часто есть необходимость в обновлении пакета с целью получения требуемой функциональности и уровня безопасности.
Но все по порядку. Поговорим о том, где можно получить пакет BIND.
Приобретение пакета BIND
В случае необходимости создавать зоны и управлять DNS-серверами этих зон следует обзавестись пакетом BIND. Даже если размещением зон будет заниматься кто-то другой, пакет может оказаться полезным в любой момент. К примеру, можно использовать локальный DNS-сервер для проверки файлов данных до передачи их администратору удаленных DNS-cерверов.
Большинство коммерческих UNIX-систем содержат пакет BIND в составе сетевых TCP/IP-приложений, набор которых обычно входит в стандартную поставку, так что пользователи получают BIND бесплатно. Даже в случаях, когда за сетевые приложения взимается отдельная плата, те из пользователей, кому из-за активной сетевой работы нужен BIND, скорее всего, его уже приобрели.
При этом если не существует готовой версии BIND для конкретной разновидности UNIX-системы, но нужна лучшая из последних версий, всегда можно получить исходные тексты пакета. К счастью, они распространяются совершенно свободно. Исходные тексты самых последних версий BIND (на момент написания книги это BIND 8.4.7 и 9.3.2) доступны для загрузки с публичного FTP-сервера консорциума Internet Software Consortium по адресу ftp.isc.org; файлы называются /isc/bind/src/8.4.7/bind-src.tar.gz и /isc/bind9/9.3.2/bind-9.3.2.tar.gz соответственно. Сборка этих двух версий на большинстве распространенных UNIX-систем - дело достаточно простое.[1] Консорциум ISC включает список UNIX-подобных операционных систем, на которых собирается и работает BIND, и приводит его в файле src/INSTALL (для BIND 8) и README (для BIND 9) : в список входят версии Linux, UNIX и даже Windows. Присутствует также список других UNIX- (и не совсем UNIX) операционных систем (кто-нибудь работает на MPE?), которые BIND поддерживал в прошлом и для которых сборка последних версий пакета может производиться без существенных усилий. Независимо от того, какая именно операционная система используется, мы настоятельно рекомендуем прочитать все связанные с этой системой разделы вышеозначенного файла. Мы также включили инструкции по сборке BIND версий 8.4.7 и 9.3.2 для Linux в виде приложения C; это поразительно короткое приложение.
У кого-то из читателей, вполне возможно, уже есть версия пакета BIND, которая входила в поставку операционной системы, и они задаются вопросом, нужна ли самая последняя и самая лучшая версия BIND? Что в ней есть такого, чего нет в более ранних версиях? Перечислим кратко:
Чуть ли не самой важной причиной использовать последнюю версию BIND является тот факт, что эта версия наименее уязвима для внешних атак. BIND версий 8.4.7 или 9.1.0 успешно противостоит всем широко известным атакам, а BIND версии 4.9.8 - значительному их числу. У более ранних версий BIND есть уязвимые места, известные злоумышленникам. Если DNS-сервер работает в сети Интернет, мы рекомендуем использовать BIND версии 9.3.2, в самом крайнем случае - BIND 8.4.7, либо самую последнюю на момент прочтения этой книги версию.
BIND 8 и 9 поддерживают списки управления доступом для запросов, передачи зоны, а также динамических обновлений. Серверы BIND 9 поддерживают также виды, позволяющие нескольким виртуальным конфигурациям работать на одном сервере имен. Определенным DNS-серверам, в особенности тем, которые работают на узлах-бастионах или узлах, на которых предъявляются повышенные требования к безопасности, может потребоваться использование возможностей списков управления доступом. Подробно об этом механизме мы расскажем в главе 11.
BIND 8 и 9 поддерживают стандарт динамических обновлений (Dynamic Update), описанный в документе RFC 2136. Это позволяет уполномоченным агентам обновлять данные зоны путем посылки специальных сообщений обновления, содержащих команды добавления или удаления записей ресурсов. (В серверах BIND более ранних версий механизм динамического обновления не реализован.) BIND 9 позволяет более тонко управлять безопасностью динамических обновлений, чем BIND 8. О динамических обновлениях мы расскажем в главе 10.
Текущие версии BIND 8 (в частности, 8.4.7) и BIND 9 реализуют механизм инкрементальной передачи зоны, позволяющий вторичным DNS-серверам запрашивать у первичных серверов только изменения зональных данных. Этот механизм делает передачу зон более быстрой и намного более эффективной; он в особенности важен для крупных, часто меняющихся зон. По нашему опыту, в этой области BIND 9 работает более надежно, чем BIND 8.
Если после изучения представленного списка и приложения вы приходите к выводу, что нужен BIND 8 или 9, но ни та, ни другая версия не входят в состав используемой операционной системы, придется загрузить исходные тексты пакета и собрать его в нужной конфигурации.
Инструкции, касающиеся процесса переноса пакета BIND на произвольную UNIX-систему, могли бы вылиться в еще одну книгу подобного размера, поэтому за информацией подобного рода мы отсылаем читателей к списку рассылки пользователей BIND (bind-users@isc.org) и соответствующей конференции Usenet (comp.protocols.dns.bind).[2] Люди, которые читают списки рассылки пользователей BIND и делятся в этих списках своими ценными мыслями, могут быть невероятно полезны в плане вопросов, связанных с переносом BIND. Но прежде чем спрашивать в списке рассылки, существует ли порт BIND для конкретной платформы, не забудьте свериться с результатами поиска по архиву списка рассылки, который доступен по адресу http://www.isc.org/index. pl?/ops/lists. Помимо этого взгляните на веб-страницу ISC, посвященную пакету BIND (http://www.isc.org/sw/bind), где могут быть доступны примечания и ссылки, непосредственно касающиеся используемой вами операционной системы.
Еще один список рассылки, который может оказаться интересным, - это namedroppers. Люди, участвующие в списке рассылки namedroppers, являются членами рабочего комитета организации IETF, который занимается разработкой расширенной спецификации DNS, или DNSEXT. Так, к примеру, обсуждение нового типа записи DNS, скорее всего, будет происходить в списке namedroppers, а не в общем списке рассылки пользователей BIND. Более подробная информация о группе DNSEXT доступна по адресу http://www.ietf.org/html.charters/dnsextcharter. html.
Адрес списка рассылки namedroppers - namedroppers@ops.ietf.org, соответствующая конференция Интернета называется comp.protocols. dns.std. Чтобы подписаться на рассылку namedroppers, следует отправить почтовое сообщение на адрес namedroppers-request@ops.ietf.org, текст сообщения должен представлять собой строку «subscribe namedroppers».
Как узнать IP-адрес
Наверное, многие заметили, что мы привели несколько доменных имен FTP-узлов, на которых доступны для скачивания различные программы, и что упоминаемые адреса списков рассылки также содержат доменные имена. Этот факт должен подчеркнуть важность DNS: очень много полезных программ и советов доступны с помощью именно DNS. К сожалению, здесь присутствует проблематика курицы и яйца: невозможно послать электронное сообщение на адрес, который содержит доменное имя, если система DNS еще не установлена, то есть оказывается невозможным задать в списке рассылки вопрос, касающийся установки DNS.
Конечно, мы могли бы приводить IP-адреса упоминаемых узлов, но поскольку IP-адреса меняются часто (во всяком случае, во временных понятиях книгоиздания), вместо этого мы объясним, как можно временно использовать чужой DNS-сервер для получения информации. Если узел имеет подключение к сети Интернет и программу nslookup, существует возможность получать информацию из пространства имен Интернета.
% nslookup ftp.isc.org. 207.69.188.185
Server: ns1.mindspring.com
Address: 207.69.188.185
Name: ftp.isc.org
Address: 204.152.184.110
Теперь можно использовать IP-адрес узла ftp.isc.org (204.152.184.110) для проведения FTP-сеанса.
Откуда мы узнали, что на узле с IP-адресом 207.69.188.185 работает DNS-сервер? От нашего провайдера интернет-услуг компании Mindspring, которая сообщила нам адрес одного из своих DNS-серверов. Если провайдер интернет-услуг предоставляет своим клиентам DNS-серверы (как это происходит в большинстве случаев), эти серверы можно использовать по назначению. Если какой-либо провайдер не предоставляет DNS-серверы (как не стыдно!), можно временно использовать один из DNS-серверов, упоминаемых в этой книге. Если использовать эти серверы только для поиска нескольких адресов и небольшого объема другой информации, администраторы, скорее всего, не будут возражать. Однако считается недопустимым указывать DNS-клиенту или другому инструменту, выполняющему запросы к DNS, адрес чужого DNS-сервера в качестве постоянного.
Разумеется, если у вас уже есть доступ к узлу с подключением к сети Интернет и работающей DNS, можно воспользоваться этим каналом для FTP-копирования нужных программ.
Получив рабочую версию пакета BIND, можно начинать думать о выборе доменного имени.
[1] Сборка более ранних версий BIND 9 (предшествующих версии 9.1.0) может оказаться не столь тривиальной, поскольку этим версиям требуется механизм pthreads, реализация которого некорректна во многих операционных системах. BIND 9.1.0 и более поздних версий может собираться без pthreads посредством выполнения команды configure --disable-threads.
[2] Чтобы задать вопрос в списке рассылки сети Интернет, следует всего лишь отправить сообщение на адрес списка рассылки. Однако прежде следует подписаться на список, послав администратору списка просьбу о добавлении. Не следует посылать запросы такого рода непосредственно в список рассылки: это считается невежливым. По принятой в сети Интернет практике с администратором можно связаться по адресу list-request@domain, где list@domain - это адрес списка рассылки. Так, связаться с администратором списка рассылки пользователей BIND можно по адресу bind-users-request@isc.org.
Добавить комментарий