記錄衝突的原因
在進行遞迴解析查詢時,各記錄類型之間是有優先順序的,所以在主機記錄相同、解析線路相同的情況下,有幾種記錄類型不能共存使用,否則會給使用者造成配置風險,導致業務停用情況發生。以下拿CNAME記錄和MX記錄的衝突來舉例:
樣本
假設為dnswork.top配置如下兩條記錄
記錄類型 | 主機記錄 | 記錄值 |
MX | www | mx1.hichina.com |
CNAME | www | demo.dnswork.top |
結論
按照RFC標準協議CNAME優先順序最高,所以在解析請求過程中,會優先返回CNAME解析記錄結果,這樣設定的結果導致使用者無法請求到MX記錄,直接對客戶的郵箱業務造成使用影響。所以對於這類情況,Alibaba Cloud DNS會通過記錄衝突的提示方式,來協助使用者避免這種配置風險。
CNAME和MX衝突解決方案
目前為了滿足使用者的業務情境需求,雲解析最佳化了主機記錄為@時的CNAME與MX衝突規則。
當主機記錄配置為@時,CNAME與MX記錄不再衝突。
此情境配置方式存在郵箱無法正常收信、收信時好時壞的風險。
若郵箱伺服器的localDNS優先進行了@記錄的CNAME類型解析,此時對@記錄的MX類型解析會受到影響,從而產生解析失敗或無法達到預期解析結果的現象。
樣本:
記錄類型 | 主機記錄 | 記錄值 |
MX | @ | mx1.hichina.com |
CNAME | @ | example.com |
主機記錄為非@時,MX與CNAME記錄依然會衝突,具體衝突規則請參考下面的圖表。
CNAME與TXT衝突解決方案
為了滿足使用者的業務情境需求,雲解析最佳化了主機記錄為@時的CNAME與TXT衝突規則。
當主機記錄配置為@時,CNAME與TXT記錄不再衝突。
記錄類型 | 主機記錄 | 記錄值 |
TXT | @ | db642353e95243c12d3 |
cname | @ | example.com |
主機記錄為非@時,TXT與CNAME記錄依然會衝突,具體衝突規則請參考下面的圖表。
:此情境配置方式會存在收不到來信、或者被收信方拒收的、或者TXT校正不通過等情境,如遇到可去掉CNAME記錄。
其他記錄衝突解決方案
可通過刪除衝突的解析記錄或更換主機記錄名稱來解決。
記錄衝突的規則
主機記錄為@
在主機記錄相同、解析線路相同的情況下,這幾種不同類型的解析記錄不能共存:
❌:衝突,在相同的主機記錄情況下,同一條解析線路下,該兩種類型的解析記錄不允許共存。如:已經設定了 dnswork.top 的 A 記錄,則不允許再設定 dnswork.top 的 CNAME 記錄;
✅:不衝突,在相同的主機記錄情況下,同一條解析線路下,該兩種類型的解析記錄可以共存。如:已經設定了 dnswork.top 的 A 記錄,則還可以再設定 dnswork.top 的 MX 記錄;
↔️:可重複,指在同一類型下,同一條線路下,可設定相同的多條記錄值。如:已經設定了 dnswork.top 的 A 記錄,還可以繼續再設定 dnswork.top 的 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.dnswork.top 的 A 記錄,則不允許再設定 www.dnswork.top 的 CNAME 記錄;
✅:不衝突,在相同的主機記錄情況下,同一條解析線路下,該兩種類型的解析記錄可以共存。如:已經設定了 www.dnswork.top 的 A 記錄,則還可以再設定 www.dnswork.top 的 MX 記錄;
↔️:可重複,指在同一類型下,同一條線路下,可設定相同的多條記錄值。如:已經設定了 www.dnswork.top 的 A 記錄,還可以繼續再設定 www.dnswork.top 的 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(服務模式)
❌
❌
✅
✅
✅
✅
✅
✅
✅
✅
✅
❌
↔️
雲解析在提示記錄衝突的時候,說明已經有對應的記錄,不允許重複添加或者說不能添加對應的記錄。