可能有不同類型的 DNS 通配符 RR 嗎?

可能有不同類型的 DNS 通配符 RR 嗎?

假設我有一個具有以下 RR 的域:

domain.com.    IN A       1.2.3.4
domain.com.    IN MX      mail.domain.com.         10
*              IN MX      othermail.domain.com.    10
*              IN CNAME   domain.com.
mail           IN A       1.2.3.4

我希望這能讓我在domain.com的任何子網域上伺服器網頁並接收郵件,但是當我測試它時:

~# dig blah.domain.com MX

; <<>> DiG 9.4.3-P1 <<>> blah.domain.com MX
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12815
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2

<..snip..>

;; ANSWER SECTION:
blah.domain.com.    84770   IN  CNAME   domain.com.
domain.com.     83445   IN  MX  10 mail.domain.com.

我希望得到這樣的答案部分:

;; ANSWER SECTION:
blah.domain.com.    84770   IN  MX  10 othermail.domain.com.

但似乎我得到的是 CNAME 通配符記錄而不是 MX。

透過閱讀我在網路上找到的各種內容,在我看來,這種行為是有意設計的(儘管它可能是腦死的)。

現在我的問題是,是否可以以任何方式進行這樣的配置,根據記錄類型返回不同的答案?

謝謝。

答案1

混合不同類型的通配符 RR 是完全可能的。

你什麼不能要做的是將 CNAME RR 與任何其他類型的 RR 混合使用(DNSSEC RR 除外)。無論 RR 是否為通配符,這都適用。

在您的情況下,您需要做的是將 CNAME RR 替換為 A RR,指向與主網域相同的 IP 位址:

$ORIGIN example.com
@         IN A      1.2.3.4
          IN MX 10  mail
*         IN A      1.2.3.4
          IN MX 10  othermail
mail      IN A      1.2.3.4
othermail IN A      5.6.7.8

相關內容