База знаний по Open Source
Авторизация
Поиск по базе знаний

Файл зоны

Файл зоны – это обычный текстовый файл, который может быть изменен при помощи любого текстового редактора. Ниже приведен пример файла зоны сразу после ее создания.

;
; Database file test.fio.ru.dns for test.fio.ru zone.
; Zone version: 1;
@ IN SOA mcio-08kwa653t4.fio.ru. admin.fio.ru. (
1 ; serial number
900 ; refresh
600 ; retry
86400 ; expire
3600 ) ; minimum TTL;
; Zone NS records
;
@ NS mcio-08kwa653t4.fio.ru.
;
; Zone records
;

Файл зоны состоит из множества записей, причем одна запись обычно занимает одну строку. Строки, начинающиеся с точки с запятой, являются комментариями и не анализируются DNS-сервером.

Любой файл зоны должен содержать как минимум следующее:

  • одну запись Start Of Authority (SOA), содержащую параметры зоны;
  • не менее одной записи Name Server (NS), содержащей адреса DNS-серверов, ответственных за хранение и обслуживание зоны;
  • не менее одной записи Host (A), содержащей информацию о соответствии имени DNS-сервера, указанного в каждой записи NS, его IP-адресу.

Записи зон

При создании и изменении зоны вы чаще всего будете использовать следующие типы записей:

Тип записи Назначение записи
Start Of Authority (SOA) Описывает зону и ее параметры. В файле зоны встречается однократно и не требует редактирования вручную
Name Server (NS) Описывает один DNS-сервер
Host (A) Описывает соответствие имени хоста его IP-адресу. Используется часто
Canonical Name (CNAME) Описывает альтернативное имя для уже существующего хоста
Mail Exchanger (MX) Описывает почтовый хост, обрабатывающий электронную почту домена
Pointer (PTR) Описывает соответствие IP-адреса имени хоста. Используется в зонах обратного просмотра
Service Location (SRV) Описывает сервисы, предоставляемые хостами

Для создания и изменения записей зон можно использовать как инструменты с графическим интерфейсом, так и редактировать файл зоны вручную в любом текстовом редакторе.

Внимание!

После внесения изменений в файл зоны в текстовом редакторе перезапустите службу DNS-сервера, чтобы загрузить новый файл зоны в память.

Общий синтаксис записей зон

Любая DNS-запись имеет следующий вид:

владелец [класс] [TTL] тип данные

Описание полей DNS-записи приведено в таблице.

Поле Описание
владелец Относительное или полное имя записи. Если значение этого поля совпадает с именем зоны, то вы можете использовать символ @ вместо полного имени зоны
класс Определяет класс, к которому принадлежит запись. Например, IN указывает, что запись принадлежит к классу записей Интернет-ресурсов. Это единственный класс записей, поддерживаемых DNS-сервером, входящим в состав Windows 2000. В связи с этим в любой записи поле класса может быть опущено, хотя стандарт DNS требует обязательного указания класса записи
TTL Определяет время жизни конкретной записи в кэше других DNS-серверов. Является необязательным для большинства типов записей. Если поле TTL у записи опущено, то берется соответствующее значение из параметров зоны (запись SOA). Для того, чтобы предотвратить кэширование записи указывайте значение 0 в качестве TTL
тип Обязательное поле, содержащее один из стандартных текстовых идентификаторов, определяющих тип записи
данные Обязательное поле, содержащее данные переменной длины. Формат данных определяется типом записи

Поля записи разделяются любым количеством пробелов или символов табуляции.

Служебные записи (SOA и NS)

Каждый файл зоны должен содержать запись SOA, которая описывает зону, параметры ее синхронизации и параметры устаревания ее записей. Кроме того, зона должна содержать не менее одной записи NS, описывающей DNS-сервер [в нотации DNS они называются серверами имен (name server)], обслуживающий зону. Если серверов два или более, то один из них является основным, а все остальные – дополнительными. Все изменения в зоне производятся на основном сервере, после чего дополнительные самостоятельно получают ее измененную копию.

Большинство организаций, регистрирующих доменные имена, требуют наличия не менее двух обслуживающих зону DNS-серверов. Кроме того, для надежности эти серверы должны быть расположены в разных IP-сетях класса C.

