rndc showzone 在有效区域上返回“rndc: 'showzone' failed: failed”

rndc showzone 在有效区域上返回“rndc: 'showzone' failed: failed”

我在 Ubuntu 22.04 上运行 BIND 9.18.12-0,在多个安装中都遇到了以下问题。我甚至在本地安装了 bind,并进行了简单的测试配置,但仍然看到此问题。

每当我运行rndc showzone somezone并且 sonezone 是一个有效区域时,它都会返回非常无用的错误消息rndc: 'showzone' failed: failure

服务器仍在运行,我可以查询它。

当我运行时,rndc zonestatus somezone它会返回预期的结果。

当我运行时 rndc showzone nonexistantzone它返回:

rndc: 'showzone' failed: not found
no matching zone 'nonexistantzone' in any view

仅当我运行rndc showzone somezone并且 sonezone 是一个有效区域时我才会得到rndc: 'showzone' failed: failure

当我查看日志文件时,没有错误,只是显示:received control channel command 'showzone somezone'

我是否需要以某种特殊方式配置我的区域或服务器以允许 showzone 工作,或者这只是一个错误?

showzone rndc 命令能起作用吗?

如上所述,我已经设置了一个最小测试服务器来进行调查,配置文件如下:

命名配置文件

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

命名的.conf.选项

options {
    directory "/var/cache/bind";

    dnssec-validation auto;

    listen-on-v6 { any; };
};

命名的.conf.本地

zone "test" {
    type master;
    file "/etc/bind/db.test";
};

数据库.测试

$TTL    604800
@   IN  SOA test. root.test. (
                  3     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@           IN  NS      ns.test.
@           IN  A       192.168.1.1
@           IN  AAAA    ::1
ns          IN  A       192.168.1.1

named.conf.default-zones 和各种默认区域文件与其默认设置保持不变。

答案1

因此事实证明,尽管它似乎没有在帮助中的任何地方提到它,就像 addzone 和 modzone 一样,但 showzone 需要 allow-new-zones 选项。

这需要在您的配置中才能启用 showzone 命令:

options {

    //other options

    allow-new-zones yes;
};

但是,它不会改变行为,或者rndc showzone nonexistantzone它会很高兴地告诉您,如果没有允许新区域选项,该区域不存在。

相关内容