考虑以下dig
命令的运行,我只是在其中查询google.com的 IP 地址:
$ dig google.com
; <<>> DiG 9.16.1-Ubuntu <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32427
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 276 IN A 142.250.71.14
;; Query time: 1437 msec
;; SERVER: 192.168.225.1#53(192.168.225.1)
;; WHEN: Sun May 15 23:49:53 IST 2022
;; MSG SIZE rcvd: 55
响应说142.250.71.14是 IP。现在,如果我要使用相同的 IP 运行反向 DNS 查找,例如:
$ dig -x 142.250.71.14
; <<>> DiG 9.16.1-Ubuntu <<>> -x 142.250.71.14
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61497
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;14.71.250.142.in-addr.arpa. IN PTR
;; ANSWER SECTION:
14.71.250.142.in-addr.arpa. 67394 IN PTR maa03s34-in-f14.1e100.net.
;; Query time: 15 msec
;; SERVER: 192.168.225.1#53(192.168.225.1)
;; WHEN: Sun May 15 23:52:46 IST 2022
;; MSG SIZE rcvd: 83
响应说 IP 指向maa03s34-in-f14.1e100.net(而不是google.com)。如何解释这种差异?
正向和反向 DNS 几乎没有共同之处。
除了使用特殊区域 (in-addr.arpa) 之外,反向 DNS 与正向 DNS 一样被处理,该区域可以被委派和再委派。这完全独立于前向 DNS 发生。
同样,为了清楚起见,当创建正向 DNS 条目时,不会在 DNS 中自动生成反向条目(当然,它可以被编程为 DNS 服务器可以访问反向区域的适当部分,但它不是自动的,甚至不常见)。
(另一种看待为什么这无关紧要的方式是,许多域使用一个公共 IP 地址,并且许多域使用超过 1 个 IP 地址 - 因此不可能存在 1:1 映射)。