こんにちは、インフラエンジニアのryuです。
今回の記事は、初心者向けにDNSサーバーとは何かについて解説します。DNSサーバーとは名前解決のサーバーです。サーバーの名前とIPアドレスを紐づける役割をしています。DNSが何か分からない人のために、DNSサーバーがどのような用途で使われているのか、DNSの仕組みはどうなっているのかを詳しく解説します。
目次
【初心者向け】DNSサーバーとは?

DNSサーバーって何?
DNSサーバーはサーバーの場所を教えてくれるサーバーです!
「DNSサーバーとは何?」と疑問を持っている方のために、現役エンジニアの私がDNSサーバーについて詳しく説明します!
今回の記事の内容は以下の通りです。
記事の内容
- DNSサーバーとは?
- DNSサーバーはどのような場面で使われるの?
- DNSの仕組み
今回の記事を読めばDNSサーバーがどのようなものか理解することができます!インフラエンジニア以外のプログラマーなど、ITに携わっている方は必須の知識となります。
図を使って、初心者の方でも分るように解説しています!
DNSサーバーとは?
DNSサーバーとは名前解決を行うサーバーです。
名前解決って何??
いきなり、名前解決と言われても分からないですよね。
DNSの動作を理解するためには、まず以下の2点の理解が必要です。
- IPアドレス
- ドメイン
なぜなら、DNSサーバーはIPアドレスとドメイン名を紐づけるものだからです。
では、「IPアドレス」と「ドメイン名」について簡単に説明します。
IPアドレスとは?
IPアドレスとは、パソコンの住所のことです。
パソコン同士が通信するために必要な情報です。
例えば、手紙を送るとき、家の住所を書きますよね。それと同じようなものです。
「192.168.1.1」のように数字と”.(ドット)”で表されます。
詳しくはこちらの記事をご覧ください。
ドメイン名とは?
ドメイン名とは、
ドメイン名(ドメインめい、domain name)は、IPネットワークにおいて、個々のコンピュータを識別し、接続先を指定するために使用される名称の一部。多くの場合、ドメイン名は複数のホストを擁するドメインの名称か、あるいはドメイン名それ自身がホスト名であり、URLの一部を構成している。
(wikipedia)
具体的には、”google.com”であったり、このサイトの場合は、”engineer-ninaritai.com”がドメイン名です。
WebサイトにアクセスするときのURLの部分がドメイン名だと思っておけば大丈夫です。
DNSサーバーはドメイン名からIPアドレスを調べる
DNSサーバーはドメイン名からIPアドレス(サーバーの住所)を調べるものです。
イメージはこんな感じです。

この図のように、使用者はサーバーの場所をDNSサーバーに問い合わせを行い、DNSサーバーが答えるという動作をします。
では、このような動作は具体的にどのような場面で使われるでしょうか?
一番分かりやすいのは、Webサイトにアクセスするときです。
DNSの用途とは?
DNSは名前解決をするサーバーってことは分りました。
ここからは、DNSがどのような場面で使われるのかを理解しましょう
DNSサーバーはどのような場面で使われるの?
DNSサーバーはどのような場面で使われるでしょうか?
皆さんが身近で使っているのは、Webサイトへアクセスするときです。
Webサイトにアクセスするとき、URLがブラウザ上に表示されます。このURLにサーバーの名前(FQDN)が書かれています。

私のサイトの場合、「engineer-ninaritai.com」という名前になります。
Webサイトへアクセスするときは、この名前をDNSサーバーに問い合わせし、Webサーバーの場所を確認しています。そして、使用者はDNSサーバーから返ってきたIPアドレスにアクセスすることで、Webページを表示しています。
Webサイトへのアクセス以外にも、DNSサーバーは様々な場所で使われています。システムを構築する上で、必ず必要な技術になります。DNSサーバーは何かをしっかり理解しましょう。
DNSサーバーはサーバーへ通信するときに使われる
DNSサーバーはWebサイトへアクセスするときに使用するとお伝えしました。しかし、名前解決を必要とする場面は他にもあります。
基本的には、サーバーへアクセスするときはDNSサーバーを使用すると覚えておきましょう。
なぜなら、サーバーの指定はIPアドレスではなく、サーバー名(FQDN)で行われるからです。
例えば、メールを使用するとき、メールサーバーを指定します。以下のように設定してあります。

