现在我正在移动我的主服务器,我正在花一些时间改进和简化它的一些设置,现在它已经来到了 DNS 服务器(在新设置中绑定 9.9.5)。
我注意到在我的配置中,我有很多这样定义的区域:
zone "123.123.123.123.in-addr.arpa" in {
type master;
file "123.123.123.123";
};
zone "123.123.123.124.in-addr.arpa" in {
type master;
file "123.123.123.124";
};
zone "example.com" in {
type master;
file "example.com";
};
zone "example.net" in {
type master;
file "example.net";
};
// With another ~20 definitions like that
这对我来说似乎非常低效。有没有办法自动加载找到由options { directory "/some/folder" }
.
不,没有办法在
named.conf
其中及其包含的文件中执行此操作。必须明确定义每个区域,以及至少一个类型和数据源。如果它们包含的记录应该完全重复,您可以让多个区域引用同一个文件,但这是唯一的捷径。其他选项可以在全局选项块( , 等)中设置其默认值
allow-transfer
,also-notify
但您必须至少定义每个区域和必填字段。为了完整起见,我将提到一个我强烈建议反对的较新版本的 BIND 的例外情况。您可以使用新
rndc addzone
功能即时远程创建区域,但这实际上是创建一个带有散列名称(即文件名中的随机字符)和.nzf
BIND“知道”要加载的后缀的附加配置文件。从可维护性的角度来看,这是非常糟糕的,因为它违反了最小意外/惊讶原则;主配置文件没有引用这些附加配置文件,其他管理员将不知道这些文件的内容正在被加载,除非他们熟悉该功能。(非常 DNS 管理员是由于它的新颖性)