Управление доменом
🕛 03.08.2009, 18:57
Несмотря на то что вы создали файл /etc/named, conf, указали в нем глобальные опции и определили зоны, оказывается, что настройка ведущего сервера DNS не закончена и запускать его еще рано. Если в файле /etc/named. conf указана зона типа master, необходим также конфигурационный файл зоны. В этом файле указываются имена узлов и IP-адреса. Если сервер имен обслуживает домен, содержащий большое число узлов, создание и поддержка файла зоны составляет значительную часть работы по администрированию сети. Если же домен невелик и состояние его не изменяется, достаточно лишь один раз создать конфигурационный файл.Пример конфигурационного файла зоны
В листинге 1 8.2 приведен пример простого конфигурационного файла зоны. Этот файл начинается с имени зоны (threeroomco. com.) и раздела, в котором определяются параметры домена по умолчанию. Эти параметры детально рассматриваются ниже. За этим разделом следует набор записей, предоставляющих информацию о соответствии имен компьютеров и IP-адресов. Некоторые из записей относятся ко всему домену. Подробно структура записей будет рассмотрена позже.
внимание В системе DNS имена узлов должны оканчиваться точкой. Если, работая с кли-f ентскими программами Internet (Web-броузером, клиентом FTP, программой подготовки почты), вы не укажете завершающую точку, система Linux сначала посчитает, что имя домена не указано, поэтому добавит к имени узла имя
домена, заданное в /etc/resolv.conf. Если попытка преобразования такого имени окажется неудачной, система вместо имени домена добавит к имени, указанному пользователем, точку и снова попытается выполнить преобразование. Эти действия скрыты от пользователя, поэтому он может пренебрегать точкой в конце имени без ущерба для себя. Настраивая сервер DNS, администратор не может позволить себе подобной небрежности. В конфигурационном файле можно задавать либо полностью определенное доменное имя, оканчивающееся точкой, либо имя узла, не содержащее имени домена. Если вы забудете указать точку в конце полного доменного имени, система добавит к нему имя домена. Сформированное таким образом имя будет иметь вид gingko.threeroomco.com.threeroomco.com.
Листинг 18.2. Простой конфигурационный файл зоны
threeroomco.com.
IN
SOA
2002043004
3600
600
604800
86400
)
gingko.threeroomco.com.
birch
spruce
threeroomco.com.
WWW
kelp
@
@
@
spruce.threeroomco.com. \ admin.threeroomco.com. (
; serial (последовательный номер)
; refresh (обновление)
; retry (повторное обращение)
; expire (срок действия)
; default_ttl (время жизни)
IN A 192.168.1.1
IN A 192.168.1.2
IN A 192.168.1.3
IN A 192.168.1.4
IN CNAME gingko
IN CNAME jacques.pangaea.edu.
IN MX 10 birch.threeroomco.com.
IN MX 2 0 mail.pangaea.edu.
IN NS spruce.threeroomco.com.
Формат записи в конфигурационном файле зоны выглядит следующим образом: имя IN mun_ записи содвржимое_записи
Здесь под именем подразумевается имя компьютера или псевдоимя, связанное с адресом и применяемое для обратного преобразования. Идентификатор IN сокращенно означает Internet и определяет класс записи. Кроме IN существуют и другие классы записей, но в данной главе они рассматриваться не будут. Тип записи - это код, определяющий запись для прямого или обратного преобразования адресов, или запись, используемая почтовым сервером. Содержимое записи может занимать одну или несколько строк и обычно представляет собой IP-адрес или имя узла. Если содержимое записи является описанием зоны, оно располагается в нескольких строках, в остальных случаях вся запись помещается в одной строке. Признаком комментариев является точка с запятой, текст, следующий за ней, не обрабатывается сервером.
В различных конфигурационных файлах BIND точка с запятой интерпретируется по-разному: в файле named, conf ею заканчивается выражение, а в файле
зоны она определяет комментарии. Это следует учитывать при редактировании
конфигурационных файлов BIND, в противном случае сервер будет работать
некорректно.
Конфигурационный файл зоны обычно помещается в каталог /var/named, и ему присваивается имя, связанное с именем зоны. Обычно для такого файла выбирается имя db. имя-зоны или named. имя-зоны. Конфигурационному файлу можно присвоить любое имя, необходимо лишь, чтобы оно совпадало с именем, указанным в /etc/ named, conf.
Формирование описания зоны
Для описания зоны используется запись SOA (Start of Authority - начало полномочий). В поле, определяющем тип записи, указано значение SOA. Наличие этой записи означает, что сервер имен поддерживает данный домен. В поле имени указывается имя зоны, совпадающее с именем, заданным в файле /etc/named. conf (не забывайте о завершающей точке!). Содержимое записи в данном случае состоит из трех частей.
Ведущий сервер имен. Первое имя (в листинге 18.2 это spruce. threeroomco. com.) представляет имя ведущего сервера имен для зоны. В листинге 18.2 за этим именем следует обратная косая черта (\). Как и во многих конфигурационных файлах, этот символ означает, что продолжение записи находится на следующей строке. Часто в конфигурационных файлах зоны две строки объединяются в одну, и в этом случае обратная косая черта не нужна.
Почтовый адрес администратора. Второе имя (в листинге 18.2 это admin. threeroomco.com.) определяет почтовый адрес администратора, отвечающего за поддержку зоны. Этот адрес представляется в несколько необычном формате. Чтобы его можно было использовать, надо заменить первую точку на символ @, так, адресасЬап .threeroomco .com. Будет преобразован вadmin@ threeroomco. com.
Временные соотношения. Числовые значения, помещенные в скобки и располагающиеся в последующих строках, задают информацию о временных соотношениях. В листинге 18.2 приведены комментарии, поясняющие назначение соответствующих чисел. В строке, помеченной комментариями serial, содержится последовательный номер, который необходимо увеличивать при каждом редактировании файла. Ведомый сервер на основании данного значения определяет, следует ли обновлять свой конфигурационный файл. Многие администраторы задают последовательный номер как дату (в формате YYYYMMDD), сопровождая ее номером изменений, произведенных в течение текущего дня. В строке refresh задается время в секундах между обращениями ведомого сервера к ведущему. Значение 3600, приведенное в листинге 18.2, соответствует одному часу, следовательно, ведомый сервер будет каждый час проверять, не изменились ли параметры зоны на ведущем сервере. Значение retry представляет время в секундах, по истечении которого ведомый сервер предпримет повторную попытку обращения к ведущему серверу в случае, если первая попытка окажется неудачной. Значение expire также
определяет время в секундах, в течение которого запись считается действительной, если ведомому серверу не удается связаться с ведущим. По истечении указанного времени запись не может быть использована для преобразования имен. Величина expire обычно соответствует одной неделе и, конечно же, должна превышать значение refresh. Значение default_ttl задает время жизни. В течение этого времени сервер DNS должен хранить информацию о результатах преобразования. Обычно величина времени жизни составляет от одного дня (86400 в листинге 18.2) до одной недели (604800). Если IP-адреса вашей сети часто изменяются или если вы предполагаете, что вскоре придется произвести много изменений, имеет смысл задать время жизни порядка часа.