こんにちは、インフラエンジニアの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」のように数字と”.(ドット)”で表されます。
詳しくはこちらの記事をご覧ください。
ひとまず、IPアドレスは数字で表す住所だと思っておいてください。
ドメイン名とは?
次にドメイン名について解説します。
ドメイン名とは、
ドメイン名(ドメインめい、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サーバーの構築はInfraAcademyというインフラ学習ツールで実施できます。
Linuxの環境構築が不要で、DNSサーバーが構築できるようになっているので、ぜひ試してみてください。無料でお試しすることができます。
関連:【Linux】サーバー構築の練習方法を解説!サーバー構築のスキルを身につけよう
関連:コマンドを動かして実践的に学ぶInfraAcademy(インフラアカデミー)
DNSサーバーとは?まとめ
今回の記事ではDNSサーバーの仕組みと用語を解決しました。 仕組みはわかり易さ重視で書いたので、実際とは若干違う部分があるかもしれませんがご了承ください。
DNSサーバーを実際に構築してみたい方はこちらの記事を参考にしてください。
DNSなどサーバーについて詳しく知りたい方はこちらの参考書がオススメです。