bind9 从属服务器将传输的区域文件存储在哪里?

bind9 从属服务器将传输的区域文件存储在哪里?

配置了 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 安全模块,允许基于路径的强制访问控制。它易于学习,在预防和遏制漏洞方面非常有效。我建议您使用它。

可用的这里

相关内容