Нашел ответ после небольшой копки в документации Bind. Формат файла зоны можно контролировать с помощью masterfile-format
(в блоке зоны). Распределение связывания поставляется с инструментом named-comilezone
который будет конвертировать между форматами text
(медленного) и map
(быстрого) файла.
# To convert a text zone file to a map file
$ sudo named-compilezone -f text -F map \
-o /var/named/rpz.example.com.zone.map \
rpz.example.com \
/var/named/rpz.y2k38.date.zone
/var/named/rpz.example.com.zone:3: using RFC1035 TTL semantics
zone rpz.example.com/IN: loaded serial 2
dump zone to /var/named/rpz.example.com.zone.map...done
OK
# To convert it back to text in order to view the contents
# just run the command in reverse
$ sudo named-compilezone -f map -F text \
-o /var/named/rpz.example.com.zone \
rpz.example.com \
/var/named/rpz.y2k38.date.zone.map
Обязательно исправьте права доступа к выходному файлу перед повторным запуском bind
sudo chown named /var/named/rpz.example.com.zone{,.map}
sudo chmod 640 /var/named/rpz.example.com.zone{,.map}
Также обратите внимание, что формат карты занимает больше места на диске, чем текстовый формат.
-rw-r----- 1 named named 7638511 Jan 21 07:50 rpz.example.com.zone
-rw-r----- 1 named named 41967072 Jan 22 06:54 rpz.example.com.zone.map
ТЕМ НЕ МЕНИЕ
На момент привязки 9.11.2.P1 по любой причине формат map
не поддерживается, в частности, для зон response-policy
. Кажется, так было с тех пор, как был добавлен формат (9.10). Я все еще копаю код и багтрекер, чтобы увидеть, известна ли эта ситуация или нет. В связке 9.11.2.P1, зона "успешно" загружена без заявленных ошибок, но поведение response-policy
не происходит (как если бы файл был пуст).