У меня есть DNS-сервер, работающий с зоной, настроенной для моего домена, с allow-update
включенной директивой. У меня есть начальная конфигурация для домена в файле, /var/cache/bind/db.mydomain.com
в этом файле есть строка с $INCLUDE db.aux.mydomain.com
директивой для загрузки записей из этого файла.
Проблема возникает, когда я обновляю зону, используя nsupdate
bind, поскольку он перезаписывает файл db.mydomain.com
, удаляя $INCLUDE
строку и помещая содержимое db.aux.mydomain.com
непосредственно в db.mydomain.com
файл.
Как я могу это предотвратить?
решение1
Я не думаю, что этого можно избежать.
При включении динамических обновлений для зоны вы по сути передаете управление содержимым файла зоны программе Bind; вам больше не разрешается вносить изменения непосредственно в файл, и программе Bind придется перезаписывать его после обновлений.
Что касается $INCLUDE
этого контекста, то что можно было бы ожидать от bind, если бы он сохранил операторы include?
Будет ли ожидаться изменение всех указанных файлов по мере необходимости при внесении обновлений?
Что делать, если на некоторые включаемые файлы имеются ссылки из нескольких зон?
А что если добавить запись для foo.aux.mydomain.com
? Bind не будет знать, что имена файлов что-то для вас значат, он не будет знать, что нужно добавить запись именно в этот файл.
Если динамические обновления не должны применяться к этому поддомену, лучшим вариантом может быть делегирование и выделение его в отдельную зону.