そもそもどうやってWebサイトを表示するの?
普段見ているWebサイト、このサイトを皆さんが見ている今、その手元の機械で何が起きているのか考えた事がありますか? テレビのCMや町中の広告でも、ホームページのURLが
とても単純化して言えば、今あなたは「別のパソコンの中にあるファイルを読んでいる」のです。 このサイトはcloudflare社のコンピューター上に存在するファイルで、今それをお手元の端末で読んでいます
ドメインとIPアドレス
ドメイン名は、example.com のような名前です。WebサイトのURLやメールアドレスに使われます。www.example.com のように、その下に名前を追加したものをサブドメインと呼びます。
IPアドレスは、インターネット上で通信先を指定するための番号です。たとえば 192.0.2.10 のように表します。この番号は説明用で、実際の接続先ではありません。
Webブラウザで https://www.example.com/ を開く場合、通常は最初に www.example.com に対応するIPアドレスをDNSで調べます。名前から必要な情報を取得する処理を名前解決と呼びます。Cloudflareの解説
Webサイトを開くときの流れ
端末は、設定されたDNSリゾルバーというサーバーに問い合わせます。リゾルバーは、保存済みの情報がなければ、必要なDNSサーバーをたどって答えを調べます。
IPアドレスを調べる
192.0.2.10 を返す
Webページを取得する
ドメインの設定情報を保持し、正式な回答を返すサーバーを権威DNSサーバーと呼びます。リゾルバーは必要に応じて、ルートDNS、.com などを担当するDNS、権威DNSの順に問い合わせ先をたどります。Google Cloudの解説
DNSレコードとは?
DNSで公開される情報の1件ずつをレコードと呼びます。名前と種類を指定して問い合わせると、その種類の情報を取得できます。
よく使われるレコードは、次のとおりです。Cloudflareのレコード一覧
AはIPv4、AAAAはIPv6のアドレスを登録します。Webサイトなどの接続先を調べるときに使います。
ある名前を、別の名前の別名として登録します。IPアドレスではなく、参照先のドメイン名を指定します。
そのドメイン宛てのメールを受け取るメールサーバーの名前を登録します。
ドメインの所有確認や、SPF・DMARCなどの設定を公開します。メール認証の仕組みは、この情報を読み取って判断します。
設定変更がすぐに反映されないのはなぜ?
DNSの回答は、毎回調べ直さずに済むよう、リゾルバーや端末に一定時間保存されます。これをキャッシュと呼びます。
レコードには**TTL(Time To Live)**という、キャッシュできる時間が指定されています。たとえばTTLが3,600秒なら、取得した回答を最大1時間キャッシュできます。設定を変更しても、古い回答のキャッシュが有効な間は、利用者によって結果が異なることがあります。Cloudflareの解説
DNSとDMARCはどう関係する?
DMARCはメール認証の仕組み、DNSはその設定を公開するための仕組みです。ドメイン所有者は、_dmarc.example.com という名前にTXTレコードを登録します。受信側はその情報をDNSで取得し、メールを処理する際に参照します。
ドメインは名前、DNSはその名前の情報を調べる仕組み、レコードは公開する情報です。DMARCでは、メール認証に失敗した場合の処理方針などをTXTレコードで公開します。