web-dev-qa-db-ja.com

DNS、CNAMEの代わりにAを使用する必要がありますか?

私はウェブサイトとホスティングの大規模な改造を行っており、約10のドメインを新しいサーバーに移動しています。その際、DNSにいくつかの変更を加え、すべてのドメインを新しいサーバーに向ける必要がありました。

サーバーがCNAMEエントリを使用してIPアドレスのAエントリをポイントしている場合は、すべてのDNSレコードをIPアドレスにポイントする代わりに、それが意味をなさない場合は、次を確認してください。

mycompany.com
server1 A 12.34.56.78

domain1.com
@   CNAME server1.mycompany.com.
*   CNAME server1.mycompany.com.
www CNAME server1.mycompany.com.

domain2.com
@   CNAME server1.mycompany.com.
*   CNAME server1.mycompany.com.
www CNAME server1.mycompany.com.

domain3.com
@   CNAME server1.mycompany.com.
*   CNAME server1.mycompany.com.
www CNAME server1.mycompany.com.

etc...

うまくいけば、私がやろうとしていることがわかるでしょう。物事を整理するために、サーバーのIPアドレスに単一のAレコードを設定し、CNAMEレコードを使用して他のすべてのドメインをポイントしました。つまり、IPを変更する必要がある場合は、一度変更するだけで済みます。また、server2.mycompany.comserver3.mycompany.comなどを指すように、各レコードがどこを指しているかを簡単に知ることができます。

今朝、メールに問題が発生しました。受信者のメールサーバーがメールサーバーを認証できず、メールが拒否されました。 @ドメインのmail.domain1.comレコードをCNAME server1.mycompany.comからIP12.34.56.78に変更したところ、メールは正常に送信されました。

質問素晴らしくて読みやすいにもかかわらず、別のDNSレコードを指すためにCNAMEを使用すべきではない理由があります。 @はドメイン自体(つまり、domain1.com)用だと思います。 @をCNAMEに設定すると、メールがめちゃくちゃになってしまったようですが、いつ使用するかについてのルールはありますか?

どうもありがとう、ベン

2
Ben Everard

CNAMEをMXレコードとして使用することはRFC違反です。 RFC2181セクション10.3から:

MXリソースレコードの値の[...]部分として使用されるドメイン名は、エイリアスであってはなりません。 [...]他のRRを持つこともできますが、CNAMERRを持つことはできません。

実際にはうまくいくことがよくありますが、一部のMTAはあなたがそれをすべきではないことを認識しているので、彼らがあなたを無視したり、餌を与えられたときに誤動作したりする可能性があると想定します。

11
MadHatter
  • CNAMEは別のCNAMEを指すことができません
  • PTR、SRV、NS、MXはCNAMEを指すことができません
  • CNAMEには他のレコードがあってはなりません

MX、NSおよびSRVを除くすべてにCNAMEを使用します。

6
alvosu

CNAMEは、パフォーマンス上の理由から回避されることがよくあります。これにより、クライアントはDNSサーバーに2番目の質問をする必要があり、クライアントの待ち時間が長くなり、DNSサーバーの負荷が高くなります。

1
jon_d