Domain-Name-System

CNAME 域到沒有 MX 記錄的子域

  • February 12, 2020

發送電子郵件至 hello@test.com 是否有效?

test.com CNAME something.else.com
else.com MX 1 <google mx>

我認為那裡有一些參考資料要求 RFC1912沒有CNAME 記錄以及同一域上的其他記錄,但這應該是可接受的用途嗎?

something.else.com 沒有 MX 記錄,但 else.com 有 MX 記錄。當我多次執行 dig 時,我得到不同的結果:

$ dig +short @8.8.8.8 test.com. mx
something.else.com
$ dig +short @8.8.8.8 test.com. mx
1 aspmx.l.google.com.
5 alt1.aspmx.l.google.com.
5 alt2.aspmx.l.google.com.
10 alt3.aspmx.l.google.com.
10 alt4.aspmx.l.google.com.

有問題的域是wego.com,試圖向該域中的地址發送電子郵件。

看起來,該域(dns1.p01.nsone.net等)的權威名稱伺服器根據 qtype 提供相互衝突的響應。

類型A

$ dig @dns1.p01.nsone.net wego.com A +norec

; <<>> DiG 9.11.14-RedHat-9.11.14-2.fc31 <<>> @dns1.p01.nsone.net wego.com A +norec
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24735
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;wego.com.                      IN      A

;; ANSWER SECTION:
wego.com.               3600    IN      CNAME   enigma.wego.com.cdn.cloudflare.net.

;; Query time: 0 msec
;; SERVER: 198.51.44.1#53(198.51.44.1)
;; WHEN: Wed Feb 12 07:40:14 UTC 2020
;; MSG SIZE  rcvd: 85

$

類型MX

$ dig @dns1.p01.nsone.net wego.com MX +norec

; <<>> DiG 9.11.14-RedHat-9.11.14-2.fc31 <<>> @dns1.p01.nsone.net wego.com MX +norec
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51501
;; flags: qr aa; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;wego.com.                      IN      MX

;; ANSWER SECTION:
wego.com.               3600    IN      MX      1 aspmx.l.google.com.
wego.com.               3600    IN      MX      5 alt1.aspmx.l.google.com.
wego.com.               3600    IN      MX      5 alt2.aspmx.l.google.com.
wego.com.               3600    IN      MX      10 alt3.aspmx.l.google.com.
wego.com.               3600    IN      MX      10 alt4.aspmx.l.google.com.

;; Query time: 0 msec
;; SERVER: 198.51.44.1#53(198.51.44.1)
;; WHEN: Wed Feb 12 07:40:25 UTC 2020
;; MSG SIZE  rcvd: 152

$

這是與問題中提出的方案不同的行為。

這並不是說MX您看到的來自不同的名稱(如問題中所示),MX並且CNAME顯然與他們的名稱伺服器並排根據您的要求提供不同的“視圖”,即使這些視圖顯然在直接衝突,無法結合。

至於客戶端會得到什麼結果,這可能取決於記憶體狀態和實現細節。如果您已經CNAME在記憶體中擁有 ,則您已經知道該名稱是別名,並且這是該名稱本身的屬性,該名稱不能是某些記錄類型的別名,而不能是其他記錄類型的別名(因此,為什麼CNAME記錄不能與其他記錄共存)數據)。

此名稱伺服器實現的行為不符合標準,我不希望它可靠地工作。不知道客戶端是否會真正獲得他們針對給定情況預期的響應,或者基於已經記憶體的一些混淆CNAME

引用自:https://serverfault.com/questions/1002708