Синтаксис записи NS

Название Name Server
Определена в RFC 1035
Описание Запись, указывающая один из серверов, обслуживающих зону. В виде NS-записей указываются все сервера (основной и дополнительные). Тот сервер, который указан в SOA-записи, считается основным, все остальные – дополнительными.
Синтаксис владелец [класс] [TTL] NS хост
Параметры Полное DNS-имя сервера, который должен быть определен в DNS. Допускается определение серверов в той же зоне, которую они обслуживают.
Пример @ NS mcio-08kwa653t4.fio.ru @ NS host1.test.fio.ru

Синтаксис SOA-записи

Название Start Of Authority
Определена в RFC 1035
Описание Запись, описывающая зону ответственности.
Синтаксис владелец класс SOA первичный_сервер ответственный (редакция обновление повтор устаревание TTL)
Параметры Первичный сервер – полное имя сервера, содержащего основную копию зоны.Ответственный – почтовый адрес лица, ответственного за управление зоной. Символ @ в почтовом адресе заменяется на точку.Редакция – число, указывающее порядковый номер редакции зоны. При внесении любых изменений вручную необходимо увеличивать это число, т. к. дополнительные DNS-серверы определяют необходимость копирования зоны именно по этому параметру. При изменении зоны через Консоль управления это число увеличивается автоматически.Обновление – интервал в секундах, в течение которого дополнительные DNS-серверы ожидают, прежде чем отправить запрос об изменении зоны. По истечении этого интервала дополнительный DNS-сервер запрашивает запись SOA с основного, проверяет в ней поле Редакция и определяет необходимость загрузки файла зоны. По умолчанию – 900 секунд (15 минут).Повтор – интервал в секундах, в течение которого дополнительные DNS-серверы ожидают, прежде чем произвести повторную попытку обновления зоны с основного сервера в случае неудачи предыдущей попытки. По умолчанию – 600 секунд (10 минут).Устаревание – интервал в секундах, по истечении которого информация зоны считается устаревшей. Этот параметр используется дополнительными серверами, которые перестают отвечать на запросы после того, как пройдет указанное количество времени с момента последнего успешного обновления. По умолчанию – 86 400 секунд (24 часа).TTL – минимальное время жизни записей зоны, для которых не указано индивидуальное значение. Используется для указания другим DNS-серверам и DNS-клиентам, в течение какого периода времени они могут кэшировать записи зоны. По умолчанию – 3 600 секунд (1 час).
Пример @ IN SOA mcio-08kwa653t4.fio.ru. admin.fio.ru. ( 1 900 600 86400 3600)

Пример служебных записей зоны:

; Database file test.fio.ru.dns for test.fio.ru zone.
; Zone version: 2541744385
;
@ IN SOA ns1.test.fio.ru. admin.fio.ru. (
2541744385 ; serial number
10800 ; refresh
3600 ; retry
604800 ; expire
86400 ) ; minimum TTL
;
; Zone NS records
;
@ NS ns1.test.fio.ru.
@ NS ns2.test.fio.ru.
@ NS ns2.fio.ru.
;
; Zone records
;
ns1 A 195.34.17.1
ns2 A 213.128.193.119

Записи хостов (A и PTR)

Для установления соответствия между именем хоста и его IP-адресом используется запись A, для обратного соответствия – запись PTR. Для одного и того же IP-адреса допустимо использование нескольких имен хостов, однако для одного IP-адреса рекомендуется использовать только одну запись PTR. Записи A используются в зонах прямого просмотра, PTR – в зонах обратного просмотра.

Синтаксис записи A

Название Host Address
Определена в RFC 1035
Описание Запись, устанавливающая соответствие имени определенному IP-адресу.
Синтаксис владелец [класс] [TTL] A IP_адрес
Параметры IP-адрес хоста.
Пример host1 IN A 192.168.0.1

Синтаксис AAAA-записи

Название IPv6 Host Address
Определена в RFC 1886
Описание Запись, устанавливающая соответствие имени определенному IP-адресу версии 6.
Синтаксис владелец [класс] [TTL] AААА IP_адрес_v6
Параметры IP-адрес версии 6 хоста.
Пример host2 IN AAAA 4321:0:1:2:3:4:567:89ab

