DNSレコードとは?構成や種類、設定・確認方法を徹底解説
Webサイトの閲覧やメールサーバーの運用、メールの送受信などに必要不可欠な仕組みが「DNS」です。DNSの知識を深めるには「DNSサーバー」や「DNSレコード」に関する情報を正しく理解しなければなりません。
この記事ではDNSレコードの概要や種類、設定方法などを中心に、DNSそのものの役割やDNSサーバーの仕組みを解説します。
インターネットの基礎技術の一つを理解し、自身のウェブサイトやネットワークをより良く管理するための知識を得たい方は、ぜひ最後までご覧ください。
そもそもDNSとは?
DNS(Domain Name System)は、IPアドレスとドメイン名を紐付けるシステムです。例えると、インターネットの電話帳のようなものです。
人間が覚えやすいドメイン名(例:www.example.com)を、コンピュータやネットワーク機器が理解できるIPアドレス(例:192.0.2.1)に変換する役割を果たし、このシステムがなければ、私たちはウェブサイトにアクセスするために数列のIPアドレスを記憶しておく必要があります。
ここからはDNSの役割と、DNSサーバーの仕組みや種類をさらに深掘りして解説します。
DNSの役割
DNSの役割を見ていく前に、まずは「IPアドレス」と「ドメイン名」について確認しておきましょう。
- IPアドレス
とは、特定のコンピューターを識別するために数字を組み合わせて割り振られた番号で、インターネット上での住所です。通信相手を特定する際も、IPアドレスが手がかりになります。 - ドメイン名
このIPアドレスを、わかりやすい文字に表したものがドメイン名です。ドメイン名は、サイトのURLやメールアドレスなどにも使用されています。
DNSの主な役割は、ドメイン名をIPアドレスに変換することですが、それだけではありません。DNSは、メールサーバーのアドレスを見つけるためのMXレコードや、ドメインの認証情報を提供するTXTレコードなど、さまざまな情報を管理することができます。これにより、DNSはインターネット上での情報の検索と管理を効率的に行うための中心的な役割を担っています。
ドメイン名からIPアドレスを変換することを「正引き」、反対にIPアドレスからドメイン名を変換するのが「逆引き」です。IPアドレスとドメイン名の紐付けにより、Webサイトの閲覧やメールの送受信などのリクエストに反応できます。
パソコンやスマートフォンなどを使用する際、コンピューター同士の通信には、接続にIPアドレスが用いられます。しかし、IPアドレスは10進数で表示されており、人間にとっては扱いづらいものです。
一方、DNSの働きにより、識別が難しいIPアドレスを入力しなくてもドメイン名からIPアドレスへ自動で変換されます。ドメイン名であれば人間でも扱いやすく、入力も難しくありません。そのため、Webサーバーへのスムーズなアクセスが可能になるのです。
DNSサーバーとは
IPアドレスとドメイン名の対応を行うデータベースがDNSサーバーです。DNSの機能や、IPアドレス・ドメイン名の情報を備えています。
DNSサーバーは、1つのサーバーだけで無数に存在するドメイン名を管理しているわけではありません。世界中にある複数のサーバーが、分散して情報を管理しています。
DNSサーバー機能の流れを確認しましょう。
- URLをWebブラウザに入力する
- ブラウザがDNSサーバーへ、該当するIPアドレスを問い合わせる
- DNSサーバーは、問い合わせのドメイン名に関連するIPアドレスを返答する
- 返答されたIPアドレスを用いて、Webブラウザが通信を行う
現在では、DNSサーバーの設定を自身で構築・運用せずに、ドメインを取得している事業者やレンタルサーバーなどのDNSサーバーを利用するケースが多いのではないでしょうか。専門的な知識がなくてもDNSサーバーを利用できるため大変便利です。
この場合、基本的には事業者から提供されているコントロールパネルから設定を行います。しかし、他社からの移行やドメインを新規取得した際の設定方法には、事業者ごとに違いがあるため注意が必要です。
DNSサーバーの種類は「権威DNSサーバー」と「キャッシュサーバー」の2つです。機能によって、それぞれの特徴は異なります。
権威DNSサーバー
権威DNSサーバーとは、保有するドメインの情報を管理し、名前解決要求の返答をするサーバーです。「DNSコンテンツサーバー」や「ネームサーバー」とも呼ばれています。
権威DNSサーバーは、ドメイン名やIPアドレスの対応といった保有情報(ゾーン情報)に基づいて、キャッシュサーバーから名前解決の問い合わせを受け、返答を行います。ゾーン情報には、IPアドレスの対応とドメイン名が記録されているのが特徴です。名前解決の問い合わせを受けたら、ゾーン情報から該当の情報を探して返答します。
権威DNSサーバーは世界中に分散しており、名前解決が可能なドメインには個別のゾーン情報が備わっています。紐付けられたドメイン名やIPアドレスを氏名や電話番号に見立てると、「電話帳」に近い役割を持っているといえるでしょう。
キャッシュサーバー
キャッシュサーバーとは、権威DNSサーバーに名前解決の問い合わせを行うサーバーです。「フルサービスリゾルバ」とも呼ばれています。
キャッシュサーバーは、権威DNSサーバーに名前解決を要求し完了するまでに、また別の権威DNSサーバーに問い合わせる役割があります。これは、一つの権威DNSサーバーが世界中全てのドメインやIPアドレスに関する情報を保有しているわけではないためです。
キャッシュサーバーには、一度問い合わせたドメインとIPアドレスの対応状況を一定期間サーバー内に保存する機能があります。この機能によって、同じ名前解決を要求する場合に問い合わせの手間を省け、権威DNSサーバーの負担を減らすことが可能です。一定期間情報を保存できる機能から、キャッシュサーバーと呼ばれます。
DNSレコードとは
DNSレコードは、DNSを正しく設定するために必要な記述です。リソースレコードとも呼ばれます。DNSレコードは、インターネット上での情報の検索とアクセスを可能にする重要な要素です。
DNSレコードの役割や構成、種類を確認しましょう。
DNSレコードの役割
DNSレコードは、インターネット上での通信をスムーズに行うために不可欠です。例えば、メールを正しいサーバーにルーティングするMXレコードや、セキュリティ設定を示すTXTレコードなどがあります。DNSレコードにより、ドメイン名とそれに関連する様々な情報を正確に結びつけることができます。
DNSレコードは、ゾーンファイルに書かれた一行ごとの詳細な情報を指します。ゾーンファイルとは、ゾーン情報やドメイン・IPアドレスの対応関係などが保存されているファイルです。
正確にDNSサーバーを動作させるには、ゾーンファイルの設定が必要です。ゾーンファイルの設定時に、DNSレコードをそれぞれの情報に応じて記載していきます。
DNSレコードの構成
DNSレコードは、タイプ、ホスト名、値(またはアドレス)、TTL(Time To Live)など、いくつかの基本的な要素で構成されます。
これらの要素は、特定のドメインに対するクエリに対してどのように応答すべきかをDNSサーバーに指示します。TTLは、レコードがキャッシュに保持される時間を定義し、効率的なデータ管理を支援します。
例を挙げて、DNSレコードの構成を見てみましょう。
△△△.jp. 3600 IN A ○○.○○.○○.○○
指定のドメイン名:「△△△.jp.」
レコードのTTL:「3600」
class:「IN」
DNSレコードの種類(レコードタイプ):「A」
指定のデータ:「○○.○○.○○.○○」
- 指定のドメイン
この部分は、レコードが適用されるドメイン名を指します。例では「△△△.jp.」がドメイン名として指定されています。ドメイン名の末尾にあるドット(.)は、これが完全修飾ドメイン名(FQDN)であることを意味し、DNSのルートを指しています。 - レコードのTTL(Time To Live)
「3600」と指定されているこの部分は、レコードがキャッシュされる時間を秒単位で示します。この例では、3600秒(1時間)です。TTLはキャッシュされたデータがどれだけの時間有効かを定義し、期間が過ぎると再度権威DNSサーバーから情報を取得します。 - class
「IN」はInternetの略で、このDNSレコードがインターネット用であることを示します。DNSではほとんどの場合「IN」が使用されます。 - DNSレコードの種類(レコードタイプ)
「A」レコードは、指定されたドメイン名をIPv4アドレスにマッピングします。これにより、ドメイン名がどのサーバーに対応しているかを示します。 - 指定のデータ
この部分には、レコードタイプに応じた具体的なデータが入ります。Aレコードの場合はIPv4アドレスが記載されます。例では、「○○.○○.○○.○○」がそれに該当し、実際のIPアドレスを表します。
構成にあるclassは、基本的に変更されません。レコードのTTLと種類については、以下の項目で詳しく解説します。
DNSレコードのTTLとは
TTL(Time To Live)とは、キャッシュサーバーが情報をキャッシュ(一時保存)する有効期限です。キャッシュの有効期限をTTLとして定めることで、キャッシュサーバーが保持する期限が過ぎた情報を削除し、ネームサーバーの更新を滞ることなく反映できます。
TTLは「秒」単位で表記されます。上記の例でも説明しましたが、TTLが600であれば10分、3600の場合は1時間キャッシュの保持が可能です。TTLの数値が小さいほどレコードを保持できる時間が短くなり、権威DNSサーバーへの確認頻度が増えて負荷も大きくなります。
DNSレコードの種類
DNSレコードの構成には、レコードタイプと呼ばれる情報の種類を記載しなければなりません。DNSレコードの種類で代表的なものは以下の通りです。それぞれの特徴を把握しておきましょう。
Aレコード
ドメイン名(ホスト名)に対応している、IPv4形式のIPアドレスが書かれたレコードで、ドメイン名とIPアドレスの関連性を定義しています。IPv4(Internet Protocol Version 4)とは、情報やデータの送受信で使用される通信規格です。
Aレコードの「A」は「Address(アドレス)」から頭文字を取っており、最も基本といえるレコードになります。ドメイン名からIPアドレスを指定するため、正引きのレコードタイプです。Aレコードの入力時は、ホスト名に「www」などを記載し、VALUEの項目にはIPアドレスを入力することで名前解決できます。
PTRレコード
IPアドレスに対応しているドメイン名(ホスト名)を定義するものがPTR(Pointer)レコードです。Aレコードとは反対に、ドメイン名からの逆引きに利用されています。PTRレコードは、メール送受信のスパムチェックや送信者の身元認証などにも活用されています。
AAAAレコード
Aレコードと同様に、ドメイン名(ホスト名)に対応しているIPアドレスが書かれており、ドメイン名とIPアドレスの関連性を定義しているレコードです。ただし、Aレコードとの相違点として、IPアドレスがIPv6形式となっています。IPv6(Internet Protocol Version 6)とは、IPv4と同じく情報やデータの送受信で使用する通信規格です。IPv4よりも次世代の規格として使われています。
AAAAレコードは、Aが4つ並んでいることから「クワッドエー・レコード」と呼ばれています。ドメイン名からIPアドレスを指定する特徴から、正引きのレコードタイプです。
SOAレコード
権威DNSサーバーが管理しているドメインの範囲を示す「ゾーン」の設定や、ドメインの管理情報が書かれたレコードです。SOAという名前の由来は「Start Of Authority」の頭文字を取って呼ばれるようになりました。
情報の種類によって幅広い種類のレコードがありますが、SOAレコードの場合はドメインの管理や情報の有効期限の定義に使用されます。
MXレコード
MX(Mail Exchange)レコードは、対象のドメインでメールを受信するサーバーを定義します。具体的には、ドメイン宛に送られたメールがどのサーバーに転送されるべきかを示す情報です。
MXレコードによって指定されたメールサーバーのホスト名は、独立したドメインに属していても構いませんが、正しく解決されるためには、対応するAレコードまたはAAAAレコードが存在している必要があります。この設定により、メールが適切な宛先に確実に届けられることを保証します。
NSレコード
NS(Name Server)レコードは、特定のドメイン名に対してどのDNSサーバーが権威を持つかを定義します。これにより、インターネット上のどのDNSサーバーが、そのドメイン名に関するクエリに答えるかが指定されます。
NSレコードで指定されたネームサーバーのホスト名は、インターネット上で正確に解決できる必要があり、これは通常、対応するAレコードまたはAAAAレコードを持つことによって達成されます。NSレコードは、ドメインのDNS情報の信頼性とアクセス可能性を保証するために重要です。
TXTレコード
「TEXT(テキスト)」を略したTXTレコードは、名前の通りドメイン名(ホスト名)に関連するテキスト情報が書かれたレコードです。送信ドメイン認証の「SPF」あるいは「DKIM」を設定する際に、TXTレコードを用いて情報を記述します。
送信ドメイン認証とは、メールが正規のサーバーから送信されたものかどうかを、送信元の情報を調べて識別することです。SPFは受信メールのIPアドレスから送信元を検証する技術で、DKIMは受信メールの電子署名からなりすましを特定する技術を指します。
CNAMEレコード
ドメイン名やホスト名の別名を定義するレコードで、それぞれのドメイン名が同一と示すものです。CNAMEレコードの名前は、「Canonical NAME(キャノニカルネーム)」から取られており、別名で「alias(エイリアス)」とも呼びます。
CNAMEレコードが定義しているドメイン名を名前解決する場合は、別名のレコードを別途で設定しておかなければなりません。
SPFレコード
SPF(Sender Policy Framework)レコードは、特定のドメインからのメール送信を許可されたサーバーを定義することによって、メールの送信元を認証するために使用されます。SPF情報は通常、TXTレコード内に含められ、受信メールサーバーが送信サーバーのIPアドレスを検証し、ドメイン名を偽装したスパムやフィッシングを防ぐのに役立ちます。
このレコードによって、ドメインのメール送信ポリシーが明示され、受信者はメールが信頼できる送信元から来ていることを確認できます。SPFレコードの正確な設定は、ドメインのメールが迷惑メールとして誤ってマークされるリスクを減らすのに重要です。
DNSレコードの設定方法
DNSレコードの設定は、どこのネームサーバーを運用するかで変わってきます。近年では、レンタルサーバーやドメインを取得している事業者が提供するDNSサーバーを利用するケースが増えました。そのため、サーバー内部にある情報やファイルを直接編集することは多くありません。
DNSサーバーのサービスを利用する場合、専用の管理ツールや管理画面から編集を行います。設定方法は事業者ごとに異なるため、あらかじめ確認しておきましょう。
DNSレコードの確認方法
DNSレコードを確認する方法としては、レコードを確認できるWebサービスの利用や、WindowsやLinuxでコマンドを実行する手段が挙げられます。コマンドの実行と比べると、Webサービスの方が手間もかからず簡単に確認できるでしょう。
WindowsでDNSレコードを確認する場合は、コマンドプロンプトで「nslookupコマンド」を使用しましょう。Linuxで実行する際は、シェル上で「digコマンド」を使用します。
まとめ
DNSとは、ドメイン名とIPアドレスを紐付ける仕組みです。DNSによる働きは大きく、スピーディーかつ円滑なメール送受信やメールサーバーの運用などに欠かせません。DNSの対応を行うDNSサーバーを正確に動作させるには、DNSレコードが書かれたゾーンファイルの設定が必要です。
DNSやDNSサーバーの特徴・仕組みを把握し、DNSレコードは正しく記述するようにしましょう。