DNSの仕組みとは?【脱初心者】
次にDNSの仕組みを解説します。
ここからは中級者向けです。下記の内容について解説します。
- DNSのゾーン
- フォワーダーと委任
- ゾーン転送
応用情報技術者試験やネットワークスペシャリストレベルの内容です。
DNSサーバーを構築する人は理解しておきましょう!
DNSのゾーンについて
DNSサーバーにはゾーンと呼ばれるものがあります。
DNSゾーンとは、インターネットのドメイン名の管理において、あるDNSサーバ(ネームサーバ)が自ら管理するドメインの範囲のこと。管理権限(オーソリティ)を持つドメインとそのサブドメインが含まれるが、管理を他のサーバに委任したサブドメインはそのゾーンから外れる。
(IT用語辞典より)
つまり、名前解決できるドメインのことです。
google.comというゾーンを持っていれば、google.comについて名前解決できます。それ以外のドメインについては名前解決できません。

ゾーンを持っていないドメインはどうやって名前解決するのか?
ゾーンを持っていないドメインは自身で名前解決できません。
自分で名前解決できないなら、名前解決できる他のDNSサーバに問い合わせるしかありません。
他のDNSサーバに問い合わせる方法は大きく2種類あります。
フォワーダと委任です。この違いは今回は特に説明しませんが、実際に設定すると違いが分かります。
イメージはこんな感じです。

DNSサーバーの用語
DNSサーバーをさらに細かく分けると、「マスタサーバー」「スレーブサーバー」「コンテンツサーバー」「フルリゾルバサーバー」というものがあります。
DNSサーバーの動作によって、呼び方が変わります。
それぞれの用語について解説していきます。
マスタサーバー、スレーブサーバーとは?
マスタサーバーとはゾーンを管理するサーバー
スレーブサーバーとはマスターサーバーが管理しているゾーンのバックアップをしているサーバーのことです。
マスターサーバとスレーブサーバは同じゾーン情報を持ち、マスターサーバに障害が発生したときにスレーブサーバがバックアップの役割を果たします。
マスターサーバのゾーンをスレーブサーバにコピーすることをゾーン転送と言います。

コンテンツサーバー、フルリゾルバサーバーとは?
コンテンツサーバとは自身でゾーンを管理して、名前解決要求に答えるサーバーのことです。
フルリゾルバサーバとは自身で名前解決できないものを他のDNSサーバに問い合わせる働きをさせるものです。
ネットワークスペシャリストの問題ではコンテンツサーバとフルリゾルバサーバを1台のDNSサーバで構築していたが、DNSキャッシュポイズニング攻撃の対策として別々のサーバに構成変更するという内容が出題されていました。
イメージはこんな感じです。

LinuxでDNSサーバーを構築してみよう
ここまでDNSサーバーの概要について解説しました。DNSサーバーをさらに理解するために、Linuxサーバーを用いてDNSサーバーを構築してみましょう。DNSサーバーの構築方法は、以下の記事にまとめています。
- 【DNS講座①】名前解決とは?Linuxサーバーで名前解決をやってみよう
- 【DNS講座②】LinuxでDNSサーバーを構築してみよう
- 【DNS講座③】bindでAレコードやCNAMEレコードを登録してみよう
- 【DNS講座④】bindでPTRレコードを登録して逆引きしてみよう
Linuxの環境構築が不要で、DNSサーバーが構築できるようになっているので、ぜひ試してみてください。
DNSサーバーとは?まとめ
今回の記事ではDNSサーバーの仕組みと用語を解決しました。 仕組みはわかり易さ重視で書いたので、実際とは若干違う部分があるかもしれませんがご了承ください。
DNSサーバーを実際に構築してみたい方はこちらの記事を参考にしてください。
DNSなどサーバーについて詳しく知りたい方はこちらの参考書がオススメです。
未経験からインフラエンジニアとして働きたい方はこちらのスクールがオススメです。まずは無料カウンセリングから↓
ネットビジョンアカデミー(NVA)はインフラエンジニアの教育に全力投球