BIND 9.11.4-3 Ubuntu 18.10
日志中出现了以下错误,这似乎表明成功了,但有一个我不明白的 apparmor 错误
行按最新行排列在最上面:
....
Jan 15 16:00:21 vaio named[25553]: transfer of '0.0.10.in-
addr.arpa/IN' from 10.0.0.110#53: Transfer status: success
....
Jan 15 16:00:20 vaio audit[25553]: AVC apparmor="DENIED"
operation="mknod" profile="/usr/sbin/named"
name="/etc/bind/zones/tmp-wTjV9cpi5S" pid=25553 comm="isc-
worker0000" requested_mask="c" denied_mask="c" fsuid=126 ouid=126
Jan 15 16:00:20 vaio named[25553]: dumping master file:
/etc/bind/zones/tmp-wTjV9cpi5S: open: permission denied
区域文件位于/etc/bind/zones
,该目录的权限为:
drwxrwsr-x 2 bind bind 4096 2019-01-15 15:20 zones
答案1
存储从属区域的正确位置是 /var/lib/bind,/etc/bind 是用户配置位置。如您所见,apparmor 拒绝在 /etc/bind 文件夹中进行写入。
更新您的从属区域以使用 /var/lib/bind 中的任何文件。
答案2
您定义的存储从属区域的路径在 中定义/etc/bind/named.conf.options
,即directory "var/cache/bind"
。
确保绑定组对存储数据库区域的目录具有写访问权限;
我建议这样做:
file slaves/$db_file_name
在 中定义/etc/named.conf.local
。
并添加目录/var/cache/bind
sudo mkdir /var/cache/bind/slaves
然后将所有权更改为绑定组
sudo chown bind:bind /var/cache/bind/slaves
答案3
我花了很多功夫解决这个问题。(ubuntu 20.04 和 bind9 DNS)
原始来源:https://linux.m2osw.com/bind-errors-between-masters-and-slaves
我所做的是这样的:
vim /etc/apparmor.d/usr.sbin.named
原来的:
/etc/bind/** r,
/var/lib/bind/** rw,
/var/lib/bind/ rw,
/var/cache/bind/** lrw,
/var/cache/bind/ rw,
添加:
/var/named/** rw,
无论您的区域文件在哪里,您都需要在此处添加路径。
和reboot
=)