遞歸 DNS 伺服器使用 CNAME 應答,但不傳回 A 記錄

遞歸 DNS 伺服器使用 CNAME 應答,但不傳回 A 記錄

我有一個遞歸 DNS 伺服器,它轉送到我的主 DNS 伺服器以獲得解析。

舉個例子

我有以下 CNAME:

server1.example1.com.    300     IN      CNAME   server1.example2.com

以及相關的A:

server1.example2.com     IN     A    X.X.X.X

我面臨的問題是,當我執行 a 時,遞歸伺服器僅傳回 CNAME 記錄dig,並且不回答 A 記錄。我已經透過 TCP 轉儲驗證了主節點肯定會將 CNAME 和 A 記錄返回到遞歸,但它反過來不會將它們返回到命令dig或指向該伺服器的任何客戶端。我有其他遞歸名稱伺服器,它工作正常。但要注意的是,這似乎只發生在跨域 CNAMES 上

    bash-4.1# dig @recurisveserver server1.example1.com.                                      

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.5 <<>> @recurisveserver server1.example1.com.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49412
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;server1.example1.com.           IN      A

;; ANSWER SECTION:
server1.example1.com.    300     IN      CNAME   server1.example2.com.

;; Query time: 0 msec
;; SERVER: 10.73.241.88#53(10.73.241.88)
;; WHEN: Mon Mar  5 15:52:31 2018
;; MSG SIZE  rcvd: 76

Nslookup 給予空白回應

    > server1.example1.com
Server:  recursiveserver
Address:  x.x.x.x

Name:    server1.example1.com

答案1

這對我來說看起來都是正確的。 CNAME 指向另一個網域 - 但客戶端需要進行第二次查找以將傳回的 CNAME 轉換為 A 記錄 - 因此您不會期望 dig 或 nslookup 傳回 IP 位址。

相關內容