每个教程似乎对此都有不同的看法。对于我的 ISC BIND 区域,我应该使用/etc/bind/zones/
还是/var/cache/bind/
?在上次安装中,我使用了/var/cache/bind/
但 只是因为我被引导这样做;但是我刚刚发现这个新的 Debian 安装中有一个 pid 文件,所以我认为使用“工作目录”来存储区域文件可能不是最好的主意。似乎许多管理员都使用它,这样他们在声明新区域时就不必输入完整路径。
例如:
file "/etc/bind/zones/db.foobar.com";
代替:
file "db.foobar.com";
显然打字更容易,但这是好习惯还是坏习惯?
有些人可能还建议将工作目录设置为/etc/bind/zones
:
options {
// directory "/var/cache/bind";
directory "/etc/bind/zones";
}
...但有东西告诉我这不是一个好的做法,因为我认为 pid 文件会在那里创建(除非它只是/var/cache/bind
巧合)。
我看了看手册页但它似乎没有说明目录选项的用途,您知道它到底是为何设计的吗?
答案1
对于主区域,它们应该进入,/etc/bind/zones
因为它们是配置。辅助(从属)区域应该进入/var/cache/bind/secondary
或类似,因为它只是缓存的数据,如果数据丢失,可以从主区域检索。
答案2
/var/lib/bind/
- 主区域和动态区域
/var/cache/bind/
- 次要区域
/etc/bind/
- 在服务器的整个生命周期内不应该改变的区域。
答案3
就像沃姆布尔,我同意 适合/var/cache/bind
次要(从属)区域。另一方面,我不认为主区域应该位于 下/etc
。它们与 Apache 提供的内容一样都是配置文件,因此它们应该存储在 下的某个位置/var
,而不是 下/var/cache
。
仅供参考,基于 Red Hat 的系统将区域存储在 下/var/named
(它们可能会自动复制到/var/named/chroot/var/named
)。配置文件是/etc/named.conf
。
答案4
我认为 /var/cache 是可以删除的东西,因此可以使用其他东西。
这既不是标准也不是要求。BIND 并不关心,只要您始终如一,就不会盲目编辑配置文件。
我不会将区域文件视为确切的配置数据。named.conf 和 keys.conf 对我来说是配置,而区域数据就是区域数据。只需选择一个地方 —— 甚至可能是专用于此目的的用户目录 —— 然后使用它即可。
在我的特定设置中,我使用 /local/named,它可能是机器上其他位置的符号链接。我将 named.conf 放在 /local/named/ 中,并将目录选项也设置为 /local/named。然后我给出文件名,如 pri/example.com 或 sec/example.com,以将我拥有权限的区域与我从其他来源提取的区域区分开来。这样,我就可以删除所有辅助服务器并在需要时无忧地重新提取。