インターネットでサイトを閲覧する際、サイト名で検索して情報を選択すると、DNSとDNSサーバーが動いています。DNSはDomain Name Systemの略で、ユーザーがわかりやすいサイト名をコンピューターが理解できるIPアドレスに変更します。違う種類のDNSサーバーが間に入り、ユーザーのサイト検索が迅速に行われます。自社でDNSを管理すると、柔軟な設定変更やセキュリティ向上、効率的な運用が可能になります。
DNSサーバーとは何か?基本的な概要
コンピューターやネットワークリソースを識別するためにはIPアドレスが必要ですが、ユーザーが数値的なアドレスよりも覚えやすい単語やフレーズを使用したい場合、IPアドレスとドメイン名の変換をDNSが行ってくれます。ユーザーがウェブブラウザにドメイン名を入力すると、要求がDNSに送信され、DNSサーバーは対応するIPアドレスを検索して返します。その後、ユーザーのデバイスはそのIPアドレスを使って対象のウェブサイトに接続します。
DNSサーバーの役割
DNSサーバーがどのような作業を行っているかを理解するために、その具体的な仕組みを解説します。
ドメイン名の変換
利用者がWEB上で入力したドメイン名をIPアドレスに変換します。この作業によって利用者がわかりやすいWEBサイトの利用ができるのです。
IPアドレスの逆引き
IPアドレスの逆引き、または逆DNS検索と呼ばれるプロセスでは、ドメイン名を特定のIPアドレスに関連付けます。この逆引き機能は主にログの解析やセキュリティ分野で極めて重要です。セキュリティログやネットワークトラフィックのモニタリングにおいて、特定のIPアドレスからドメイン名への逆引きと言われるものが行われ、これにより通信の追跡や悪意のあるアクティビティの特定が容易になります。
逆引きは、インターネット上での活動や通信を追跡し理解する上で不可欠なツールとなっています。
キャッシュ管理
ドメイン名とIPアドレスの変換結果をキャッシュに保持し、再利用するのがDNSサーバーです。これにより同じ情報へのアクセスが素早く行え、処理速度が向上します。キャッシュには一定期間保存され、繰り返しリクエストがあると再度ネットワークに問い合わせる手間が省かれるため、効率的な名前解決が実現されます。
DNSによるセキュリティ機能
外部からの攻撃からシステムを守る役割も果たします。DNSキャッシュポイズニングやDNS放送攻撃などへの対策が組み込まれており、安全な名前解決を確保します。
DNSサーバーの仕組み
DNSサーバーを利用すると、どのようなことが実現するのかわからないことでしょう。ここでは、DNSサーバーを利用することでどのようなことができるのかを具体的に解説します。
DNSは階層的な構造を持っていて、右から左に向かってドットで各愛想を区切っています。この構造により、ドメイン名はトップレベルドメイン(TLD)から始まり、サブドメインやセカンドレベルドメイン(SLD)などが左に追加されていきます。例えば、「www.sample.com」の場合では、最上位ドメイン(TLD)が.com、セカンドレベルドメイン(SLD)がsampleで、サブドメインがwwwです。
DNSサーバーの種類と特徴
ドメインのIPアドレスへ変換をDNSサーバーが行ってくれて、WEBやメールなどのインターネットを利用するのに必要です。複数のDNSサーバーがあり、それぞれ異なる用途があります。
一般的なユーザーがウェブサイトにアクセスすると、その際、入力したドメイン名をDNSサーバーが受け取って、IPアドレスに変換します。このプロセスは、DNSクエリと呼ばれます。
WEB利用者がサイトのドメインを入力すると、DNSサーバーはドメインに関連付けられたIPアドレスを特定し、その場所の情報を取得します。ドメインがIPアドレスに変換されて、必要なサイト情報が取得されます。利用者はこの一連の動作を気にすることなく、スムーズにサイトが表示されるのです。DNSサーバーは、このような裏での情報の取得と変換で、ユーザーエクスペリエンスを円滑に保つ役割を果たしています。
これを専門的に説明すると、
- ユーザーがデバイスでウェブブラウザなどを使用して特定のドメイン名(例としてwww.sample.com)にアクセス
- キャッシュDNSサーバーが要求を受け取り、ローカルのキャッシュに要求されたドメイン名に関する情報を確認
- ローカルキャッシュに情報が見つからない場合、キャッシュDNSサーバーは権威DNSサーバーに対してドメイン名の解決を問い合わせる
- 指定されたドメイン名に関する情報を保持しているか権威DNSサーバーが確認し、所持している場合はその情報をキャッシュDNSサーバーに返信する
- 権威DNSサーバーから受け取った情報を、キャッシュDNSサーバーはローカルキャッシュに保存
- 利用者に、要求されたドメイン名に対応するIPアドレスを返信
- ユーザーのデバイスは取得したIPアドレスを使用して、対象のウェブサイトのサーバーにアクセスし、ウェブページの表示
ルートDNSサーバー
DNSサーバーは、「ルートゾーン」を保持しているサーバーです。ネームサーバーが所持しているIPアドレスを管理しているのがルートゾーンで、言うならばTLD(トップレベルドメイン)に関係する情報を管理しているのです。
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サーバーはこの要求で、適切なIPアドレスに変換してデバイスに応答します。
また、ドメイン名とIPアドレスの対応は、一定期間キャッシュに保存されます。この仕組みが、同じドメインの問い合わせがされたときに複数の問い合わせがある場合でも、再度解決処理を行わなくて済み、名前を効率的に解決できます。TTL(Time To Live)は、DNSレコードがネットワーク上で有効な期間を示し、この期間内にキャッシュが保持され、同じ問い合わせに対してはキャッシュから情報を取得できます。
DNSサーバーの設定方法
自身でDNS管理を行えば、自由度が高くなり、自社または個人で自由に新規登録、変更ができます。ここでは、企業・個人でDNSサーバーの設定を行う時の設定方法を解説します。おすすめの設定方法に土江も紹介します。
また、DNSサーバーの設定時には、いろいろなトラブルが発生します。そのトラブルの解決方法についても解説します。
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 “.”
ルートゾーンのヒントファイルを指定しています
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サーバーには概念的な違いがあります。
ネームサーバーは、一般的にはドメイン名とそれに関連するIPアドレス情報を提供するサーバーです。ネームサーバーの一部がDNSサーバーで、主にDNSプロトコルを実装して、ドメイン名の解決やクエリへの応答、ゾーン情報管理などを行ってくれます。ネームサーバーの中にはDNS以外の名前解決システムも含まれることがあり、様々な名前解決の仕組みがあります。
一方でDNSサーバーは、具体的にDNSプロトコルを実装したサーバーであり、主にドメイン名の解決を担当します。DNSサーバーはネームサーバーの一つのカテゴリーで、名前解決に特化しています。
機能が一部だけ違う
ドメイン名からIPアドレスへ変換するのがネームサーバーです。特徴として、特定の機能や制約がないため、DNS以外の名前解決システムも含まれます。ネームサーバーは広範な名前解決に対応する汎用的なサーバーのことです。
その一方で、DNSサーバーはDNSプロトコルに基づいて動作し、ドメイン名の解決やクエリへの応答、ゾーン情報の保持などを行います。DNSサーバーは、DNSプロトコルの処理が中心ですが、同時にネームサーバーとしての機能も備えています。
このような機能の違いにより、ネームサーバーはより広範な名前解決を行う一方、DNSサーバーは具体的にDNSプロトコルに基づく名前解決に特化したサーバーと言えます。
DNSサーバーの重要性と選択のポイント
ビジネス上でDNSサーバーがどんな役割を果たしていて、選択するときに注意すべきポイントを紹介します。
ビジネスにおけるDNSサーバーの役割
外部に依頼すると、設定の柔軟性が制限され、変更には外部への依頼が必要です。しかし、中小企業が社内でのDNSサーバーの設置をすると、自由な設定が可能になり、変更も社員が自ら行えるため、柔軟性が向上します。
これにより、リスクマネジメントや管理者レベルでのクエリ解析が可能となり、トラブル発生の事前防止が容易になります。発生した場合も、迅速かつ効果的な対応が可能です。自社でDNSサーバー管理すれば、社員はDNSに関する知識を向上できます。
中小企業でも、自社内でDNSサーバーを管理することで得られるメリットは多岐にわたります。柔軟な設定、リスクマネジメントの強化、スキルの向上など、これらの利点を活かし、自社でDNSサーバーを運用することをお勧めします。
DNSサーバー選択の注意点
導入するDNSサーバーを決めるときにいくつか選択ポイントがあります。選択ポイントを4つ紹介します。
信頼できる
DNSサーバーには脆弱性が報告されており、その安定性が最も重要です。信頼性の高いDNSサーバーを選ぶことが必要です。
高いセキュリティを持っている
DNSサーバーを選ぶ際には、セキュリティを重視する必要があります。高いセキュリティを備えたDNSサーバーを選びましょう。
管理しやすさ
DNSサーバーを管理する場合、DNSを複数管理できます。安心して管理できるDNSサーバーを選ぶことが大切です。
処理速度が速さ
DNSサーバーの処理速度は重要です。組み込まれているソフトウェアによって変わるため、できるだけ処理速度が速いDNSサーバーを選びましょう。
DNSサーバーのまとめ
サイト閲覧時に動作するDNSサーバーの役割について解説してきました。DNSサーバーにはルートDNSサーバー・TLDサーバー・権威DNSサーバーの3つがあり、それぞれについて詳細を紹介してきました。
DNSサーバーの管理には外部委託と自社管理の2つのアプローチがあります。自社管理には高度な技術と知識が必要で、初心者にとっては外部に委託し、経験を積んでから移行することが賢明です。DNSサーバーを即座に自社管理するのは難しいため、初期設定と管理を外部に依頼するのが合理的です。
その際、専門的な知識を有するJitera社が設置をサポートします。システム担当者で業務のシステム化を計画中の場合、Jitera社の相談は有益でしょう。Jitera社は豊富な経験と専門知識で的確なアドバイスを提供してくれます。