我在我的环境中的服务器上运行了 PowerDNS Authoritative & Recursor。当我将此节点用作我的 DNS 服务器时,它会毫无问题地响应 A 记录查询。但是,当我尝试执行反向查找时,它失败了。知道为什么吗?
以下是展示该行为的一些 DNS 查找的屏幕截图。
这是描述Mars
正向查找区域中的 A 记录配置的屏幕截图。
这Mars
是一个屏幕截图,描述了在反向查找区域中自动创建的 PTR 记录。
这是pdns.conf
文件。
这是recursor.conf
文件。
编辑:我应该提到 Pi-Hole 位于前面并将请求中继到 PowerDNS。但是,如果我指示 dig 直接针对 PowerDNS 执行查找,结果是相同的:
向前:
$> dig mars.sol.milkyway @192.168.1.110
; <<>> DiG 9.10.6 <<>> mars.sol.milkyway @192.168.1.110
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19842
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;mars.sol.milkyway. IN A
;; ANSWER SECTION:
mars.sol.milkyway. 2812 IN A 192.168.30.10
;; Query time: 3 msec
;; SERVER: 192.168.1.110#53(192.168.1.110)
;; WHEN: Sun Oct 06 18:35:50 PDT 2019
;; MSG SIZE rcvd: 62
撤销:
$> dig -x 192.168.30.10 @192.168.1.110
; <<>> DiG 9.10.6 <<>> -x 192.168.30.10 @192.168.1.110
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 32029
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;10.30.168.192.in-addr.arpa. IN PTR
;; AUTHORITY SECTION:
168.192.in-addr.arpa. 1687 IN SOA localhost. root. 1 604800 86400 2419200 604800
;; Query time: 4 msec
;; SERVER: 192.168.1.110#53(192.168.1.110)
;; WHEN: Sun Oct 06 18:31:53 PDT 2019
;; MSG SIZE rcvd: 104
事实证明,有必要为文件
forward-zones
中的每个反向查找区域添加一个条目/etc/powerdns/recursor.conf
。例如,而不是
我的配置现在看起来像这样:
编辑:实际上,事实证明没有必要指定每个单独的反向查找区域。相反,您可以只包含根。例如:
EDIT2:啊,我现在懂语言了。forward-zones 的意思是“转发这些区域”而不是“向前查找区域”