DNSレコードの競合の原因
再帰クエリ中に使用されるDNSレコードの優先度は、DNSレコードのタイプによって異なります。 同じホストレコードと解決ラインを持つDNSレコードの種類によっては、同時に使用できません。 これらのタイプのDNSレコードを同時に使用すると、DNS設定のリスクが発生し、サービスが利用できなくなる可能性があります。 次の例では、ドメイン名に設定されているCNAMEレコードとMXレコードの競合について説明します。
例
この例では、CNAMEレコードとMXレコードがdnswork.topに設定されています。
レコードタイプ | ホストレコード | レコード値 |
MX | www | mx1.hichina.com |
CNAME | www | demo.dnswork.top |
結論
リモートファンクションコール (RFC) プロトコルは、CNAMEレコードが最も高い優先度を有することを定義する。 したがって、CNAMEレコードの解決結果は、DNSクエリ中に優先的に返されます。 その結果、MXレコードを取得できず、メールサービスが影響を受けます。 この場合、Alibaba Cloud DNSは、設定リスクを回避するためにレコードの競合を表示します。
詳細については、「RFC 1034」および「RFC 2181」をご参照ください。 RFC 2181の関連情報を次の図に示します。
CNAMEレコードとMXレコード間の競合に対するソリューション
ビジネス要件を満たすために、Alibaba Cloud DNSは、ホストレコードが @ の場合、CNAMEレコードとMXレコード間の競合に適用されるルールを最適化します。
ホストレコードが @ の場合、CNAMEレコードとMXレコードは互いに競合しなくなります。
このシナリオでは、電子メールアドレスが常にまたは時々電子メールを受信できない場合があります。
メールサーバーのローカルDNSサーバーが @ レコードに設定されているCNAMEレコードを優先的に解決する場合、@ レコードに設定されているMXタイプが解決されないか、MXタイプの解決結果が期待どおりに得られないことがあります。
例:
レコードタイプ | ホストレコード | レコード値 |
MX | @ | mx1.hichina.com |
CNAME | @ | example.com |
ホストレコードが @ でない場合でも、ホストレコード用に構成されているMXレコードとCNAMEレコードは互いに競合します。 競合ルールの詳細については、次のセクションの2番目の表を参照してください。
CNAMEとTXTレコード間の競合に対するソリューション
ビジネス要件を満たすために、Alibaba Cloud DNSは、ホストレコードが @ の場合にCNAMEレコードとTXTレコード間の競合を適用するルールを最適化します。
ホストレコードが @ の場合、CNAMEレコードとTXTレコードは互いに競合しなくなります。
レコードタイプ | ホストレコード | レコード値 |
TXT | @ | db642353e95243c12d3 |
cname | @ | example.com |
ホストレコードが @ でない場合、ホストレコード用に構成されているTXTレコードとCNAMEレコードは依然として互いに競合します。 競合ルールの詳細については、次のセクションの2番目の表を参照してください。
このシナリオでは、電子メールアドレスが電子メールを受信できず、電子メールが受信者によって拒否され、TXTレコードの検証が失敗する可能性があります。 この場合、CNAMEレコードを削除することを推奨します。
他のDNSレコード間の競合に対する解決策
関連するDNSレコードを削除するか、ホスト名を変更してレコードの競合を解決できます。
DNSレコード競合ルール
ホストレコードが @ であるシナリオ
次の表に、DNSレコードのホストレコードと解決行が同じ場合のDNSレコードの競合ルールを示します。
1. ❌: 2種類のDNSレコード間のレコードの競合を促します。 ホストレコードと解決ラインが同じ2種類のDNSレコードを同時に使用することはできません。 たとえば、Aレコードがdnswork.topに設定されている場合、dnswork.topにCNAMEレコードを設定することはできません。
2. ✅: 2種類のDNSレコードが互いに競合しないことを示します。 ホストレコードと解決ラインが同じ2種類のDNSレコードを同時に使用できます。 たとえば、Aレコードがdnswork.topに設定されている場合、dnswork.topにMXレコードを設定できます。
3. ↔️: 2種類のDNSレコードを同時に設定できることを示します。 同じタイプで同じ解決ラインを持つ複数のDNSレコードを設定できます。 たとえば、Aレコードがdnswork.topに設定されている場合、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 (サービスモード) | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ↔️ |
Alibaba Cloud DNSがレコードの競合を促すと、追加するレコードが既に存在するか、既存のレコードと競合します。 この場合、レコードを追加することはできません。
ホストレコードが @ でないシナリオ
次の表に、DNSレコードのホストレコードと解決行が同じ場合のDNSレコードの競合ルールを示します。
1. ❌: 2種類のDNSレコード間のレコードの競合を促します。 ホストレコードと解決ラインが同じ2種類のDNSレコードを同時に使用することはできません。 たとえば、Aレコードがwww.dnswork.topに設定されている場合、CNAMEレコードをwww.dnswork.topに設定することはできません。
2. ✅: 2種類のDNSレコードが互いに競合しないことを示します。 ホストレコードと解決ラインが同じ2種類のDNSレコードを同時に使用できます。 たとえば、Aレコードがwww.dnswork.topに設定されている場合、MXレコードをwww.dnswork.topに設定できます。
3. ️↔️: 2種類のDNSレコードを同時に設定できることを示します。 同じタイプで同じ解決ラインを持つ複数のDNSレコードを設定できます。 たとえば、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 (サービスモード) | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ↔️ |
Alibaba Cloud DNSがレコードの競合を促すと、追加するレコードが既に存在するか、既存のレコードと競合します。 この場合、レコードを追加することはできません。