一般的に知られていることとして、Microsoft Windows 2000 は Domain Name System (DNS) サービスに依存する割合が高いシステムです。この文書では、DNS を実行しなければならない理由を解説します。最初に、DNS サーバーの様々な構成要素と機能を概説します。『DNS サーバーの構築 第2章』において、組織内で DNS サーバーを構築するための計画および実行方法を解説します。 トピック
DNS とは?今までに一度もインターネットに接続したことのない小規模なネットワークを構築されている場合、多くの環境において DNS などのサービスは必要とされないことがあります。通常小規模なネットワークでは、Microsoft Windows NT が動作するコンピュータを利用する際に、ネットワーク通信に関して問題が起こることはあまりありません。このような通信では、情報の参照やリソースの共有などを行うと思われますが、外部のサービスを利用せずにこのようなタスクを実行できる理由は、Microsoft Windows NT がプロトコルに依存せずに UNC (Universal Naming Conventions) を介して通信ができるように設計されているからです。つまり、2 台のコンピュータの共通したプロトコルがどのようなものであれ、Microsoft Windows NT はコンピュータ間の通信を UNC 形式で情報を転送することで成立させることができるのです。UNC には、コンピュータ名とリソース名が含まれます。ネットワーク ドライブに NET USE \\COMPUTER\RESOURCE のようなコマンドがあるとしましょう。この \\COMPUTER\RESOURCE の部分が UNC です。 UNC はネットワーク上の全てのコンピュータが Microsoft Windows プラットフォームで、ネットワークの規模がルーティングを必要とするほど大規模なものでない限り、動作します。しかしながら、現実ではこのような環境と異なります。 例えば、インターネットは巨大なネットワークですが、これは考えられ得るあらゆるコンピュータで構成されているのです。Web サーバーの中で Microsoft Windows NT が稼働しているものはその中の一部だけですから、ネット サーフィンに UNC を利用するのは非現実的です。 一般的に知られているように、各Web サイトにはそれに対応する IP アドレスが存在します。ネットワーク上のコンピュータが、ある Web サーバーに接続するためには、その Web サーバーの地理的位置に関係なくそのサーバーの IP アドレスを取得できなければなりません。IP アドレスを取得して初めてコンピュータは複雑な経路を通ったあと、世界の反対側であったとしても、目的の Web サーバーに接続することができます。 この問題解決をするために DNS が登場します。DNS とは、ドメイン名を IP アドレス に変換するサービスのことで、Microsoft Windows NT 上でも動作します。1 つ例を示すと、http://www.techrepublic.com/ Microsoft Windows 2000 が DNS に依存する理由Microsoft Windows 2000 は、Microsoft Windows NT に比べ DNS への依存度が非常に高いシステムです。先に述べたように、Microsoft Windows NT はルーティングを一切行わない限り、Microsoft Windows ベースのコンピュータと通信をする際に、全く問題を起こしません。NetBEUI プロトコルは基本的に小規模のワークグループを構築する際に使用されますが、これはルーティングをすることができません。ルーティングを行うなら、TCP/IP のようなルーティング可能なプロトコルを使用しなければなりません。確かに、Microsoft Windows NT は TCP/IP を使用してコンピュータ名の転送を行います。しかし、2 台のコンピュータ間にルーターがある場合、Microsoft Windows NT は WINS サーバーを利用してコンピュータ名とその他の NetBIOS 情報を転送します。 Microsoft Windows 2000 でドメインを構成する場合は、WINS サービスを利用しません。代わりに、WINS の機能を Dynamic DNS と呼ばれるサービスに組み込んでいます。つまり、ネットワークが外部と接続されていなくても、DNS サービスを実行しなくてはいけなくなります。実行しなくては、ルーターを超えたコンピュータ同士でリソースの閲覧や共有ができなくなります。 DNS の階層当初ドメイン名の解決は全て、HOSTS.TXT というテキスト ファイル を格納した 1 台のコンピュータで行っていました。しかし、時間が経つにつれ HOSTS.TXT ファイルを何度も更新する必要がでてきました。このファイルを格納するコンピュータへの負荷も、ドメイン名の解決の要求が増すにつれて超過ぎみになりました。 この状況に対応するため、DNS は全てのドメイン情報を 1 台のコンピュータに格納しないように設計されました。DNS サーバーに特定の階層を持たせたのです。階層の最上部がルート レベル DNS で、トップレベル ドメインの全ての情報が含まれます。トップレベル ドメインとは、COM、EDU、ORG、および GOV などの一般に知られているドメイン名のことです。トップレベル ドメインの下にあるのが、セカンドレベル ドメインです。COM に対して TECHREPUBLIC がセカンドレベル ドメインになります。こうして TECHREPUBLIC.COM というドメイン名が作成できます。 訳注:日本向けのトップレベルドメインは JP であり、CO、NE などがセカンドレベルドメインになります。 セカンドレベル ドメインに、サブ ドメインが加わることもあります。例えば、support.microsoft.com は microsoft.com ドメインのサブ ドメインです。 DNS サーバーにはいくつかの役割があります。インターネットから取得した情報をキャッシュしたり、ドメイン空間に積極的に加わったりする場合もあります。組織が登録済みのドメイン名を取得しているなら、それはおそらくセカンドレベル ドメイン名です。つまり、DNS サーバーは組織におけるあらゆるサブ ドメインの一覧と、その組織が接続しているトップレベル ドメインへのリンク情報を保有していることになります。ドメイン空間の中で 1 つの DNS が受け持つ部分を「権限範囲 (zone of authority)」と呼びます。 また、セカンダリ DNS サーバーを所有することも可能です。セカンダリ DNS サーバーは最低 1 つのゾーンの権限を保持するプライマリ DNS サーバーから、ネットワークを介してドメイン情報をコピーできます。このことをゾーン転送といいます。 DNS クエリの種類DNS サーバーを正常にセット アップする前に、DNS サーバーが実行しなければならないタスクを理解する必要があります。DNS サーバーは、4 つの異なるタスクを実行することが可能です。 再帰 DNS クエリの中で最も単純なものが再帰です。再帰では、サーバーはクライアントが要求している情報を返信します。その情報が存在しない場合は、その旨のメッセージ返信します。DNS サーバーは別のサーバーに接続して情報を取得しようとはしません。 繰返 繰返では、DNS サーバーは要求されたドメイン名を解決したり、クライアントに別の DNS サーバーを照会しドメイン名を解決するように返信します。例えば、www.techrepublic.com を解決する必要のあるクライアントがあるとしましょう。DNS は最初に自分のゾーンをチェックします。そこに要求されたドメイン名がない場合、DNS はルート レベルのドメインに要求を送信します。ルート レベル ドメインは、.COM ネーム サーバーのアドレスを返信します。次にクライアント側の DNS は、.COM ネーム サーバーに対して www.techrepublic.com を問い合わせます。すると .COM ネーム サーバーはクライアント側の DNS に対し、www.techrepublic.com を扱う DNS のアドレスを返信します。これで、クライアント側の DNS は techrepublic.com ドメインを受け持つ DNS に接続できます。この DNS が www.techrepublic.com の IP アドレスをクライアント側の DNS に送信し、クライアント側の DNS は要求元のクライアントのアドレスを返信します。 逆引き 逆引きとは、クライアントが IP アドレスからホスト名を探し出す際に試みる問い合わせ方法です。IP アドレスを送信すると自動照合されホスト名が返信されるような、直接的な検索方法はありません。そこで、in-addr.arpa という逆引きをするための特別なドメインが作られました。in-addr.arpa ドメインは IP アドレスに則して名付けられたノードを保持しています。 キャッシング 繰返の箇所で述べたように、DNS は 1 つの情報を得るために何度も問い合わせをしなければならない場合があります。一度その情報を取得してしまいキャッシュに保存すれば、次に同じ情報が要求されても、DNS は再度問い合わせをする必要がなくなります。 キャッシュ内の各情報には、TTL (Time To Live) という値が割り当てられます。この値は管理者が設定しますが、この値で解決したドメイン名のキャッシュ内での有効期限を管理します。TTL を短めに設定すれば、DNS を頻繁に更新することになり、情報の正確性は向上します。ただ残念なことに、TTL を短めに設定すると、DNS に余計な負荷がかかります。ドメイン名の解決のために、頻繁にインターネットを検索しなければならないからです。 DNS 構成ファイル典型的な DNS サーバーは、基本的にデータベース、逆引き参照、キャッシュ、およびブート ファイルの 4 種類のファイルを使用します。それぞれのファイルには、DNS の特定のタスクを実行するための情報が格納されています。次の項では、各ファイルの解説をします。 データベースファイル デフォルトでは、Microsoft Windows NT には PLACE.DNS というファイルが存在します。このファイルが、データベース ファイルを構築する際に利用できるテンプレートになります。Microsoft は、このファイルをコピーして、お使いのドメインに対応するファイル名に変更することを推奨します。例えば、PLACE.DNS をコピーして、TECHREPUBLIC.COM に名前を変更します。 データベース ファイルは常に SOA (start of authority) レコードから開始されます。SOA が DNS ゾーンの一般的なパラメータを定義します。 またデータベース ファイルには、ネーム サーバー レコードが含まれています。ネーム サーバー レコードとは、追加された DNS サーバーの一覧のことです。 これ以外にデータベース ファイルが格納しているコンポーネントに、ホスト レコードがあります。ホスト レコードは、ホスト名と IP アドレスを静的に関連づける際に使用します。 最後に、データベース ファイルは CNAME レコードというコンポーネントも格納しています。CNAME レコードにより、1 つ以上のホスト名を 1 つの IP アドレスに割り当てることができます。これにより、複数のエイリアスを 1 つのドメインに使用することができます。 逆引き参照ファイル 逆引き参照ファイルの仕組みは、データベース ファイルと同じです。主な違いは、逆引き参照ファイルが扱う範囲が in-addr.arpa ゾーンだけであるということです。逆引き参照ファイル内では、IP アドレスは in-addr.arpa ゾーンと逆の順序で関連付けされています。1 つ例を示します。逆引き参照を 147.100.100.0 のネットワークに対し行うには、100.147.in-addr.arpa というファイル名の逆引き参照ファイルを作成します。このファイルはデータベース ファイルのような SOA レコードの他にポインタ レコードを含んでおり、このレコードにより逆引き参照が可能になります。 キャッシュファイル キャッシュ ファイルである CACHE.DNS は、TTL の有効期限内においてネーム サーバーが解決した全ての情報を格納しています。デフォルトでは、 CACHE.DNS はインターネット上のルート ネーム サーバー全てのレコードも格納しています。 ブートファイル ブート ファイルは、DNS マネージャを実行せずにテキスト ファイルを編集する形で DNS の変更を試みる場合にだけ使用します。この場合、ブート ファイルが DNS の起動時の挙動を制御します。 結論この文書では、DNS サーバーが機能する方法について解説してきました。第2章では、組織が DNS サーバーを構築するための計画および実行方法について解説します。 Brien M. Posey マイクロソフト認定システムエンジニアおよびフリーランスのテクニカル ライター。米国国防総省のネットワーク エンジニアでもある。 上記の文書は、TechRepublic ここに記載されている情報は、ユーザーに役立つことを目的として提供されています。ただし、本文書記載の情報を使用するにあたっては、ユーザーが責任を負うものとします。本文書は、情報の正確性、完全性、特定の目的 (例えば権限や非侵害に関する操作) への適合性などについて、いかなる種類の保証の対象でもありません。また、本文書で言及したサードパーティ製品や情報について、Microsoft Corporation では著作、推奨、サポート、保証を一切行っていません。Microsoft Corporation では、本文書の情報を基に行った操作による直接的、間接的、偶発的、派生的、あるいは特殊な損害に対して、一切の責任を負いません。万が一、本文中に不適切な操作が記載されていた場合においても、同様です。
| 目次
|