LoginSignup
0
0

[DNS] DNSとは

Last updated at Posted at 2024-04-17

DNSとは

  • DNS=Domain Name System
  • システム・サーバー間の通信を行う際、ドメイン名とIPアドレスの紐付け(名前解決)や、宛先ホストを指示するためのシステム
IPアドレス ドメイン名
123.456.789 aaa.com

※IPアドレスは数字で構成され人間にとって識別し辛いためドメイン名が考案された。

DNSを使った問い合わせの流れ

image.png

  1. PC がDNSキャッシュサーバーに、ドメイン名でアクセスする
  2. DNSキャッシュサーバーがDNSルートサーバーに、管理情報 (ドメイン名に対応するIPアドレスは何か) を問い合わせる
  3. DNSルートサーバーがDNSキャッシュサーバーに、管理情報のあるDNSサーバーを知らせる
  4. DNSキャッシュサーバーが管理情報のあるDNSサーバーに、ドメイン名に対応するIPアドレスを問い合わせる
  5. 管理情報のあるDNSサーバーはDNSキャッシュサーバーに、IPアドレスを回答する
  6. DNSキャッシュサーバーはPCに、IPアドレスを回答する
  7. PCはIPアドレスでWebサイトにアクセスし、ブラウザ上にWebサイトが表示される

※DNSサーバは世界中にサーバを分散させたり、キャッシュを行う(DNSキャッシュサーバを利用する)ことで、大量のアクセスに対応する。

DNSキャッシュサーバ(フルサービスリゾルバ)

  • ドメイン名に対応するIPアドレスを一時的に保存しているサーバ。
  • 過去に問い合わせ済→過去のIPアドレスを回答
  • 過去に問い合わせ無、または有効期限(TTL)切れ→DNSルートサーバに問い合わせ

※DNSキャッシュサーバの役割

  • DNS問い合わせの処理時間短縮
  • ルートDNSサーバの負荷軽減

※キャッシュ=データを一時的に保存する機能

※TTL(Time To Live)=DNSキャッシュサーバがキャッシュする情報の有効期限

ルートDNSサーバ(ネームサーバの最上部)

  • DNSキャッシュサーバが最初に問い合わせをするサーバ
  • 世界に13機

ネームサーバ(権威DNSサーバ、DNSコンテンツサーバ)

  • ドメインとIPアドレスを紐づける台帳(ゾーンファイル)を持ったサーバ全体を意味する
  • ルートDNSサーバもネームサーバの一種
    image.png

DNSレコード(ゾーンファイル)

  • 権威DNSサーバー内に存在
  • ドメイン名に関連付けられたIPアドレスや、ドメインに対するリクエストを処理する方法などのドメインに関する情報
  • レコードはテキストファイルから構成(DNSシンタックス)されている
  • 例.) TTLレコード=DNSサーバーがレコードを更新する頻度

DNSシンタックス=DNSサーバーに何を実行するか指示するためのコマンドとして使用される文字列

レコード種別 内容
A ホストのIPアドレス(IPv4)
AAAA ホストのIPアドレス(IPv6)
SOA ゾーン(ドメイン)情報
NS ドメインのDNSサーバ名
CNAME ホスト名のエイリアス(別名)
PTR IPアドレスに対するホスト名(逆引き)
MX ドメインのメール・サーバ名
HINFO ホストの追加情報。ホストのハードウェア・ソフトウェア(OS)情報。
WKS ホストで実行されているサービス情報(Well Known Services)
TXT ホストへのテキスト情報

Aレコード

ホストのIPアドレス(IPv4)を示すレコード。
image.png

項目 設定値(例) 説明
Name www.aaa.com. ドメイン名
TTL 300 キャッシュサーバ上でのレコードの有効期限
Type A レコード名
Value 123.456.789.123 IPアドレス(IPv4)。複数設定可能。

SOAレコード

DNSサーバの親・子のうち、子のみが保有し、ドメインのゾーンの起点(親)を示すレコード。
image.png

項目 設定値(例) 説明
Name @ 「@」の場合ゾーン名自身を示す。
TTL 300 キャッシュサーバ上でのレコードの有効期限
Type SOA レコード名
Value aaa.com.
email.aaa.com.
1
7200
900
1209600
86400
<MNAME+RNAME+SERIAL+REFRESH+RETRY+EXPIRE+MINIMUM>
MNAME:基となるデータを持つネームサーバの名前
RNAME:このドメインの管理者のメールアドレス(@は.に置換)
SERIAL:ゾーンファイルのバージョン
REFRESH:ゾーンの情報をリフレッシュするまでの時間
RETRY:REFRESHでリフレッシュNGのときのリトライの時間
EXPIRE:リフレッシュNG時の、セカンダリネームサーバ上のデータ有効時間
MINIMUM:ネガティブキャッシュ(存在しないドメイン情報)の保有時間

NSレコード

ドメインのDNSサーバ名を示すレコードで、
DNSサーバの親・子双方で保有し、権限移譲の状態を表している。
image.png

【例】子DNSサーバ:aaa.com(Aレコード(IPアドレス)保有しているサーバ)

項目 設定値(例) 説明
Name @ 「@」の場合ゾーン名自身を示す。
TTL 300 キャッシュサーバ上でのレコードの有効期限
Type NS レコード名
Value www.aaa.com. 権限移譲先のネームサーバ(子DNSサーバ自身)

【例】親DNSサーバ:com(Aレコードを持っておらず、子サーバに権限移譲している)

項目 設定値(例) 説明
Name aaa 子DNSサーバ名(最後の「.」なしで、後ろの「.com.」を省略)
TTL 300 キャッシュサーバ上でのレコードの有効期限
Type NS レコード名
Value www.aaa.com. 権限移譲先のネームサーバ(子DNSサーバ)

CNAMEレコード

ホスト名のエイリアス(別名)を示すレコード。(Canonical NAME)
特定のホスト名を、別のドメインに転送できる。

以下の例だと、
http://www.aaa.comのアクセスを、http://www.bbb.comに転送する。
image.png

【例】DNSサーバ:aaa.com

項目 設定値(例) 説明
Name www ホスト名(最後の「.」なしで、後ろの「.aaa.com.」を省略)
TTL 300 キャッシュサーバ上でのレコードの有効期限
Type CNAME レコード名
Value www.bbb.com 転送先のドメイン

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0