Вместо того, чтобы помещать все свои зоны в один файл named.conf.local, я хотел бы иметь их в группах, которыми я могу управлять как отдельные файлы. Итак, я попытался поместить в named.conf.local следующее:
include "/home/zones/group1.conf";
include "/home/zones/group2.conf";
include "/home/zones/group3.conf";
Однако, когда я перезапускаю named, я вижу в журналах ошибки «доступ запрещен». Ubuntu использует apparmor для привязки, поэтому я также добавил следующее в /etc/apparmor.d/usr.sbin. named:
/home/zones/group1.conf r,
/home/zones/group1.conf r,
/home/zones/group1.conf r,
Теперь, когда я перезапускаю имя, все вроде хорошо. Зоны загружены (думаю). Однако день или два спустя я вижу, что мой вторичный сервер имен жалуется, что первичный сообщает ему, что он не является авторитетным для этих доменов. Затем мне нужно снова поместить все домены обратно в файл named.conf.local.
Как я могу заставить bind9 использовать включаемые файлы таким образом? Я не очень разбираюсь в apparmor, так что это может быть проблемой, а может и не быть, но я использовал включаемые файлы таким образом в Debian OK.
Вы бежали service apparmor reload
после изменения конфигурации AppArmor? Если это так, и в журналах нет ошибок разрешений, то я подозреваю, что это настоящая конфигурация привязки. Включаете ли вы эти файлы в то же место, что и при непосредственном их определении? Отвечает ли привязка для этих доменов при прямом запросе?