Синтаксис PTR-записи

Название Pointer
Определена в RFC 1035
Описание Запись, устанавливающая соответствие IP-адреса доменному имени. Используется в зонах обратного просмотра
Синтаксис владелец [класс] [TTL] PTR имя
Параметры Полное DNS-имя хоста, соответствующего указанному IP-адресу.
Пример 1.0.168.192.in-addr.arpa PTR host1.test.fio.ru

Записи A и PTR могут быть добавлены в зону следующим образом:

  • можно вручную создать необходимые записи (A и PTR) для компьютеров со статическими IP-адресами;
  • компьютеры, работающие под управлением Windows 2000 и использующие динамические IP-адреса, самостоятельно добавляют или изменяют необходимые записи (A и PTR) в зоне;
  • для компьютеров, работающих под управлением более ранних версий Windows и использующих динамические IP-адреса, добавление или изменение необходимых записей (A и PTR) осуществляется DHCP-сервером из состава Windows 2000 Server.

Примечание

Записи A и PTR не требуются для всех компьютеров. Они необходимы только для компьютеров, предоставляющих свои ресурсы в совместное использование. Тем не менее при использовании домена Active Directory Windows 2000 создает запись A для каждого компьютера в домене.

Записи альтернативных имен (CNAME)

Записи альтернативных имен позволяют использовать два или более имен для одного хоста. Использование альтернативных имен отличается от использования нескольких записей A для одного IP-адреса.

Синтаксис CNAME-записи

Название Canonical Name
Определена в RFC 1035
Описание Указывает, что владелец записи является альтернативным именем, для DNS-имени, указываемого как параметр.
Синтаксис владелец [класс] [TTL] CNAME имя
Параметры Полное или относительное DNS-имя хоста.
Пример alias CNAME host1.test.fio.ru alias2 CNAME host2

Альтернативные имена используются для:

  • изменения имени хоста, определенного при помощи записи A;
  • задания привычных имен для хостов, предоставляющих определенные сервисы;
  • распределения нагрузки между серверами, предоставляющими один и тот же сервис.

При изменении имени хоста, которое использовалось для обращения по сети, придерживайтесь следующей последовательности.

  • cоздайте запись A с новым именем, указывающую на IP-адрес хоста;
  • cоздайте запись CNAME со старым именем, указывающую на новое имя хоста;
  • удалить запись A хоста со старым именем.

Придерживаясь этой практики, вы позволите обращаться к хосту и по старому, и по новому имени, а когда надобность в старом имени отпадет, достаточно удалить запись CNAME.

Использование записей CNAME для задания привычных имен хостов позволяет осуществлять прозрачное перемещение сервисов с одного хоста на другой, балансировку нагрузки между хостами, прозрачно для пользователей изменять IP-адреса хостов, предоставляющих сервисы.

Рассмотрим это на примере.

Изначально в сети существовал хост, предоставляющий Web- и FTP-сервисы. Соответствующие записи зоны имели следующий вид:

host-a IN A 10.0.0.20

www IN CNAME host-a

ftp IN CNAME host-a

Со временем было принято решение переместить FTP-сервер на отдельный хост. За счет использования записей CNAME это было сделано прозрачно для пользователей:

host-a IN A 10.0.0.20

host-b IN A 10.0.0.21

www IN CNAME host-a

ftp IN CNAME host-b

Со временем нагрузка на Web-сервер возросла, и было принято решение установить дополнительный Web-сервер, разделяя нагрузку между ними, что было сделано прозрачно для пользователей за счет записей CNAME:

host-a IN A 10.0.0.20

host-b IN A 10.0.0.21

host-c IN A 10.0.0.22

www IN CNAME host-a

www IN CNAME host-c

ftp IN CNAME host-b

Внимание!

Относитесь внимательно к удалению записей CNAME, которые ссылаются на уже несуществующие записи хостов. DNS-сервер не отслеживает взаимосвязи между записями, поэтому попытки разрешения записей CNAME, ссылающихся на несуществующие хосты, могут повысить нагрузку на DNS-сервер.

