几天前,我们注意到部分外发邮件由于远程邮件服务器无法解析我们的 IP(例如Client host rejected: cannot find your hostname, [92.240.244.176]
)而被延迟。我们最近没有对 DNS 进行任何更改,我们的 ISP 也表示他们没有对其进行任何更改。
我们将 92.240.244.128/25 从他们的 ns1/ns2.lightstorm.sk 委托给我们的 ns1/n2.mojhosting.sk(我们的 ns1 运行 BIND 9.10,ns2 运行 PowerDNS 4.0)。
他们声称我们的错误在于我们,因为我们的 DNS 服务器对此查询返回了 REFUSED host 92.240.244.202 ns1.mojhosting.sk
,但这种情况肯定已经持续了很长时间。也许是因为该命令查询了 (它在我们的 ISP DNS 上只是 CNAME,但在我们的委托子树202.244.240.92.in-addr.arpa.
中不存在)?每次运行这两条记录似乎对我都有效。128/25.244.240.92.in-addr.arpa.
dig +trace
MX工具箱说:警告:收到来自“ns1.lightstorm.sk”的非权威(蹩脚)答案,但我不知道如何检查。 全球 DNS 传播检查器表明我们的 IP 在大多数地方无法解析。
此外,我们的 ISP 的 IPv6 连接性很差,我看到他们的 ns1/ns2 也有 IPv6 地址,这也会加剧问题吗?
答案1
您的 DNS 配置以某种方式“工作”,但它并不完全正确,因此在某些情况下可能会产生问题。
原因如下。
如果你直接查询,你会得到答复:
$ dig -x 92.240.244.176 +noall +ans +nottlunits
176.244.240.92.in-addr.arpa. 3590 IN CNAME 176.128/25.244.240.92.in-addr.arpa.
176.128/25.244.240.92.in-addr.arpa. 43191 IN PTR bill3.hostio.sk.
所以我们得到了最终的PTR
记录,我们应该高兴。
.
然而,如果我们诊断从(根)开始的所有路径直到176.244.240.92.in-addr.arpa.
我们能发现问题。
DNSViz 位于https://dnsviz.net/d/202.244.240.92.in-addr.arpa/YYzr-A/dnssec/如果你看一下错误部分,就会显示这一点:
202.244.240.92.in-addr.arpa/CNAME:响应中未设置权威答复 (AA) 标志。(92.240.232.232、92.240.232.242、2a00:10d8:11::1:0:1、2a00:10d8:11::2:0:1、UDP_-_EDNS0_4096_D_KN)
您可以使用dig +trace 202.244.240.92.in-addr.arpa. PTR +nottlunits +nodnssec
下面的内容看到相同的结果(在根和 2 个域处修剪第一步):
[..]
92.in-addr.arpa. 86400 IN NS ns3.afrinic.net.
92.in-addr.arpa. 86400 IN NS pri.authdns.ripe.net.
92.in-addr.arpa. 86400 IN NS ns3.lacnic.net.
92.in-addr.arpa. 86400 IN NS ns4.apnic.net.
92.in-addr.arpa. 86400 IN NS rirns.arin.net.
;; Received 245 bytes from 200.10.60.53#53(d.in-addr-servers.arpa) in 199 ms
244.240.92.in-addr.arpa. 172800 IN NS ns1.lightstorm.sk.
244.240.92.in-addr.arpa. 172800 IN NS ns2.lightstorm.sk.
;; Received 133 bytes from 199.253.249.53#53(rirns.arin.net) in 142 ms
;; expected opt record in response
202.244.240.92.in-addr.arpa. 3600 IN CNAME 202.128/25.244.240.92.in-addr.arpa.
128/25.244.240.92.in-addr.arpa. 3600 IN NS ns1.mojhosting.sk.
128/25.244.240.92.in-addr.arpa. 3600 IN NS ns2.mojhosting.sk.
;; Received 119 bytes from 92.240.232.242#53(ns2.lightstorm.sk) in 173 ms
但最后一个答案有问题,缺少“AA”(权威答案)标志。这个最终名称服务器 ( ns1.lightstorm.sk
) 提供了一些数据(CNAME
记录),但没有表明它对此具有权威性,而它应该这样做。
请参阅此答案,无需不必要的详细信息:
$ dig @ns1.lightstorm.sk. 202.244.240.92.in-addr.arpa. PTR
[..]
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32312
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
;; QUESTION SECTION:
;202.244.240.92.in-addr.arpa. IN PTR
;; ANSWER SECTION:
202.244.240.92.in-addr.arpa. 1h IN CNAME 202.128/25.244.240.92.in-addr.arpa.
;; AUTHORITY SECTION:
128/25.244.240.92.in-addr.arpa. 1h IN NS ns1.mojhosting.sk.
128/25.244.240.92.in-addr.arpa. 1h IN NS ns2.mojhosting.sk.
注意“标志”部分,它应该有一个“AA”标志。此外,它有“RA”(递归可用)这一事实似乎表明该名称服务器既是权威的又是递归的,这在大多数情况下是一个坏主意,这两项服务应该是分开的。
递归名称服务器将看到这一点,并拒绝继续,因此您会收到各种错误。ns1.lightstorm.sk.
+的所有者ns2
需要修复其配置,问题出在这里,而不是其他地方。
如果您想比较,这是一个类似的设置,但适用于 IP 162.202.233.81
。
请注意 DNSViz 没有显示任何错误:https://dnsviz.net/d/81.233.202.162.in-addr.arpa/YY1_ag/dnssec/
并且如果您重做最后一步来与上面的步骤进行比较:
$ dig @ns2.swbell.net. 81.233.202.162.in-addr.arpa. PTR
[..]
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24342
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;81.233.202.162.in-addr.arpa. IN PTR
;; ANSWER SECTION:
81.233.202.162.in-addr.arpa. 2h IN CNAME 81.80/29.233.202.162.in-addr.arpa.
;; AUTHORITY SECTION:
80/29.233.202.162.in-addr.arpa. 2h IN NS ns2.archaxis.net.
80/29.233.202.162.in-addr.arpa. 2h IN NS ns1.archaxis.net.
请注意“标志”部分的不同之处。
FWIW 反向树中的这种设置是在 RFC 2317“无类 IN-ADDR.ARPA 委派”中设计的,用于CNAME
能够对树的各个部分进行子委派。