Формат файла зоны

Описание любого домена (служебная информация, его NS, сервера почты, субдомены) или, иначе говоря, зоны, должно строго соответствовать определенному формату. Рассмотрим его.

$TTL 1h
@       IN      SOA     ns1.my-ns-server.com. hostmaster.example.com. (
    2007022600	; Serial
    3h		; Refresh
    1h		; Retry
    1w		; Expiry 
    1d		; TTL
)

;;; NS ;;;
	        NS	ns1.my-ns-server.com.
		NS	ns.my-secondary-ns.com.

;;; MX ;;;
		MX 10	mx.example.com.

;;; A ;;;
	        A	192.168.1.1
www		CNAME	@
mx		A	192.168.1.1

Наведите курсор на подчеркнутый фрагмент, чтобы узнать его значение. Также вы можете скачать пример файла зоны. Все, что следует после ‘;’ — комментарии.

Первая строка задает параметр $TTL, который определяет время кеширования положительных ответов (ответ в виде найденного IP-адреса). Здесь и далее, время может задаваться в секундах или с помощью сокращений: m — минуты, h — часы, d — дни, w — недели.

В записи SOA указывается primary NS для домена и e-mail контактного лица. В скобках, по порядку:

  1. Serial — Серийный номер. Каждый раз при изменении каких-либо данных его нужно обязательно менять. Когда меняется серийный номер, зона обновляется на всех серверах. Используйте следующий формат: ГГГГММДДнн (год, месяц, день, нн — порядковый номер изменения за день). Если вы уже второй раз за день вносите измения в файл зоны, укажите "нн" равным 01, если третий — 02, и т.д.
  2. Refresh — интервал, через который slave сервера должны обращаться к primary серверу и проверять обновление зоны.
  3. Retry — если slave серверу не удалось обратится к primary серверу, через это время он должен повторить свой запрос.
  4. Expiry — если в течении этого времени slave сервер так и не смог обновить зону с primary сервера, то slave должен прекратить обслуживать эту зону.
  5. TTL — время кеширования отрицательных ответов (ответ "домен невозможно разрешить в IP адрес")

В секции NS задаются NS сервера, которые обслуживают данный домен. Минимально их необходимо два, причем они должны находится в разных подсетях, а лучше — в географически разных местах. Первым указывайте primary сервер.

Секция MX описывает почтовые шлюзы (обычно один), на которые будет доставляться вся почта этого домена. Для каждого шлюза устанавливается приоритет (по умолчанию — 10). Обычно имя домена почтового шлюза выглядит так: mx.example.com.

В секции A указываются субдомены (A) и синонимы (CNAME). В примере домен example.com указывает на IP адрес 192.168.1.1, а домен www.example.com является синонимом example.com.

Обратите внимание:

  • Если вы указываете полное имя домена, пишите в его конце точку.
  • Записи NS, MX и A для основного домена (не субдомена) не должны начинаться с начала строки.
  • Если почтовый шлюз принадлежит этому же домену, не забывайте указывать его в секции A.

Проверить файл зоны на ошибки можно с помощью команды:

$ named-checkzone example.com ./example.com
zone example.com/IN: loaded serial 2007022600
OK

Здесь описаны наиболее полезные и часто применяемые поля описания зоны. Полную информацию можно получить из руководства по BIND.

Ссылки