PR

DNSレコード(ゾーンファイル)の設定方法を3分で解説

IT-Skills

DNS(Domain Name System)は、インターネット上で情報が正確に伝達されるための基盤を形成しています。このシステムの核となるのが「DNSレコード」です。

DNSは、Webサイトやサーバーなどのネットワークリソースに「名前(=ドメイン名)」を割り当て、そのドメイン名をIPアドレスに変換する役割を担っています。それに対して、この変換プロセスで参照されるのがDNSレコードです。

参考 DNS(ドメインネームシステム)とは?

; DNSレコードの例 for example.com
$TTL 86400
@   IN  SOA     ns1.example.com. admin.example.com. (
              2024012401 ; シリアル
              7200       ; リフレッシュ
              7200       ; リトライ
              1209600    ; 有効期限
              86400 )    ; 最小TTL
; 名前サーバーの設定
@   IN  NS      ns1.example.com.
@   IN  NS      ns2.example.com.

; Aレコード for example.com
@   IN  A       192.0.2.1

; AAAAレコード for IPv6
@   IN  AAAA    2001:db8::1

; MXレコード for メールサーバ
@   IN  MX 10   mail.example.com.

; CNAMEレコード
www IN  CNAME   example.com.
ftp  IN  CNAME   example.com.

; 別のAレコード for サブドメイン
subdomain IN  A  192.0.2.2

; TXTレコード for SPFやその他の目的
@   IN  TXT "v=spf1 include:example.com ~all"

この記事では、DNSレコードがどのように機能し、どのように設定されるかに焦点を当てます。DNSレコードはWebサイトへのアクセスやメールの送受信など、私たちがインターネットを利用する上で不可欠な役割を果たしています。

ここでは、DNSレコードの種類、それぞれの役割、そして実際にどのように設定するのかを、初心者にもわかりやすく解説します。

スポンサーリンク

DNSレコードの基礎

DNSレコードとは、ドメイン名システム(DNS)において、ドメイン名に関連する情報を保存するためのデータです。これには、Webサイトのアドレス、メールサーバー、その他のサービスへのパスが含まれます。DNSレコードにはさまざまなタイプがあり、それぞれが特定の目的を持っています。

DNSレコードはインターネットの電話帳のようなもので、DNSレコードがなければ、我々はWebサイトの名前を入力してもそのサイトの正確な場所(IPアドレス)を見つけることができません。

DNSレコードの基本構造と記載方法

DNSレコードは、インターネットのドメイン名システム(DNS)内でドメイン名とそれに関連する情報を関連付けるためのデータで、これは特定のフォーマットに従って記載され、DNSサーバーがクエリに応答する際に使用されます。

具体的にイメージがしやすいように、DNSレコードの基本構造と記載方法について詳しく見ていきましょう。

サンプル DNSレコードの例

example.com.     3600    IN  A   192.0.2.1

example.com.はホスト名、3600はTTL(秒単位)、INはクラス、Aはレコードタイプ、192.0.2.1はこのドメイン名に対応するIPv4アドレスです。

  1. ホスト名
    • レコードが適用されるドメイン名またはサブドメイン名
  2. TTL(Time To Live)
    • レコードがキャッシュ(一時保存)される時間(秒)。
  3. クラス
    • 通常は「IN」で、インターネットを意味する。
  4. タイプ
    • レコードの種類(例:A、MX、CNAME)。
    • レコードタイプに応じたデータ(IPアドレス、他のドメイン名など)。

DNSレコードは、ドメイン名の解決とルーティングに必要な特定の情報を提供します。これにより、DNSサーバーはユーザーのクエリに対して適切な応答を行い、ユーザーはドメイン名を使用して特定のサービスにアクセスできるようになります。

そのうえで、DNSレコードをマスターするうえで重要なのがDNSレコードタイプです。

DNSレコードのタイプ一覧

DNSレコードのタイプは、そのレコードがどのような目的で利用されるのかを表す役割を担います。

例えば、Webサイトのアドレスを指定するためのレコード、メールサービスのルーティングを定義するレコード、サブドメインやセキュリティ設定を管理するレコードなど、各タイプは特定の機能や用途に対応しています。

以下にDNSレコードのタイプを一覧で整理します。

