再帰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やそのサーバーを指すクライアントには返していません。他の再帰ネーム サーバーも持っていますが、問題なく動作しています。ただし、これはクロスドメイン CNAME でのみ発生するようです。

    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 レコードに変換するための 2 回目の検索を実行するのはクライアントの責任です。したがって、dig または nslookup が IP アドレスを返すことは期待できません。

関連情報