配置了 bind9 简单主从串联,用于本地网络中的服务域。区域传输到客户端成功,但我在从属服务器上找不到传输的区域文件。
主服务器配置:
zone "lab." {
type master;
file "/etc/bind/zones/db.lab";
allow-transfer { 192.168.1.5; };
};
从站配置:
zone "lab." {
type slave;
masters { 192.168.1.2; };
file "/etc/bind/zones/db.lab";
};
区域传输成功,主服务器上的 systemd 日志:
... named[1345] client 192.168.1.5#4167 (lab): transfer of 'lab/IN': AXFR started (serial 5)
... named[1345] client 192.168.1.5#4167 (lab): transfer of 'lab/IN': AXFR ended
当我关闭主服务器时,从服务器为区域提供服务。但是,从服务器上的指定路径中没有出现任何文件。
可能是存储在内存中?这是预期行为吗?
谢谢。
答案1
抱歉这么晚才回复,很奇怪居然没人回答你的问题。我猜你已经知道了,但以防万一……
因此,你不应该自己决定将文件放在哪里。正如ubuntu 文档,Apparmor 不允许将文件放置在您想要的任何地方。
只需在你的从属named.conf.local上放入类似以下内容:file "db.example.com";
代替file "/etc/bind/zones/db.lab";
,你就会看到一些文件出现在/var/cache/bind/
。
[编辑]
AppArmor 存在的原因 -
帮助您开始使用 AppArmor 的简短指南
AppArmor 是一个 Linux 安全模块,允许基于路径的强制访问控制。它易于学习,在预防和遏制漏洞方面非常有效。我建议您使用它。
可用的这里