Записи почтовых хостов (MX)

Записи почтовых хостов домена используются почтовыми серверами и программами для определения хоста, на который должна быть отправлена почта. При этом почтовый сервер пытается найти запись MX в домене, имя которого получается отсечением от почтового адреса имени пользователя и символа @. Например, при отправке почты на адрес user1@fio.ru, поиск записи MX будет проводиться в домене fio.ru. Записи почтовых хостов указывают серверы, которые занимаются обработкой входящей почты для соответствующего домена. При наличии нескольких записей MX почтовый сервер пытается сначала использовать запись с наименьшим приоритетом.

Синтаксис записи MX

Название Mail eXchanger
Определена в RFC 1035
Описание Запись, указывающая на сервер, осуществляющий обработку и доставку входящей почты.
Синтаксис владелец [класс] [TTL] MX приоритет хост
Параметры Приоритет – число от 0 до 65535, определяющее приоритет сервера при наличии в зоне нескольких MX записей с одним именем. Обработка начинается с сервера с наименьшим приоритетом.Хост – полное или относительное имя хоста почтового сервера, который должен быть определен в DNS.
Пример test.fio.ru MX 10 host1.test.fio.ru @ MX 20 host1.test.fio.ru

Рассмотрим пример:

@ IN MX 10 mailserver1

@ IN MX 20 mailserver2

Здесь будет сначала использован сервер mailserver1, а при невозможности отправить почту через него – mailserver2. Если и второй сервер будет недоступен, автору сообщения будет отправлено уведомление о невозможности доставки почты.

Записи сервисов (SRV)

Записи сервисов – это новая возможность, не так давно используемая в DNS. Однако в Windows 2000 они используются очень активно, в основном для обеспечения работы Active Directory. Вся информация о доменах AD, контроллерах доменов, серверах глобального каталога и прочих сервисах, необходимых для ее функционирования, хранится в DNS в виде записей SRV.

Синтаксис записи SRV

Название Service locator
Определена в RFC 2052
Описание Запись, определяющая сервера, предоставляющие определенные сервисы.
Синтаксис сервис.протокол.имя [класс] [TTL] SRV приоритет вес порт хост
Параметры Сервис – символьное имя сервиса. Имена для стандартных сервисов (_telnet, _smtp и т. п.) определены в RFC 1700.Протокол – символьное имя протокола. Обычно используются _tcp и _udp, хотя может быть использован любой протокол, определенный в RFC 1700 .Имя – доменное имя, которое будет использовано для поиска информации о сервисах.Приоритет – число от 0 до 65535, определяющее приоритет сервера, указываемого в поле хост , при использовании нескольких записей SRV с одинаковым именем.Вес – число от 1 до 65535, которое в дополнение к приоритету используется для балансировки нагрузки между несколькими серверами. Значение этого поля учитывается при использовании нескольких записей SRV с одинаковыми приоритетами. Если балансировка нагрузки не используется, в качестве веса указывается 0.Порт – число от 0 до 65535, определяющее номер порта сервера, через который предоставляется указанный сервис. Соответствие портов стандартным сервисам определено в RFC 1700 , хотя можно использовать другие невостребованные номера портов.Хост – полное или относительное имя хоста сервера, который предоставляет указанный сервис. Хост должен быть определен в DNS. Вместо имени хоста может быть указана точка, значит указанный сервис не предоставляется в соответствующем домене
Пример _ldap._tcp.ms-dcs SRV 0 0 389 host1.test.fio.ru_ldap._tcp.ms-dcs SRV 10 0 389 host1.test.fio.ru

Так как все необходимые записи SRV создаются системой автоматически, вряд ли вам понадобится добавлять или настраивать их вручную. Для работы Active Directory используются динамически обновляемые зоны, все обновления в которые система вносит самостоятельно. Если ваша зона обслуживается сервером, не поддерживающим DDNS (допустим, старые версии DNS-серверов для платформы UNIX), можно добавить все необходимые записи SRV в зону из файла %systemroot%system32Confignetlogon.dns. Он обновляется каждый раз при внесении изменений в конфигурацию AD.

Добавить комментарий