如何在 BIND9 中设置目录区域?

如何在 BIND9 中设置目录区域?

我一直在尝试设置一个目录区在 BIND9 中,这样我就不必在每次添加或删除域时手动更新我的从属服务器。

我问这个问题答案是使用新版本BIND的目录功能。

我尝试遵循我在网上可以找到的任何内容,但这根本没有太多,也没有关于正确调试目录安装的内容。

主域名服务器

在我的主人上,我添加了以下设置main.conf.options

zone "catalog.example.com" {
        type master;
        file "/etc/bind/catalog.example.com.db";
        allow-transfer { trusted-servers; };
        also-notify { slave-servers; };
        notify explicit;
};

注意: 和trusted_serversslave_serversA​​CL 定义,例如:

acl trusted_servers { 10.0.0.1; 10.0.0.2; };
acl slave_servers { 10.0.0.2; };

区域本身/etc/bind/catalog.example.com.db也很特殊,它包含一个版本,并且 NS 条目无效:

; catalog.example.zone
$ORIGIN .
$TTL 86400
catalog.example.com.    IN SOA  . . (
                1       ; serial
                3H      ; refresh
                180     ; retry
                1D      ; expire
                300     ; default_ttl
        )
                        NS invalid.

$ORIGIN catalog.example.com.
version                 IN TXT "1"

这样就可以从任何 BIND 服务器检查版本。

从属 DNS

在从服务器上,我在块中添加了一些设置options

options {
    ...
    allow-new-zones yes;
    catalog-zones {
        zone "catalog.example.com" default-masters { 10.0.0.1; };
    };
    ...
};

以防万一,我还确保我有以下选择:

    allow-recursion { any; };
    allow-query { any; };
    allow-notify { trusted-servers; };
    allow-transfer { trusted-servers; };

我还需要设置controls条目来给予从机的主控制权吗?

接下来,我使用以下内容在从属设备上创建了一个目录区域:

zone "catalog.example.com" {
    type slave;
    file "/var/cache/bind/catalog.example.com.db";
    masters { 10.0.0.1; };
    allow-notify { 10.0.0.1; };
};

该区域确实转移。我可以看到数据(与上面缓存中显示的数据相同)。

问题

结果我收到这样的错误

2020 年 4 月 19 日 13:07:39.124 通知:通知:客户端 @0x7f42548c18b0 10.0.0.1#44622:收到区域“m2osw.com”的通知:不权威

除目录区域之外的所有区域都会发生这种情况。

使用常规设置时,我有如下条目:

zone "m2osw.com" {
        type slave;
        file "/var/cache/bind/m2osw.com.zone";
        masters { 10.0.0.1; };
        allow-transfer { none; };
};

我知道如果不输入该masters ...字段,我会收到该错误(不权威)。

我不明白如何使我想要自动转移的区域具有明确的权威性。

有人可以启发我建立目录区域的努力吗?

我唯一能想到的一件事是我需要正确设置一把钥匙。我已经尝试过,但到目前为止我只能完全阻止我的主 DNS。如果能对这个设置过程进行一些澄清,那就太好了!


笔记:IP 地址与我的服务器上的 IP 地址一一对应,当然,我的服务器使用公共 IP。

相关内容