レコードタイプ説明用途
Aドメイン名をIPv4アドレスに関連付けるWebサイトのIPアドレス指定
AAAAドメイン名をIPv6アドレスに関連付けるWebサイトのIPアドレス指定(IPv6)
MXメールサーバのアドレスを指定するメールのルーティング
CNAME1つのドメイン名を別のドメイン名に関連付けるドメインのエイリアス作成
TXT任意のテキスト情報を保存するSPFやDKIMなどの設定
NSドメインの名前サーバを指定するドメインのDNS管理
PTRIPアドレスをドメイン名に逆変換する逆DNSルックアップ
SRV特定のサービスの場所を指定するサービスの位置情報提供
SOAゾーンの権威情報を提供するDNSゾーンの管理

ポイント DNSレコードの詳細解説

  • Aレコード
    • 最も基本的なレコードタイプ。ドメイン名(例:www.example.com)をIPv4形式のIPアドレスにマッピング。Webサイトのアドレス指定に不可欠です。
  • AAAAレコード
    • Aレコードと同様ですが、IPv6アドレス(新しいIPアドレス形式)に対応しています。
  • MXレコード
    • ドメインのメール交換サーバのアドレスを指定し、メールの配送先を決定。複数のMXレコードを優先度に基づいて設定できます。
  • CNAMEレコード
    • 1つのドメイン名(エイリアス)を別のドメイン名にマッピングします。例えば、www.example.comをexample.comにリダイレクトする場合に使用します。
  • TXTレコード
    • ドメインに関連する任意のテキスト情報を提供。これは、セキュリティ設定(例:SPF、DKIM)やドメインの検証によく使用されます。
  • NSレコード
    • ドメインのDNSクエリを処理する名前サーバを指定します。DNS設定の基本的な部分です。
  • PTRレコード
    • IPアドレスから対応するドメイン名への逆引き(逆DNSルックアップ)を可能にします。主にメールサーバの信頼性向上に役立ちます。
  • SRVレコード
    • 特定のサービスの位置(ポートとホスト名)を示します。例えば、VoIP(Voice over IP)サービスやメッセージングサービスで使用されます。
  • SOAレコード
    • DNSゾーンの権威情報を含み、ゾーンの管理に関するデータ(例:ゾーンの更新頻度、連絡先情報)を提供します。

これらのレコードは、DNSシステム内で異なる役割を果たし、インターネット上での情報の流れを制御し、整理します。それぞれのレコードタイプを適切に設定することで、ドメインの機能性と信頼性が高まります。

DNSレコードの役割(Webサイトへのアクセスを例に)

ここからはDNSレコードが参照されるプロセスを、具体的なシーンを例にして1個1個順を追いながらご説明していきます。ここでは、ユーザーがブラウザで「www.example.com」というWebサイトにアクセスするシナリオを使用します。

ステップ1: ドメイン名の入力

  • ユーザーアクション: ユーザーがブラウザに「www.example.com」と入力。
  • 背景: ユーザーはWebサイトのドメイン名を知っていますが、そのサイトの実際のIPアドレスは知りません。

ステップ2: DNSクエリの開始

  • システムアクション: ブラウザは入力されたドメイン名を元にDNSクエリを開始します。
  • 背景: ドメイン名をサーバーのIPアドレスに変換するため、DNSシステムが必要です。

DNSクエリとは、インターネット上でデバイスがドメイン名(例えば「www.example.com」)を対応するIPアドレス(例えば「192.0.2.1」)に変換するためにDNS(ドメイン名システム)サーバーに送る要求のこと。

ステップ3: ローカルDNSサーバーへの問い合わせ

  • システムアクション: ユーザーのデバイスはまず設定されているローカルDNSサーバー(多くの場合はISPが提供)に問い合わせます。
  • 背景: ローカルDNSサーバーには、以前のクエリによるキャッシュ情報がある場合があります。

ステップ4: DNSレコードの検索

  • システムアクション: ローカルDNSサーバーが必要なレコードを持っていない場合、ルートDNSサーバー、TLD(トップレベルドメイン)サーバー、そして最終的に「example.com」の権威DNSサーバーに問い合わせを行います。
  • 背景: このプロセスは、ドメイン名に関連する正確な情報(この場合は「www.example.com」のIPアドレス)を見つけるために必要です。

ステップ5: DNSレコードの取得

  • システムアクション: 権威DNSサーバーは、該当するドメインのAレコード(またはAAAAレコード)を含む応答をローカルDNSサーバーに返します。
  • 背景: Aレコードは、ドメイン名をIPアドレスに関連付けるために使用されます。

