DNSサーバがほかのDNSサーバに対して名前解決要求を転送または依頼することをフォワードするという。Windows Server 2003では、ドメインごとに異なるフォワードを定義できる。これを条件付きフォワード機能という。これを利用すると、組織内に存在する独立した複数のDNSドメインを統合することが可能になる。
対象OS:Windows Server 2003
DNSサーバの提供する機能にはさまざまなものがある。DNSクライアント(DNSリゾルバ。DNSサーバに名前解決を依頼する機能)からの要求を受けて、FQDNからIPアドレスを求めたり、その逆を行ったりする機能(リゾルバ機能)もその1つである。特に、DNSサーバ1台で、再帰的検索を使ってFQDNの解決を行う機能を「フルサービスリゾルバ」と呼ぶことがある。DNSの機能や用語などについては、Master of IP Networkフォーラムの「DNSの仕組みの基本を理解しよう」や「DNSの設定は正しいか?」などを参照していただきたい。
一般的には、組織内にこのようなフルサービスのリゾルバとして機能するDNSサーバを1台ないしは数台設置しておき、インターネット上のFQDNだけでなく、組織内部の各サブドメインのFQDNの解決も担当させる。そして各クライアントPCのTCP/IPのDNSサーバパラメータ欄には、このようなDNSサーバのIPアドレスをセットしておく。クライアントPCでFQDNの名前解決の必要性が生じると、それはDNSサーバへと送られ、そこからさらに再帰的な呼び出しを使って、名前の解決が行われる。
このようなDNSサーバによる名前解決の仕組みは、組織内のドメインツリーが1つならば正しく機能するが、複数のドメインツリーが存在する場合には解決できないことがある。通常DNSサーバは自分自身が属するドメインを把握しており、問い合わせのFQDNがそのドメインの一部なら、組織内のDNSサーバに名前解決を依頼する。しかしまったく別のドメインツリーならば、ルートヒント情報を使ってインターネットの名前階層の最上位から順に名前解決を行ったり、もしくは利用しているプロバイダなどが提供するサーバへと名前解決を依頼または転送したりする(ルートヒントについてはTech TIPS「DNSサービスのルートヒントを変更する」を参照)。
例えばある組織のドメイン名が「d-advantage.jp」だとすると、「www.d-advantage.jp」や「www.system.d-advantage.jp」というドメインは自組織内のドメインに属することが分かっているので、「d-advantage.jp」のDNSサーバへ問い合わせるだろう。だが「www.atmarkit.co.jp」というFQDNの場合は、「d-advantage.jp」の一部ではないので、これは外部の(インターネット上の)FQDNであると判断され、「.jp」「co.jp」「atmarkit.co.jp」の各DNSサーバへ順に問い合わせるか、プロバイダのDNSサーバへ名前解決をフォワードする(依頼または転送するという意味。以下フォワード)。
だが、もし「d-advantage.jp」という組織内に、インターネット上のドメインとしては公開されていない(独立した)別のドメイン「eigyo.d-advantage.com」や「smallbusiness.local」「test.example.net」なども存在しているとすると、これらドメインに属するFQDNを解決することは難しい。公開されていないドメインなので、インターネット上でルートヒントからたどることはできないし、組織内でも独立しているので、これらのドメインに関する名前解決だけを該当ドメインのDNSサーバへフォワードすることができないからだ。組織の統廃合や合併、テスト目的、さらには各部署ごとの独自の裁量によるシステム(いわゆる「草の根ドメイン」)の導入などで、このような独立したドメインが作成される可能性がある。
Windows 2000 Server以前のDNSサーバでは、このような複数のドメインの名前解決を統合的に行うことは難しかったが、Windows Server 2003では機能が拡張され、複数のドメインの名前解決を統合できるようになった。具体的には、ドメイン(DNS用語では「ゾーン」という)ごとに異なるDNSサーバに対して名前解決要求をフォワードできるようになったのである。Windows 2000 Server以前のDNSサーバでは、フォワード先は1つに限定されており、ドメインごとにフォワード先を切り替えることはできなかった。Windows Server 2003ではこの機能を「条件付フォワード(conditional fowarding)」と呼んでいる。UNIX/Linux用のDNSサーバとして著名なBINDでは、すでにBIND 8から実装されていた機能である。
条件付きフォワードを設定するには、まず[スタート]メニューから[管理ツール]−[DNS]でDNS管理ツールを起動する。そして左側ペインにあるDNSサーバ名を右クリックして、ポップアップメニューから[プロパティ]を選択する。
次にプロパティダイアログで[フォワード]タブを選択する(DNS管理コンソールの右側ペインに表示されている[フォワーダ]メニューをクリックしてもよい)。
[DNSドメイン]リスト欄は、Windows Server 2003のDNS管理ツールから新設された項目である。従来のWindows 2000 Server以前では「フォワーダを有効にする」かどうかしか選べなかったが、Windows Server 2003では、デフォルトのフォワード先(「ほかのすべての DNS ドメイン」と表示されている)以外に、複数の異なるドメインを定義できる。リスト上でドメイン名(もしくは[ほかのすべての DNS ドメイン])を選択すると、そのドメインに対するフォワード先のDNSサーバを、それぞれ個別に定義できる。
なおこの条件付きフォワードは、クエリするFQDNに対して最長一致するドメイン名の文字列を元に判断されるので、ドメイン名を付けない形式の名前解決をフォワードすることはできない。例えば「server1.d-advantage.jp」と「server1.test.local」という2つのFQDNをそれぞれ異なるDNSサーバへフォワードさせることはできるが、単に「server1」というホスト名部分だけの名前では、フォワード先を切り替えることはできない(デフォルトのフォワード先が利用される)。DNSサーバに要求を送信する側(クライアント側)では、正しくドメイン名部分を補うように、TCP/IPのパラメータの設定を行っておく必要がある(Tech TIPS「DNSの検索サフィックスリストを定義する」も参照)。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.