我在网络边缘运行 BIND9。所有内部客户端查询此服务器,除非是针对内部域,否则请求应转发到外部 DNS 服务器。后者应转发到内部服务器。该设置在过去运行良好,但更新到 9.13.4 后,我不再能够解析内部名称。以前的版本(据我所知是 9.12.0)运行良好。我在其他设置中看到了类似的行为,所以我猜这是一个不正确/过时的配置,但是,我找到的示例看起来并没有什么不同。
原始设置是:
options {
…
allow-recursion { 127.0.0.1; 192.168.0.0/16; 10.0.0.0/8; };
allow-query { 127.0.0.1; 192.168.0.0/16; 10.0.0.0/8; };
allow-transfer { none; };
allow-update { none; };
forwarders { 8.8.8.8; 8.8.4.4; };
dnssec-validation no;
…
};
zone "localdomain.int" IN {
type forward;
forward only;
forwarders {
192.168.123.123;
192.168.123.124;
};
};
使用当前绑定版本,外部域可以按预期工作,但是,如果我查询内部域上的主机,则会得到 SERVFAIL。主机绑定中的相同查询在内部服务器上运行,因此这不是连接问题。遗憾的是我的发行版实际上不支持降级,因此目前我无法验证问题何时首次出现。
# dig test.localdomain.int @127.0.0.1
…
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 38029
…
# dig test.localdomain.int @192.168.123.123
…
test.localdomain.int. 1200 IN A 192.168.123.37
…
知道我遗漏了什么吗?