Quise añadir algunos DNS secundarios en un servidor con Ubuntu LTS 10.04 y por algún motivo, no me almacenaba las zonas (transferencia) por lo que viendo los mensajes del sistema, me encontré con un error como el siguiente:
[1201094.458476] type=1503 audit(1306168600.923:33): operation="mknod" pid=1406 parent=1 profile="/usr/sbin/named" requested_mask="c::" denied_mask="c::" fsuid=104 ouid=104 name="/etc/bind/zones/tmp-3ntDVzDX99"
El problema es que AppArmor no permite que el programa escriba en /etc/bind que es donde está la configuración, por lo que si no deseamos tocar la configuración de AppArmor lo ideal será almacenar los archivos de zona en /var/cache/bind/. Por ejemplo en mi caso para añadir la zona “esclava”, añadí a /etc/bind/named.conf.local lo siguiente:
zone "example.org" {
type slave;
masters { 8.8.8.8; };
file "/var/cache/bind/example.org";
};
Y luego bastó indicarle a bind9 que recargara la configuración:
rndc reload
Eso es todo, al almacenar los archivos en /var/cache/bind/ se corrigió el problema.