QA@IT
この質問・回答は、@ITの旧掲示板からインポートされたものです。

CNAMEレコードの使い方

DNSゾーンファイル(CNAMEレコード)の設定に関してご教授賜りたく。

ドメイン(abc.co.jp)にて、
@ IN SOA ns.abc.co.jp. ・・・
(中略)
www IN A e.f.g.h
www2 IN CNAME www

といった形でwww2.abcdef.co.jpに対する名前解決を可能させる事がよくあります。
ここで質問ですが、
・CNAMEレコードの右側(上記例ではwww)を別ドメインのホスト(例.www.xyz.co.jp.)を指定することは可能でしょうか?
上記の指定が可能な場合、名前解決のシーケンスとしては以下の認識でよいでしょうか?
①co.jpドメインよりDNS(ns.abc.co.jp)へwww2の問合せ
②ns.abc.co.jpよりCNAMEレコード指定により、本名www.xyz.co.jp.の旨、回答
③xyz.co.jpドメインDNSへwwwの問合せ
以下省略

DNSに関する知識が乏しい為、皆様方のお知恵を拝借したく。

質問者:さくらいてっきん

回答

こんにちは。

CNAMEレコードの右側(上記例ではwww)を別ドメインのホスト(例.www.xyz.co.jp.)を指定することは可能でしょうか?
可能です。
と、いうよりも、これくらいしか使用するメリットがありません。

なお、参照先のドメインが CNAME になっていないよう注意が必要です。

www IN A e.f.g.h

www2 IN CNAME www

といった形でwww2.abcdef.co.jpに対する名前解決を可能させる事がよくあります。
良くみかけるのは確かですが、お勧めしません。
何故なら、正しく使えば問題が無いにしても、敢えて使うメリットが無いからです。
そうすると、トラブルの元になりやすいというデメリットだけが残ります。

※UNIX系ファイルシステムの「シンボリックリンク」と一緒のようなものと考えると、大違いですよ。
[ メッセージ編集済み 編集者: angel 編集日時 2005-08-06 14:20 ]

投稿者:angel

編集 履歴 (0)

angelさん、早速のレスありがとうございます。

すいません、またまた質問です。(本当に素人なので怒らないで下さい)
>なお、参照先のドメインが CNAME になっていないよう注意が必要です。
とは、参照先でCNAME指定されてるとまた別ドメインへの問合せが発生し、場合よってはCNAMEのループ現象のようなものが起こる可能性があるからでしょうか?
また参照先のドメインにてCNAME指定されていない事を確認する方法は何かあるのでしょうか?

投稿者:さくらいてっきん

編集 履歴 (0)

引き続きまして…
>なお、参照先のドメインが CNAME になっていないよう注意が必要です。

とは、参照先でCNAME指定されてるとまた別ドメインへの問合せが発生し、場合よってはCNAMEのループ現象のようなものが起こる可能性があるからでしょうか?
理由は簡単です。DNSプロトコル上で禁止されているからです。関連RFCに記述があります。
その他にも、NS, MX 等々の値として指定できるドメイン名が CNAME となるのも N.G. です。これは、設定の時に間違えやすい点なので、特に注意が必要です。
禁止されている背景としては、さくらいてっきんさんの仰るような考え方があるものと思われます。

また参照先のドメインにてCNAME指定されていない事を確認する方法は何かあるのでしょうか?
BIND付属の dig や、djbdns付属の dnsqr, dnsq 等で、実際に DNS検索をかければ分かります。ツールの使い方が分かれば、特に難しくも無いですよ。

[ メッセージ編集済み 編集者: angel 編集日時 2005-08-06 14:48 ]

投稿者:angel

編集 履歴 (0)

angelさん、またまたすばやいレスありがとうございます。

>理由は簡単です。DNSプロトコル上で禁止されているからです。関連RFCに記述があります。
RFCを以前読んで見たのですが、そのときは理解ができませんでした。ちなみに日本語訳のほうです。(笑)

>BIND付属の dig や、djbdns付属の dnsqr, dnsq 等で、実際に DNS検索をかければ分かります。ツールの使い方が分かれば、特に難しくも無いですよ。
全くその通りですね。私もdigをたまに使いますが、あまり意味がわからず使っていました。

もう少し、勉強してみます。

投稿者:さくらいてっきん

編集 履歴 (0)

補足です。
Linux Square会議室でも、過去に類似の話題がありました。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=20207&forum=10&6
その中で RFC1912 2.4章について投稿させて頂いたことを思い出しましたので…。

※ Google で CNAME を検索したら、その記事が結構上位に来ていてビックリ!!

ご参考まで。

追記:
RFC1912を良く見ると、CNAME→CNAMEが「禁止」とまでは書かれてはいないですね…。ちょっと関連RFCまでは追いきれていないので、正確な所までは分かりませんが。( 当時のあんとれさんの書き込みの根拠が、はっきり分かると有難い所です )
[ メッセージ編集済み 編集者: angel 編集日時 2005-08-06 15:59 ]

投稿者:angel

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。