我正在尝试更新我的一台服务器的 DNS。正向查找工作正常。例如 dig www.mydomain.com。
但是,反向 DNS 查找提供了其他站点/服务器的结果。我注意到一开始配置有错误,并修复了它,但是反向查找仍然提供了错误的答案。
例如,如果我使用:
dig -x 46.101.84.103
它无法解析我的域名。它只显示与我的网站主机服务器相关的信息。但是,如果我这样做:
dig @localhost -x 46.101.84.103
它显示了我的正确域名。我不确定这是否意味着它有效。是不是因为当不指定 localhost 服务器时,它会查询默认服务器 (8.8.8.8) 并返回旧的缓存版本?或者这无关紧要?
答案1
这是一个愚蠢的问题,但是……您甚至可以控制反向 DNS 的设置吗?您只能在 ISP/Webhost 上设置反向 DNS。因此,如果您租用 IP 46.101.84.103,则 Digital Ocean Inc 的 DNS 服务器将回复这些反向查询。您的 DNS 将 whatever.example.com 解析为 46.101.84.103,无法执行反向 DNS。
您可能已经配置了执行此操作的 DNS(显然这是可能的,并且可能是您的本地主机),但 Internet 永远不会询问该服务器,因为该 IP 范围属于您的 ISP/网络主机。
这是因为某些 DNS 服务器对某些资源具有“权威性”。如果您拥有域名,则可以在注册商处为该域名设置“权威性”DNS 服务器(或使用注册商的 DNS)。例如,如果我这样做:
$ dig tude.lu
; <<>> DiG 9.10.3-P4-Ubuntu <<>> tude.lu
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53410
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;tude.lu. IN A
;; ANSWER SECTION:
tude.lu. 300 IN A 85.93.203.237
;; AUTHORITY SECTION:
tude.lu. 43200 IN NS dns2.jawtheshark.net.
tude.lu. 43200 IN NS dns1.jawtheshark.net.
;; ADDITIONAL SECTION:
dns1.jawtheshark.net. 411 IN A 149.154.152.102
dns2.jawtheshark.net. 579 IN A 162.252.172.158
;; Query time: 133 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Aug 08 20:54:46 CEST 2016
;; MSG SIZE rcvd: 137
您注意到了“权威部分”吗?好吧,在 DNS 查询中,这意味着任何与 tude.lu 有关的内容都必须从这两个服务器(dns1.jawtheshark.net 和 dns2.jawtheshark.net)之一进行查询。您的本地 DNS 可能会缓存结果,但最终只有这两个服务器才值得信赖,它们会给出正确的结果。它们是“权威的”。
这是针对域名(基本上是“正常”的 DNS 查询)的。对于 IP 范围,情况也一样。问题是:IP 范围与域完全无关。IP 范围是另一种资源。那么,让我们来看看您提供的 IP。谁是权威的?
$ dig -x 46.101.84.103
; <<>> DiG 9.10.3-P4-Ubuntu <<>> -x 46.101.84.103
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 65419
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;103.84.101.46.in-addr.arpa. IN PTR
;; AUTHORITY SECTION:
84.101.46.in-addr.arpa. 1466 IN SOA ns1.digitalocean.com. hostmaster.84.101.46.in-addr.arpa. 1470460984 10800 3600 604800 1800
;; Query time: 1 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Aug 08 20:53:02 CEST 2016
;; MSG SIZE rcvd: 122
再次强调,我们想要的信息位于权限部分。它似乎是 digitalocean.com 的主要 (ns1) 名称服务器。如果您无权访问该 DNS 服务器的配置,则无法更改反向 IP 查找。现在,这并不意味着您无法设置它,因为许多托管商允许您在其管理界面中执行此操作。唉,我无法帮助您,您需要询问他们,阅读他们的常见问题解答,或探索他们为您提供的界面。
我的假设是,当然我可能错了,您在本地主机上配置了一个 DNS 服务器,该服务器配置为回复 PTR 记录(反向查找),但整个互联网永远不会查询该机器,因为...它不具有权威性。因此,在本地,它显然有效:您的服务器“认为”它是权威的,但事实并非如此。
当然,我的假设也可能是完全错误的。
希望答复不会太令人困惑。DNS需要相当深入的理解,“权威”的概念非常重要。