ステップ6: Webサイトへのアクセス

  • システムアクション: ローカルDNSサーバーは取得したIPアドレスをブラウザに返し、ブラウザはそのIPアドレスに接続してウェブサイトのコンテンツを取得します。
  • 背景: ブラウザは、IPアドレスを使用してウェブサーバーと通信し、ウェブページをユーザーに表示します。

このプロセスでは、DNSレコードがWebサイトのアドレス解決に不可欠な役割を果たしていることが分かるかと思います。正確なDNSレコードの設定がなければ、ブラウザは正しいIPアドレスを見つけることができず、Webサイトにアクセスすることができません。DNSレコードの役割や重要性が良くわかるのではないでしょうか。

ゾーンファイルとは?

ゾーンファイルとは、特定のドメインに関連するすべてのDNSレコードを包括的に管理するテキストファイルです。このファイルは、DNSサーバーがドメイン名のクエリに応答する際に使用される情報源となります。

例えば、"example.com"のドメインがある場合、そのドメインに関連するすべてのDNSレコード(WebサイトのIPアドレス、メールサーバーの位置など)は"example.com"のゾーンファイル内に記載されます。DNSサーバーは、このゾーンファイルを基にして、"example.com"に対するすべてのDNSクエリに応答します。

サンプル ゾーンファイルの例

$TTL 86400
@       IN      SOA     ns.example.com. admin.example.com. (
                              2024010101 ; シリアル
                              7200       ; リフレッシュ
                              7200       ; リトライ
                              1209600    ; 有効期限
                              86400 )    ; 最小TTL
@       IN      NS      ns.example.com.
@       IN      A       192.0.2.1
www     IN      CNAME   example.com.
mail    IN      A       192.0.2.2
example.com. IN MX 10 mail.example.com.

このファイルでは、"example.com"のメインIPアドレス(192.0.2.1)、"www"サブドメインのCNAMEレコード、メールサーバーのAレコードとMXレコードが設定されています。

まとめ DNSレコード(ゾーンファイル)とは?

  • DNSレコード:
    • ドメイン名システム(DNS)内でドメイン名に関連付けられたデータ。
    • 種類にはAレコード(IPアドレス指定)、MXレコード(メールサーバー指定)、CNAMEレコード(ドメイン名エイリアス)などがある。
    • ウェブサイトのアクセス、メールのルーティング、サブドメインの設定などに使われる。
  • ゾーンファイル:
    • 特定のドメインに関連する全てのDNSレコードを包含するテキストファイル。
    • DNSサーバーがドメイン名のクエリに応答する際に参照する情報源。
    • ドメインに関する変更や更新はゾーンファイルを通じて行われる。
  • DNSレコードとゾーンファイルの関係性:
    • ゾーンファイルはDNSレコードを一元管理し、DNSサーバーがこれらを参照してクエリに応答する。
    • 一貫性の維持と情報の正確性に不可欠。
; DNSレコードの例 for example.com
$TTL 86400
@   IN  SOA     ns1.example.com. admin.example.com. (
              2024012401 ; シリアル
              7200       ; リフレッシュ
              7200       ; リトライ
              1209600    ; 有効期限
              86400 )    ; 最小TTL
; 名前サーバーの設定
@   IN  NS      ns1.example.com.
@   IN  NS      ns2.example.com.

; Aレコード for example.com
@   IN  A       192.0.2.1

; AAAAレコード for IPv6
@   IN  AAAA    2001:db8::1

; MXレコード for メールサーバ
@   IN  MX 10   mail.example.com.

; CNAMEレコード
www IN  CNAME   example.com.
ftp  IN  CNAME   example.com.

; 別のAレコード for サブドメイン
subdomain IN  A  192.0.2.2

; TXTレコード for SPFやその他の目的
@   IN  TXT "v=spf1 include:example.com ~all"

このWebサイトは現役のエンジニアが以下3点を目的として運営しています。

  1. 勉強:一度理解した内容を忘れないように。
    → アウトプットは「最強のインプット」である! 
  2. 備忘:忘れたとしても後から見返せるように。
    → 未来の自分への「お手紙」を書いています。 
  3. 共有:〇〇ってこうだったんだ!の感動をシェアできるように。
    → あなたの知識は誰かにとっての「価値ある情報」です。 

副業ブログの始め方はこちらから

スポンサーリンク
IT-SkillsNetwork
シェアする
ビズドットオンラインをフォローする
タイトルとURLをコピーしました