ご契約中のお客さま

CNAME(別名定義)をお使いの場合、設定にご注意ください

CNAMEの設定がRFCに準拠しない設定の場合、弊社セカンダリDNSがご利用出来ないケースや、名前解決が出来ない事象が確認されております。以下で紹介するケースについて、設定方法や運用方法をご検討頂けますようお願い致します。

複数のメールの宛先を同じサーバー宛にする事例

以下の記述では、@example.com @mail.example.com 共に192.168.0.2が配送先になります。しかしながら、[NG例 1]の(2)(3)の組み合わせが RFC974,RFC2181へ準拠していない為、DNS環境によっては利用出来ないケースが御座います。弊社セカンダリDNSでもご利用頂けず、ゾーン転送は失敗致します。

[NG例 1]

example.com. IN MX 0 host1.example.com. //(1)
mail.example.com. IN MX 0 host1.example.com. //(2)
mail.example.com. IN CNAME host1.example.com. //(3)
host1.example.com. IN A 192.168.0.2 //(4)

[修正例 1-1]

(3)の行をAレコードにする事で不具合が解消されます。

example.com. IN MX 0 host1.example.com. //(1)
mail.example.com. IN MX 0 host1.example.com. //(2)
mail.example.com. IN A 192.168.0.2 //(3)
host1.example.com. IN A 192.168.0.2 //(4)

[修正例 1-2]

(3)の行が無くても、一般的にはMXだけで配送先を指定する事が可能です。

example.com. IN MX 0 host1.example.com. //(1)
mail.example.com. IN MX 0 host1.example.com. //(2)
host1.example.com. IN A 192.168.0.2 //(4)

multiple-cnamesのオプションを使った負荷分散の事例

multiple-cnamesを使った[NG例 2-1][NG例 2-2]の様な記述は RFC1034 に準拠しない事から、DNS環境によっては利用出来ないケースが御座います。弊社セカンダリDNSでもご利用頂けず、ゾーン転送は失敗致します。

[NG例 2-1]では、www.example.comの検索結果を192.168.1.2と192.168.1.3の2通りにする事で、負荷を概ね均等に分散する効果を期待した設定ですが、[修正例 2-1]の様に記述する事で不具合が未然に防げます。

[NG例 2-1]

www.example.com. IN CNAME host1.example.com.
www.example.com. IN CNAME host2.example.com.
host1.example.com. IN A 192.168.1.2
host2.example.com. IN A 192.168.1.3

[修正例 2-1]

www.example.com. IN A 192.168.1.2
www.example.com. IN A 192.168.1.3

[NG例 2-2]では、www.example.comの検索結果を192.168.1.2と192.168.1.3の2通りにし、且つ 負荷を概ね 1:2 に分散する効果を期待した設定ですが、これはDNSの記述を修正し対応する事は出来ません。別途、ロードバランサーなどのNW機器を導入し実現して頂く必要が御座います。

[NG例 2-2]

www.example.com. IN CNAME host1.example.com.
www.example.com. IN CNAME host2.example.com.
www.example.com. IN CNAME host3.example.com.
host1.example.com. IN A 192.168.1.2
host2.example.com. IN A 192.168.1.3
host3.example.com. IN A 192.168.1.3

物理的に1つのサーバーで、DNS、Mail、Web を運用する場合

NSやMXレコードの右側に定義するホストとして、CNAME(別名)で定義したホスト名を記述した場合、外部のDNSから、該当するホストのIPアドレスを検索出来なくなる事象が御座います。

NSやMXの右側に定義するホスト名は、AレコードでIPアドレスを定義して頂く事で、トラブルが未然に防げます。

[NG例 3-1]

example.com. IN NS dns.example.com.
example.com. IN MX 10 mail.example.com.
mail.example.com. IN A 192.168.69.34
dns.example.com. IN CNAME mail.example.com.
www.example.com. IN CNAME mail.example.com.

[NG例 3-2]

example.com. IN NS dns.example.com.
example.com. IN MX 10 mail.example.com.
dns.example.com. IN A 192.168.69.34
mail.example.com. IN CNAME dns.example.com.
www.example.com. IN CNAME dns.example.com.

[修正例 3]

example.com. IN NS dns.example.com.
example.com. IN MX 10 mail.example.com.
dns.example.com. IN A 192.168.69.34
mail.example.com. IN A 192.168.69.34
www.example.com. IN CNAME mail.example.com.

ページトップへ戻る