ベアメール

blogベアメールブログ

ナレッジ

DNSとは?役割や仕組み、DNSレコードの意味を解説

DNS

目次contents

はじめに

DNSは、Webサイトやメールシステムを支える重要な仕組みのひとつです。Webサーバやメールサーバの設定・運用にはDNSの知識が欠かせません。ただし、DNSの設定にはやや専門的な知識が求められます。特に「DNSレコード」については、その種類や意味を正しく理解しておきたいところです。DNSレコードの種類や意味を理解しないまま設定を行うと、サーバが想定通りに動作せず、Webブラウザからの閲覧やメール配信に支障をきたす可能性があるからです。ここでは、DNSの基礎知識とともに、DNSレコードの種類や設定方法を解説します。

DNSの種類と全体像

DNSとは何か?

DNSとは「Domain Name System」の略称で、インターネット上でドメイン名を管理・運用するために開発されたシステムです。具体的には、名前解決(ドメインネームとIPアドレスを結び付ける処理)を目的として、階層構造と権限移譲によって作られています。このシステムを提供しているサーバを「DNSサーバ」といいます。

DNSサーバの種類

DNSサーバは、大きく「ネームサーバ」と「フルリゾルバ」という2つの種類に分類できます。

【ネームサーバ】

名前(ドメイン)と電話番号(IPアドレス)を紐づける電話帳(台帳)のような役割を持っています。「権威DNSサーバ」や「コンテンツDNSサーバ」とも呼ばれ、保有する情報に基づき、フルリゾルバからの問い合わせへの回答を行います。その中でも、名前解決の際にフルリゾルバが最初に問い合わせを行うサーバを「DNSルートサーバ」といいます。これは世界で13台しか存在しません。DNSルートサーバは、DNSの仕組みを支え、いわば全てのDNSサーバの親とも言えるべき存在です。


【フルリゾルバ】

ネームサーバに問い合わせを行うサーバで、「DNSキャッシュサーバ」とも呼ばれます。各ネームサーバはすべてのドメイン、IPアドレスの情報を保有しているわけでありません。そのため、フルリゾルバは各ネームサーバに質問を投げかけ、名前解決が完了するまで次々に各ネームサーバを渡り歩くといった役割を担っています。また、一度確認したドメインとIPアドレスの対応状況をフルリゾルバ内に保持(キャッシュ)し、再度同じ名前解決をする際にネームサーバをもう一度渡り歩く、といった余計な手間を省くことができます。これが、「DNSキャッシュサーバ」と呼ばれる所以です。

DNSによる名前解決の順序

一般的にDNSサーバは、次のような順序で名前解決を行います。

1.PC ⇒ フルリゾルバ

ブラウザにURLを入力すると、ドメインとIPアドレスの紐づけに関する問い合わせを、PCからフルリゾルバへ行います。

2.フルリゾルバ ⇒ DNSルートサーバ

フルリゾルバから最上位のDNSサーバである「DNSルートサーバ」へ問い合わせを行います。

3.DNSルートサーバ ⇒ フルリゾルバ

DNSルートサーバはフルリゾルバに対し「管理情報(紐づけの情報)を持っているDNSサーバの情報」を回答します。

4.フルリゾルバ  ⇒ 管理情報を持つネームサーバ

フルリゾルバはDNSルートサーバから受け取った情報をもとに、管理情報を持つDNSサーバへ問い合わせを行います。

5.管理情報を持つネームサーバ ⇒ フルリゾルバ ⇒ PC  

DNSサーバより管理情報がフルリゾルバに返され、さらにフルリゾルバより管理情報がPCへと送られます。これにより、ドメインとIPアドレスの紐づけが完了し、ブラウザ上にWebサイトが表示されます。

このように名前解決は、DNSルートサーバを起点として、フルリゾルバが各ネームサーバを渡り歩くことで行われます。

DNSレコードの種類と設定方法

DNSを正常に動作させるには、「DNSレコード」と呼ばれる設定情報の記述が必要です。前述した通り、DNSサーバは、ドメインとIPアドレスを紐づける台帳のような仕組みを保持しています。この台帳は「ゾーンファイル」と呼ばれ、DNSレコードはゾーンファイルに記載されている「一行ごとの詳細情報」を指します。

DNSレコードの種類

DNSサーバを正常に動かすには「ドメイン」「IPアドレス」の対応表であるゾーンファイル設定が必要です。ゾーンファイル設定では、情報の種類に応じてDNSレコードを記載していくことになります。この「情報の種類」を「レコードタイプ」と呼び、次のような種類が存在します。

Aレコード

ホスト名に対するIPアドレスの情報を意味するレコードタイプ

PTRレコード

IPアドレスに対するホスト名を表すレコードタイプ

AAAAレコード

Aレコードと同じくホスト名に対するIPアドレスを意味しているが、特にIPv6のアドレスを指定する際に使用するレコードタイプ

SOAレコード

「ゾーンファイルの基となるデータを持つネームサーバの名前」や、「管理者のメールアドレス」など、ドメインの管理情報を表すレコードタイプ

NSレコード

あるゾーンに対して権威を持つネームサーバを指定するためのレコードタイプ

MXレコード

対象ドメイン宛のメール配送先ホスト名を定義するレコードタイプ。 メール転送先ホスト名はAレコードで定義したメール転送先ホストを参照し、メールサーバのIPアドレスを取得する。

CNAMEレコード

ドメインやホスト名の別名を定義するレコードタイプ

TXTレコード

ホストのテキスト情報を記載

SPFレコード

送信ドメイン認証技術「SPF」を使用し、メールを送信可能なドメインを指定するレコードタイプ

この中でメールサービスの稼働で特に重要なのは、以下4つのレコードタイプです。

A

PTR

MX

SPF(SPF TXT)

さらに各レコードタイプには、「記載の作法」が決められています。この作法については、別の記事で改めて詳しく解説していきます。

TTLの設定

DNSサーバにおいて重要な設定のひとつに「TTL(Time To Live)」があります。ここでのTTLとは、「フルリゾルバがキャッシュする情報の有効期限」として扱われます。前述したようにフルリゾルバは、一度取得した情報をキャッシュとして内部に保持します。しかし、いつまでも同一の情報を保持していては、ネームサーバの更新が反映されません。そこで情報の有効期限をTTLとして定め、期限を過ぎた場合はキャッシュから情報を削除します。

DNSサーバの設定方法

DNSレコードを含む各種設定は、ドメインを取得した業者のDNSサーバやレンタルサーバー事業者のDNSサーバで行います。一般的には、サーバ内のファイル情報を直接編集することは少なく、専用の管理画面や管理ツールのGUIを通じて作業することが多いです。

まとめ

本稿では、DNSの仕組みとDNSレコードの設定例などを解説してきました。DNSは、ドメイン名とIPアドレスの対応付けや、メールの配送先の指定など、企業の情報システムの基盤ともいえる仕組みです。もし今後、これらを運営する場合にはDNSやDNSレコードの役割を正しく理解しておく必要があります。特にDNSレコードは、登録ルールを守り正しい記載を心がけるようにしましょう。

この記事を読んだ人へオススメrecommended