1

Я установил локальную копию BIND9 в качестве кэширующего DNS-экспедитора в моей локальной сети. Я также настроил его с большой зоной response-policy в качестве сетевого блока adblock. С введением RPZ время запуска изменилось с доли секунды до минут.

RPZ имеет около 200 тыс. Записей и около 7,5 МБ на диске. Во время запуска named процессор привязывает процессор к 100%, но после завершения загрузки процедура запуска падает почти до нуля. Я подозреваю, что это связано с тем, что named работает на старом Raspberry Pi (модель B).

Есть ли более эффективный формат хранения, который я мог бы предоставить named чтобы сократить время загрузки? Может ли уже проанализированная зона быть выгружена в собственном формате после первого анализа?

1 ответ1

0

Нашел ответ после небольшой копки в документации 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 не происходит (как если бы файл был пуст).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .