質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
DNSレコード

DNSレコードとは、DNS(ドメインネームシステム)に登録する情報を指します。主なレコードの種類としては「A/AAAA」「PTR」「SOA」「CNAME」「MX」「NS」「TXT」などがあり、それぞれに役割を持ちます。

DNS

DNSとは、Domain Name Systemのことで、インターネットなどのTCP/IPネットワーク上でドメイン名やホスト名と、IPアドレスとの対応づけを管理するシステムです。DNSのデータベースは、IPアドレスの4つの数字を通知するDNSサーバーで構築されており、IPアドレスをドメイン名から引き出す機能やドメイン名に関するメールサーバ情報を取り扱っています。

意見交換

クローズ

6回答

1779閲覧

DNSのCNAMEレコードが名前解決できる理由がわからない

cyber

総合スコア6

DNSレコード

DNSレコードとは、DNS(ドメインネームシステム)に登録する情報を指します。主なレコードの種類としては「A/AAAA」「PTR」「SOA」「CNAME」「MX」「NS」「TXT」などがあり、それぞれに役割を持ちます。

DNS

DNSとは、Domain Name Systemのことで、インターネットなどのTCP/IPネットワーク上でドメイン名やホスト名と、IPアドレスとの対応づけを管理するシステムです。DNSのデータベースは、IPアドレスの4つの数字を通知するDNSサーバーで構築されており、IPアドレスをドメイン名から引き出す機能やドメイン名に関するメールサーバ情報を取り扱っています。

0グッド

0クリップ

投稿2023/03/25 04:56

0

0

テーマ、知りたいこと

DNSのCNAMEレコードが名前解決できる理由がわからない

背景、状況

例として、www.example.comにおいて、このドメインに対して、
Aレコードに 1.1.1.1と登録したとします。
その場合、名前解決の方法としては、com→example.com→Aレコード解決となると思うのですが、cnameレコードに

www.test.jp IN CNAME www.example.com

とした場合、www.test.jpへの名前解決リクエストは、jp→test.jpと探索され、www.example.comのドメインにこのようなCNAMEレコードが登録されていると気づかれないと思うのですが、どういう仕組みでwww.example.comのドメインがこのドメイン以外である「www.test.jp」のCNAMEレコードを持っていると判断できるのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答6

#1

matukeso

総合スコア1590

投稿2023/03/25 05:34

DNS的にはwww.example.comは、www.test.jpがCNAMEで自分を指し示していることはわからない。
それは、1.1.1.1といういpアドレスにwww.example.comという名前がついていることが(逆引きの1つを除けば)わからないのと同じ。

DNSリゾルバとしては、., .jp, test.jpと辿って、www.example.comなCNAMEが出てくる。そこで畜生CNAMEかよとなって、., .com, .example.comと辿りなおして1.1.1.1のAレコードを得る。それだけ。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

cyber

総合スコア6

投稿2023/03/25 08:53

編集2023/03/25 09:05

回答ありがとうございます。
理解不足で申し訳ないのですが、
その場合、www.test.jpに以下のようなCNAMEレコードが登録されているということでしょうか?
www.test.jp IN CNAME www.example.com
この場合ですと、たしかにwww.test.jpの名前解決リクエストはwww.test.jpのCNAMEレコードまでたどり着くことができ、www.example.comのAレコードを返せるかとは思います。
あと、別例にはなりますが、
test1.jpのドメインに対し、
www IN CNAME @
のような表記(エイリアスが登録ドメインのサブドメイン)だと、digでwww.test1.jpを検索したとき、
jp→test1.jpでこのCNAMEレコードを発見できると思いますが、
エイリアスがサブドメインになっていない場合が、なぜこのエイリアスが見つかるのかわかりません。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#3

matukeso

総合スコア1590

投稿2023/03/25 10:37

「エイリアスがサブドメインになっていない場合」というのがイマイチ理解できません。

test.jpのゾーンに、www IN CNAME www.example.com. が書かれていないと名前は解決できません。
exmaple.comのゾーンでwww.test.jp. IN CNAME www.example.com. と書いても意味は無いです。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#4

pippi19

総合スコア679

投稿2023/03/25 13:19

こちらのサイトを使って、実際に試してみると理解ができると思います。
https://develop.tools/dns-lookup/

  1. 「yt3.ggpht.com」と入力、するとCNAMEが帰ってきます。
  2. 1で得られたCNAME値を入力、するとIPアドレスが得られます。

これがCNAMEを経由してIPアドレスが得られる仕組みです。
実際のクライアントも上記と同じプロセスでIPを取得しています。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#5

cyber

総合スコア6

投稿2023/03/25 13:57

ご回答ありがとうございます。
実際に試して意味が分かりました。
ドメインをAとすると、Aドメインのレコードに
A IN CNAME B(転送先)として、登録すれば、
たしかにAの名前解決リクエストのときに、CNAMEレコードまでたどり着けますね・・・
はじめ、Bドメインのレコードに
A IN CNAME B を登録すると考えていて、この質問をしていました。
解決しました!本当にありがとうございました!

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#6

pippi19

総合スコア679

投稿2023/03/25 14:11

はい、ご認識あっております。
解決したようでよかったです!

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問