在進行遞迴解析查詢時,各記錄類型之間是有優先順序的,所以在主機記錄相同、解析線路相同的情況下,有幾種記錄類型不能共存使用,否則會給使用者造成配置風險,導致業務停用情況發生。
解析記錄衝突的原因
假設為example.com配置如下兩條記錄:
記錄類型 | 主機記錄 | 線路 | 記錄值 |
MX | www | 預設 | mx1.hichina.com |
CNAME | www | 預設 | demo.xxx.com |
按照RFC標準協議CNAME優先順序最高,所以在解析請求過程中,會優先返回CNAME解析記錄結果,這樣設定的結果導致使用者無法請求到MX記錄,直接對客戶的郵箱業務造成使用影響。所以對於這類情況,Alibaba Cloud DNS會檢測記錄衝突,並進行錯誤提示,協助使用者避免這種配置風險。更詳細的說明請參閱 RFC1034和 RFC2181。
解析記錄衝突解決方案
如果系統提示解析記錄衝突,可通過刪除衝突的解析記錄或更換主機記錄名稱來解決。
主機記錄為@時的特殊處理
目前為了滿足使用者的業務情境需求,雲解析最佳化了主機記錄為@時,部分記錄類型的衝突規則。
當主機記錄為@時,CNAME與MX記錄不再衝突
記錄類型 | 主機記錄 | 線路 | 記錄值 |
MX | @ | 預設 | mx1.hichina.com |
CNAME | @ | 預設 | example.com |
此情境配置方式存在郵箱無法正常收信、收信時好時壞的風險。
若郵箱伺服器的localDNS優先進行了@記錄的CNAME類型解析,此時對@記錄的MX類型解析會受到影響,從而產生解析失敗或無法達到預期解析結果的現象。
當主機記錄為@時,CNAME與TXT記錄不再衝突
記錄類型 | 主機記錄 | 線路 | 記錄值 |
TXT | @ | 預設 | db642353e95243c12d3 |
cname | @ | 預設 | example.com |
此情境配置方式會存在收不到來信、或者被收信方拒收的、或者TXT校正不通過等情境,如遇到可去掉CNAME記錄。
完整解析記錄衝突的規則
主機記錄是@
在主機記錄相同、解析線路相同的情況下,這幾種不同類型的解析記錄不能共存:
❌:衝突,在相同的主機記錄情況下,同一條解析線路下,該兩種類型的解析記錄不允許共存。如:已經設定了
example.com的 A 記錄,則不允許再設定example.com的 CNAME 記錄;✅:不衝突,在相同的主機記錄情況下,同一條解析線路下,該兩種類型的解析記錄可以共存。如:已經設定了
example.com的 A 記錄,則還可以再設定example.com的 MX 記錄;↔️:可重複,指在同一類型下,同一條線路下,可設定相同的多條記錄值。如:已經設定了
example.com的 A 記錄,還可以繼續再設定example.com的 A 記錄。NS
CNAME
A
URL
MX
TXT
AAAA
SRV
CAA
SVCB(別名模式)
SVCB(服務模式)
HTTPS(別名模式)
HTTPS(服務模式)
NS
↔️
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
CNAME
✅
↔️
❌
❌
✅
✅
❌
❌
❌
❌
❌
❌
❌
A
✅
❌
↔️
❌
✅
✅
✅
✅
✅
✅
✅
✅
✅
URL
✅
❌
❌
❌
✅
✅
❌
✅
✅
✅
✅
✅
✅
MX
✅
✅
✅
✅
↔️
✅
✅
✅
✅
✅
✅
✅
✅
TXT
✅
✅
✅
✅
✅
↔️
✅
✅
✅
✅
✅
✅
✅
AAAA
✅
❌
✅
❌
✅
✅
↔️
✅
✅
✅
✅
✅
✅
SRV
✅
❌
✅
✅
✅
✅
✅
↔️
✅
✅
✅
✅
✅
CAA
✅
❌
✅
✅
✅
✅
✅
✅
↔️
✅
✅
✅
✅
SVCB(別名模式)
✅
❌
✅
✅
✅
✅
✅
✅
✅
↔️
❌
✅
✅
SVCB(服務模式)
✅
❌
✅
✅
✅
✅
✅
✅
✅
❌
↔️
✅
✅
HTTPS(別名模式)
✅
❌
✅
✅
✅
✅
✅
✅
✅
✅
✅
↔️
❌
HTTPS(服務模式)
✅
❌
✅
✅
✅
✅
✅
✅
✅
✅
✅
❌
↔️
主機記錄不是@
在主機記錄相同、解析線路相同的情況下,這幾種不同類型的解析記錄不能共存:
❌:衝突,在相同的主機記錄情況下,同一條解析線路下,該兩種類型的解析記錄不允許共存。如:已經設定了
www.example.com的 A 記錄,則不允許再設定www.example.com的 CNAME 記錄;✅:不衝突,在相同的主機記錄情況下,同一條解析線路下,該兩種類型的解析記錄可以共存。如:已經設定了
www.example.com的 A 記錄,則還可以再設定www.example.com的 MX 記錄;↔️:可重複,指在同一類型下,同一條線路下,可設定相同的多條記錄值。如:已經設定了
www.example.com的 A 記錄,還可以繼續再設定www.example.com的 A 記錄。NS
CNAME
A
URL
MX
TXT
AAAA
SRV
CAA
SVCB(別名模式)
SVCB(服務模式)
HTTPS(別名模式)
HTTPS(服務模式)
NS
↔️
❌
❌
❌
❌
❌
❌
❌
❌
❌
❌
❌
❌
CNAME
❌
↔️
❌
❌
❌
❌
❌
❌
❌
❌
❌
❌
❌
A
❌
❌
↔️
❌
✅
✅
✅
✅
✅
✅
✅
✅
✅
URL
❌
❌
❌
❌
✅
✅
❌
✅
✅
✅
✅
✅
✅
MX
❌
❌
✅
✅
↔️
✅
✅
✅
✅
✅
✅
✅
✅
TXT
❌
❌
✅
✅
✅
↔️
✅
✅
✅
✅
✅
✅
✅
AAAA
❌
❌
✅
❌
✅
✅
↔️
✅
✅
✅
✅
✅
✅
SRV
❌
❌
✅
✅
✅
✅
✅
↔️
✅
✅
✅
✅
✅
CAA
❌
❌
✅
✅
✅
✅
✅
✅
↔️
✅
✅
✅
✅
SVCB(別名模式)
❌
❌
✅
✅
✅
✅
✅
✅
✅
↔️
❌
✅
✅
SVCB(服務模式)
❌
❌
✅
✅
✅
✅
✅
✅
✅
❌
↔️
✅
✅
HTTPS(別名模式)
❌
❌
✅
✅
✅
✅
✅
✅
✅
✅
✅
↔️
❌
HTTPS(服務模式)
❌
❌
✅
✅
✅
✅
✅
✅
✅
✅
✅
❌
↔️