現在ではインターネットはもはや当たり前のものとなって、普段スマートフォンやパソコンなどで普通に情報を検索して探したりする時に特に仕組みを意識することはありません。
DNSサーバーとは何かということを、特に意識することはないですが、以前までは、インターネットに接続する設定をする際にはDNSサーバーの情報を入力する必要がありました。
そんな時には、このDNSサーバーとは何だろうとか、DNSサーバーはどこにあるのだろうと疑問にもつことがありました。
現在でも、会社やお店で独自のインターネット環境を構築する場合にはDNSサーバーの知識は必要です。
この記事ではDNSサーバーとはなにか、仕組み・種類別の役割・設定方法まで解説します。
![Nao Yanagisawa](https://xs691486.xsrv.jp/wp-content/themes/JITERA/images/director-nao-1.png)
2014年 大学在学中にソフトウェア開発企業を設立
2016年 新卒でリクルートに入社 SUUMOの開発担当
2017年 開発会社Jiteraを設立
開発AIエージェント「JITERA」を開発
2024年 「Forbes 30 Under 30 Asia 2024」に選出
DNSサーバーとは
DNSサーバーとは、なんでしょうか?まず、DNSというのはDomain Name Systemの略です。直訳すればドメイン名のシステムということになります。
なので、DNSサーバーとはドメイン名のシステムを実現するためのサーバーと言えます。通常、私達が使っているパソコン等はクライアントといいます。
サーバーは、クライアントがインターネット環境に接続することができるようにするために必要なコンピュータシステムのことです。
スマートフォンでも、インターネットに接続するために各プロバイダがDNSサーバーを設置しています。
インターネットの環境を実現するためにDNSサーバーは重要な役割を持ちます。
DNSサーバーの役割
DNSサーバーの役割を説明するには、ドメインとはなにかがまず必要となります。
ドメインというの凄く簡単に言うと見たことがあるとおもいますが、○○.jpとか△△.comというあれです。これはインターネット上の住所(アドレス)です。
このドメインを使って、今、この記事を見ているwebブラウザというアプリに入れて(実際はドメインを含むURLを入れる)実行すると、インターネット上のどこに実行すべきものが存在するかがわかるので、接続して実行できます。
※実行されることで画面が作られ、WEBアプリとして使えます。
実際の場所を表すのはIPアドレスという11桁の数字が使われる(192.255.255.0のように)のですが、数字を覚えるのは面倒なので、ドメイン名というものを使います。
※インターネット上の住所はドメインで、ネットワーク上の住所はIPアドレスという説明がありますが、概念的な話になるのでここでは同等なものだと考えます。ネットワーク上にインターネットが構築されているというイメージなのでそのような説明になっています。
DNSというのは、このドメインをIPアドレスに変換することをいいます。
ちなみにドメインを何故使うのかというと、
- 簡単に覚えやすい。
- ドメインは必ずひとつしかないので、セキュリティの効果がある。
- 有名なドメインは信頼性がでてくるので安心して使うことができる
などの利点があります。
※厳密な説明によってはドメインとドメイン名と区別して使う場合がありますが、ここでは同一なものとして扱っています。
DNSサーバーの仕組み
先程も説明したとおり、DNSサーバーはドメイン名をIPアドレスに変換します。
クライアントからプロバイダのローカルDNSサーバーへURLで接続要求をすると、ローカルDNSサーバーで持っているドメイン名とIPアドレスを紐付ける住所録みたいな情報からドメイン名をIPアドレスに変換します。
しかし、ローカルDNSサーバーの持っている情報は、接続を早くするための一時期的な情報(キャッシュ)なので、そこには該当するものがない場合があります。
その時は、ローカルDNSサーバーは権威DMSサーバーへ情報を探しに行きます。広い意味での権威DNSサーバーは、ルートDNSサーバー・トップレベルDNSサーバー・狭い意味での権威DNSサーバーから成り立っています。
※3つ全体を権威DNSサーバーと呼ぶ場合と、別に区別して”狭い意味での権威DMSサーバー”を単に権威DNSサーバーと呼ぶ場合があります。
ドメイン名とIPアドレスを紐づける流れ
- 1.ローカルDNSサーバーのキャッシュに情報はあるか?
- 2.なければ、ルートDNSサーバーに探しに行きます。
- 3.ルートDNSサーバーは、TLDごとにトップレベルDNSサーバーを管理しているので、ドメイン名から該当するトップレベルDNSサーバーを紹介して探しなさいと教えてくれます。
- 4.トップレベルDNSサーバーは、せまい意味での権威DNSサーバーを管理しているので、該当する権威DNSサーバーを紹介します。
- 5.紹介された権威DNSサーバーに該当するIPアドレスがなければ、他の権威DMSサーバーを紹介してくれます。
- 6.ドメイン名に該当するIPアドレスの情報がないなら、次から次へと権威DNSサーバーを探していきます。
- 7.該当するIPアドレスの情報があれば、それを使って、接続をしていきます。
ドメイン名は全世界で必ずひとつしか存在してません、そして、事前に登録されているので、確実にIPアドレスへと変換することが可能です。
※プロバイダというのはインターネットに接続するサービスを提供している事業者のことです。皆様もどこかのプロバイダと契約してインターネットに繋げているはずです。
DNSサーバーはどこにあるのか
DNSサーバーはどこにあるのということですが、まずはプロバイダや企業・組織がそれぞれにローカルDNSサーバーをもっています。
その次には、全世界に13ヶ所に親であるルートDNSサーバーがあります。ルートDNSサーバーはトップレベルDNSサーバーがどこにあるのかを持っています。
トップレベルDNSサーバーは、トップレベル(トップレベルとは、TLDのことで:.comや.jpなどのこと)ごとに存在しています。TLDごとにTLDを管理する団体がトップレベルDNSサーバーを持っています。
トップレベルDNSサーバーは、TLDごとに存在しています。”狭い意味での権威DNSサーバー”がどこにあるかの情報を持っています。
権威DNSサーバーは、ドメイン名とIPアドレスを紐付ける住所録のような情報(それをゾーンと呼びます。)を持っているので、このサーバーで確実にドメイン名からIPアドレスがわかります。住所録の情報にさがしているドメイン名の情報が存在しない場合は、他の権威DNSサーバーの情報をもっているので、そちらを探せと紹介してくれます。権威DNSサーバーは、世界中に散らばって存在しています。
ネームサーバーとDNSサーバーの違い
ネームサーバーは、実際のドメイン名とIPアドレスの情報を管理しているサーバーのことを表すとありますので、ネームサーバーは権威DNSサーバーのことを言っている場合があります。
確かにプロバイダの持つDNSサーバーの多くは、一時的(キャシュ)として情報を持ちますし、サーバー自体でIPアドレスとドメイン名の紐付け情報を探す機能(フルサービスリゾルバと呼ぶ)もあるので、実際の情報を管理しているのはネームサーバーと呼ぶということです。
しかし、サイトの説明の多くはネームサーバーとDNSサーバーは同じものだという説明が圧倒的に多いので同じものであるという認識でとりあえずは問題はありません。
コンピュータの用語説明は、このように説明するサイトによって同じものを違う名前で表現する場合がありますので注意が必要です。
DNSサーバーの種類と特徴
先程も説明しましたが、DNSサーバーは多くの情報を記録しておくためにいくつかのDNSサーバーが階層で存在しています。
- 1.ルートDNSサーバー 一番の起点となるDNSサーバー トップレベルDNSサーバーを下の階層にもちます。
- 2トップレベルDNSサーバー ドメイン名の中のTLD別に存在するサーバー 狭い意味での権威DNSサーバーを下の階層に持ちます。
- 3.権威DNSサーバー ドメイン名とIPアドレスの紐づけ情報を持つDNSサーバーで複数の存在があります。
- 4.ローカルDNSサーバー キャシュとして情報をもっています。企業やプロバイダ内の中のLAN上に存在しています。
※広い意味で権威DNSサーバーを呼ぶ場合、1.2.3をすべて示します。
それぞれのDNSサーバーを詳しく説明していきます。
ルートDNSサーバー
ルートDNSサーバーは、「ルートゾーン」を保持しているサーバーです。管理しているのがルートゾーンで、言うならばTLD(トップレベルドメイン)に関係する情報を管理しています。
DNSを用いて名前を解決するには、基本的にはルートサーバーが起点で、その次にドメインのTLDから該当するトップレベルDMSサーバーに問い合わせた後、そこからさらに複数の権威DNSサーバーに繰り返し問い合わせることで、目的のIPアドレス(逆引きの場合はドメイン名)を得ることができます。もし、ルートDNSサーバーが停止するとインターネット全体に影響が出る恐れがあるため、複数のシステムが用意されています
現在、ルートサーバーはアルファベットのA~Mまでの13個のシステムが稼働しており、それぞれのシステムはエニーキャストを利用した複数サーバーで構成されています。
マスターを管理するのがAサーバーで、残りのBサーバーからMサーバーの12システムはAサーバーのミラーサイトになります。これにより、システムの冗長性と信頼性が確保されています。現在、この12システムのうち、WIDEプロジェクトが管理するMサーバーが日本には設置されています。
TLD(トップレベルドメイン)サーバー
TLD(トップレベルドメイン)サーバーは、ドメインのトップレベルの「.com」「.co.jp」などのドメインを識別するためのものです。ドメイン名には国や地域ごとに分かれている「ccTLD(country code Top Level Domain)」と、制限なしに利用できるドメイン「gTLD」の2種類があります。ドメインネームの大分類が「.com」「.co.jp」で、これを識別するのがTLD(トップレベルドメイン)サーバーです。
2012年以降に作成されたものを新gTLDと分けています。今までのgTLDは人気も高く使えないケースが多々あるために新gTLDが使われるようになりました。
権威DNSサーバー
権威DNSサーバーは、キャッシュDNSサーバーから来る問い合わせに対して、ゾーン情報を教えてくれます。
※広い意味での権威DNSサーバーはルートDNSサーバー・トップレベルDNSサーバーが入っています。
そして、ゾーン情報を持っている可能性が高い権威DNSサーバーに問い合わせるように指示を行い、該当のゾーン情報を探し出してくれます。通常、権威DNSサーバー(この説明の場合は狭い意味での権威DNSサーバーのことです。)は、直接エンドユーザーからの問い合わせを受け付けていません。※ルートDNSサーバーとトップレベルDNSサーバーを経由します。
ローカルDNSサーバー
ローカルDNSサーバーの役割を紹介します。
ユーザーのデバイスが特定のドメイン名にアクセスしようとすると、まずローカルDNSサーバーに要求されます。ローカルDNSサーバーはこの要求で、キャシュに情報が存在すれば、適切なIPアドレスに変換してデバイスに応答します。
キャシュに情報がない場合は、広い意味での権威DNSサーバーに探しにいきます。結果、見つかった場合は、ドメイン名とIPアドレスの対応は、一定期間キャッシュに保存されます。この仕組みが、同じドメインの問い合わせがされたときに複数の問い合わせがある場合でも、再度解決処理を行わなくて済み、名前を効率的に解決できます。TTL(Time To Live)は、DNSレコードがネットワーク上で有効な期間を示し、この期間内にキャッシュが保持され、同じ問い合わせに対してはキャッシュから情報を取得できます。
お気軽にご相談ください!
DNSサーバーの設定方法
ここではDNSサーバの設定手順について紹介します。
基本的なDNSサーバー設定手順
基本的なDNSサーバの設定手順は以下の通りです。
設定が必要な場合は、ぜひ参考にして取り組んでみましょう。
- 業者から必要な情報を取得する:ホスト名、ドメイン名、IPアドレス。
- サーバにログインし、DNSレコードを設定する:ホスト名とドメイン名を指定し、Aレコードで利用するIPアドレスを設定する。
- 各ネームサーバにDNSサーバアドレスを指定して設定を完了する。
また、DNSの設定後は、正常な動作を確認するためにテストを行う ことが重要です。
さらに、定期的な設定の確認と必要に応じた更新や修正を行う ことも推奨されます。
高度な設定オプション
高度な設定では、各機器へのDNSの設定とローカルエリア接続の管理設定 があります。
まずは各機器へのDNSの設定手順手順を解説していきます。
- 同一ネットワーク内のデバイスにLANケーブルで接続
- 管理画面でプライマリDNSサーバとセカンダリDNSサーバのアドレス欄にDNSサーバアドレスを入力
- 入力後、設定内容を保存。
次は、ローカルエリア接続の無効化 についても紹介していきます。
- 同一ネットワーク内のデバイスをLANケーブルで接続
- 管理画面でTCPとUDPの設定を確認
- TCPとUDPを無効にし、設定内容を保存
ローカルエリア接続を再度有効化する場合は、管理画面でTCPとUDPの無効化を解除することで有効化が可能になります。
このように高度な設定であるものの、手順としては難しいことは少なく、簡単に設定することができます。
DNSサーバ確認の基本コマンド
DNSサーバの動作を確認するには、digコマンド を利用します。
多くのDNSサーバはオープンソースのソフトウェア であるBINDを使用しており、digコマンドを介して正常性を確認できます。
以下がdigコマンドの一例となります。
ネームサーバのIPアドレスを調べる際に使用
ネームサーバ名を調べる際に使用し、IPアドレスを指定(逆引き用コマンド)
digコマンドは、様々な引数を使用してDNSサーバのゾーン権限や保存されているドメインの情報を調べる ことができます。
DNSサーバを構築した後は、digコマンドを活用して設定の確認を行いましょう。
DNSサーバに関するエラー原因と解決方法
DNSサーバに関するトラブルが発生した場合、さまざまなエラーが考えられます。
たとえば、以下のような問題が挙げられます。
- DNSサーバが応答しない
- DNSサーバへ接続できない
- DNSサーバが見つからない
- DNSサーバに問題がある可能性があると表示される
これらのエラーに遭遇した場合は、解決方法を理解して適切に対処する必要があります。
ここではその適切な対処方法について紹介していきます。
DNSサーバが応答しない
DNSサーバが応答しない場合、インターネットにアクセスできなくなっている状態です。
この問題の原因として、以下の要因が考えられます。
- ネットワーク接続の問題
- DNSサーバの障害
- ファイアウォールがDNSサーバへのアクセスをブロックしている
これらの問題を解決するために、以下の対処方法を試してみてください。
- ネットワーク接続を再確認する
- 別のDNSサーバを試す
- ファイアウォールの設定を確認して適切に構成する
これらの対処法で問題が解決しない場合は、ネットワーク管理者やISPに問い合わせてサポートを受けることをお勧めします。
DNSサーバへ接続できない
DNSサーバへの接続ができないと、インターネットにアクセスできません。
この問題は、いくつかの要因によって引き起こされます。
- ネットワーク設定や構成の問題
- DNSサーバで障害が発生
- ファイアウォールの設定
サーバへ接続できない問題を解決するには、以下の方法を試してみてください。
- ネットワーク設定を再確認する
- 別のDNSサーバを試す
- ファイアウォールの設定を調整する
これらの方法で問題が解決しない場合は、ネットワーク管理者やISPに問い合わせてサポートを受けることをお勧めします。
DNSサーバが見つからない
DNSサーバが見つからない場合も、インターネットへのアクセスが妨げられます。
この問題は、以下の要因によって引き起こされます。
- 端末側のDNS設定の誤り
- ネットワーク接続の問題
この問題を解決するためには、次の方法を試してみてください。
- 端末へ正しいDNSサーバのアドレスを入力・設定
- ネットワーク接続を再確認
これらの対処法で問題が解決しない場合は、ネットワーク管理者やISPに連絡してサポートを受けることをお勧めします。
DNSサーバに問題がある可能性があると表示される
DNSサーバに問題がある可能性があると表示されるエラーは、DNSサーバに障害が発生している 可能性が高い傾向にあります。
このエラーは、以下の要因によって引き起こされます。
- DNSサーバの障害
- 端末側のネットワーク設定の問題
この問題を解決するためには、次の方法を試してみてください。
- DNSサーバの再起動
- 端末で正しいDNSサーバのアドレスを入力
これらの対処法で問題が解決しない場合は、ネットワーク管理者やISPに連絡してサポートを受けることをお勧めします。
DNSサーバーの設定ステップ
DNSサーバーの設定をするのに重要なのがnamed.confファイルです。
named.confファイルの設定項目には以下があります。
optionsで一般設定
ルートキャッシュファイル
ループバックアドレスの正引きゾーン
ループバックアドレスの逆引きゾーン
ドメインの正引きゾーン
ドメインの逆引きゾーン
各ゾーンファイル(レコード)
これら7つのステップによってnamed.confファイルが構成されていることを理解できましたでしょうか?
おすすめの設定方法
DNSサーバーを設定する方法を紹介します。
options {directory “/var/named”;allow-transfer { none; };recursion no;};logging {
channel default_syslog { syslog local2; severity info; }; category default { default_syslog; }; }; zone “.” IN { type hint; file “named.ca”; }; zone “sample.com” { type master; file “sample.com.zone”; }; |
の場合、
options
グローバルな設定オプションを指定します。directoryはデータファイルの保存ディレクトリ、allow-transferはゾーンの転送を許可するIPアドレス、recursionは再帰検索の許可設定です。
logging
ログの設定を行います。syslog経由でログを出力する設定が含まれています。
ルートゾーンのヒントファイルを指定しています
zone “sample.com”
ドメイン”sample.com”の設定を指定します。この例は、ゾーンの管理者として設定し、詳細なゾーンファイルは”sample.com.zone”と指定しています。
include “/etc/named.rfc1912.zones”;
RFC 1912に従った標準のゾーン設定をインクルードしています。
これらの設定はBINDのnamed.confファイル内で使われて、DNSサーバーの動作や各ゾーンの設定を行います。必要に応じてこれらの設定を変更して、特定の環境や要件に合わせられます。
設定時のトラブルシューティング
DNSサーバーを独自の設定をすると、トラブルが発生することがあります。ここでは、DNSサーバーの設定時に起きやすいトラブルを解説します。
ドメインウェブの設定が見つかりません
DNSサーバーに問い合わせても、「ドメインウェブの設定が見つかりません」というメッセージが表示されることがあります。これは、DNSサーバーが要求されたドメインの情報をまだ知らないか、または設定がまだ反映されていない可能性があります。時間をおいて再度試してみると、正しく表示されるかもしれません。
DNSサーバーは応答していません
「DNSサーバーは応答していません」というメッセージが出るときは、うまく起動されていない可能性があります。設定情報を確認して間違いがなければ、DNSサーバーを再起動します。
DNSサーバーを選択する際のポイント
自社でDNSサーバーを導入する際のポイントは以下です。
- 信頼できる。
- 高いセキュリティを持っている。
- 管理がしやすい。
- 処理速度が速い。
ネットワーク上でサーバーを設定するのには、DNSサーバーに限らずに外部からの不正アクセスに対応したものを選択します。すなわち、信頼できる(虚弱性が低い)・セキュリティ対策が高いものを選びます。
また、管理のしやすさや処理速度が速いもの選ぶこともポイントです。
DNSサーバーのまとめ
サイト閲覧時に動作するDNSサーバーの役割について解説してきました。DNSサーバーにはルートDNSサーバー・TLDサーバー・権威DNSサーバーの3つがあり、それぞれについて詳細を紹介してきました。
DNSサーバーの管理には外部委託と自社管理の2つのアプローチがあります。自社管理には高度な技術と知識が必要で、初心者にとっては外部に委託し、経験を積んでから移行することが賢明です。DNSサーバーを即座に自社管理するのは難しいため、初期設定と管理を外部に依頼するのが合理的です。
その際、専門的な知識を有するJitera社が設置をサポートします。システム担当者で業務のシステム化を計画中の場合、Jitera社の相談は有益でしょう。Jitera社は豊富な経験と専門知識で的確なアドバイスを提供してくれます。