у меня и для bind через rsync файл с описанием зон на вторичнике перестраивается, сами зоны, как всегда, через notifyrsync -az -e ssh bindsync@80.0.0.2:/var/named/etc/namedb/primaries.zones /var/named/etc/namedb/primaries.zones
if [ $? -ne 0 ]; then
echo "rsync failed"
exit 1
fi
sed -e '/^\/\//D' -e '/^#/D' -e '/allow-.*;/D' \
-e '/;/s/master\//slave\//g' \
-e '/type.*;/s/master/slave/g' \
-e '/type.*slave.*;/ a\
masters { 80.0.0.2; } ;' \
/var/named/etc/namedb/primaries.zones > /var/named/etc/namedb/secondaries.zones
if [ $? -ne 0 ]; then
echo "sed failed"
exit 1
fi
/usr/sbin/rndc reload > /dev/null
Поначалу использовал этот же самый Bind и как резолвер и кеш, но когда bind отжирал памяти >300Mb rndc reload уже не работал, даже остановить bind было проблемой, по 5 минут висел после rndc stop
поэтому пересел на powerdns-recursor, Bind чисто authoritative
DjB использую на почтовиках в качестве резолвер и кеша (rbl много запросов генерят, до 4000/c доходит), в портах freebsd есть патч persistent cache, при перезапуске реально помогает