BIND 权威名称服务器:SERVFAIL?

Luc*_*nti 5 domain-name-system bind

我有一个 BIND 9.6 实例,它充当整个建筑物的缓存 NS,并且对内部区域也具有权威性(下面的“示例”):

zone "example" {
    type master;
    file "example";
    update-policy { grant dhcp-update subdomain example. A TXT; };
};
Run Code Online (Sandbox Code Playgroud)

由于恶意交换机,我们失去了与世界其他地方的连接,NS 开始回答 SERVFAIL;令我惊讶的是,服务器也无法响应对示例域的查询。

这种行为的原因是什么?既然有权威数据,NS难道不应该能够回答吗?

编辑:其余的配置是 Debian 附带的标准配置:根服务器的提示以及本地主机和广播的区域。

Gre*_*ort 4

您可以打开调试来查看这是否不能直接回答您的问题。但是,我怀疑您的区域文件的权限不允许绑定用户读取该文件。

我在named.logging.conf中定义所有日志记录选项,然后在主文件中使用包含:

logging {
        channel default_syslog {
                // Send most of the named messages to syslog.
                syslog local2;
                severity debug; 
        };

        channel audit_log {
                // Send the security related messages to a separate file.
                file "/var/named/system/named.log";
                severity debug;
                print-time yes; 
        };

        channel null {
                null;
        };

        category default { default_syslog; };
        category general { default_syslog; };
        category security { audit_log; default_syslog; };
        category config { default_syslog; };
        category resolver { audit_log; };
        category xfer-in { audit_log; };
        category xfer-out { audit_log; };
        category notify { audit_log; };
        category client { audit_log; };
        category network { audit_log; };
        category update { audit_log; };
        category queries { audit_log; };
        category lame-servers { null; }; 

};
Run Code Online (Sandbox Code Playgroud)

然后在named.conf中:

root@dnsm02:/etc/bind# grep logging named.conf
include "/etc/bind/named.logging.conf";
Run Code Online (Sandbox Code Playgroud)

此外,您没有提及视图,但如果您定义了任何视图,则所有区域都必须位于定义的视图中。