Q

Windows 2000 Serverが備えるMicrosoft DNS(MS DNS)を使用し,複数のゾーンをActive Directory(AD)統合ゾーンで管理しています。しかし,DNSマネージャやnslookupコマンドで確認すると,同じゾーンなのにネーム・サーバー間でレコードが食い違っており,ゾーン・データの複製に失敗しているようです。どう対処したらよいでしょうか?

A

これは複数のADドメインを構築して,MS DNSをAD統合ゾーンで利用している場合に発生します。仕様上の制限で,最良の対策は,BINDと同様の「標準プライマリ/標準セカンダリ(マスター/スレーブ)ゾーン」にMS DNSを構成し直すことです。

 MS DNSの「Active Directory統合ゾーン」は,dcpromo.exeというツールでドメイン・コントローラ(DC)とDNSのゾーンを作成した場合に構成できます。米Microsoftのドキュメントが利点を強調していることもあり,AD統合ゾーンでMS DNSを使用することは少なくありません。

 AD統合ゾーンでは,標準プライマリ/標準セカンダリ(マスター/スレーブ)構成のようなゾーン転送(AXFR/IXFR)を行いません。ゾーン・データをAD内に格納し,DC間のディレクトリ複製で同期します。例えば,
LDAP://dc.sample.domain/
CN=MicrosoftDNS,CN=System,DC=test,DC=domain

 ADのディレクトリ複製を使用していることにより,ネーム・サーバーの構成に制限が発生します。「ネーム・サーバー自身がDCである必要がある」と「同一ゾーン情報を保持するネーム・サーバーは同一のADドメインへ所属している必要がある」です。

 1つ目の制限は明快で,DCでなければADのディレクトリ・データを保持できないためです。意外と見落としがちなのが2つ目の制限です。この制限は,米MicrosoftのKnowledge Base「Active Directory Integrated DNS Zones Do Not Replicate Across Domain Boundaries(Q286753)」(該当サイト編集部注:現在アクセスできません)にも記載されています。

 ADのディレクトリ・データは,論理的な「パーティション」に分割され,複製されます。ディレクトリ・パーティションには

(1)構成パーティション(フォレスト全体の構成情報を格納しているパーティション)
(2)スキーマ・パーティション(スキーマ情報を格納するパーティション)
(3)ドメイン・パーティション(ユーザー,グループ,OUなど,個々のドメインに固有の情報を格納するパーティション)

 があります。「構成パーティション」および「スキーマ・パーティション」はフォレスト内すべてのドメインのDC間で複製されますが,「ドメイン・パーティション」は,そのドメインのDC間だけで複製されます。

 MS DNSのAD統合ゾーンでは,ゾーン・データがドメイン・パーティションに格納されます。したがって,ネーム・サーバー(ドメイン・コントローラ)が同一ADドメインに所属していないと複製されないのです(図1)。


図1●Windows 2000のActive Directory統合ゾーンの場合,異なるADドメインのDNSサーバーのゾーン・データはまったく関連がない
同じADドメインのDNSサーバー間ではゾーン・データはディレクトリ複製で同期する。しかし異なるADドメインのDNSサーバー間では,ゾーン・データはまったく関連がない。

 標準プライマリ/標準セカンダリ(マスター/スレーブ)構成のMS DNSではこうしたことはありません。  遠隔サイト間で2つのゾーンを構成する場合,典型的な例では互いのゾーンを相手ゾーンのセカンダリ(スレーブ)サーバーとして構成します。

 例えば,外部のインターネット・サービス・プロバイダに会社Aが常時接続する場合,プロバイダのネーム・サーバー(例えばns1.provider.ne.jp)を会社Aのcompany.co.jp.ゾーンのセカンダリ(スレーブ)サーバーにすることが普通です。ネーム・サーバーが保持するゾーン・データと,そのネーム・サーバーの所属しているゾーン(ドメイン)は無関係です。

 この構成を複数のドメインがある会社Bに適用する場合,親ゾーンtest.domain.のネーム・サーバーns1.test.domain.は,子ゾーンsub.test.domain.のプライマリ(マスター)サーバーns1.sub.test.domain.に対するセカンダリ(スレーブ)サーバーとします。標準プライマリ/標準セカンダリ(マスター/スレーブ)構成では,こうして冗長性確保とサイト間トラフィックの削減を実現しています。

 ところが,AD統合ゾーンでこのような構成をとると,ns1.sub.test.domain.の持つsub.test.domain.ゾーン・データはsub.test.domain.ドメイン・パーティションに格納され,ns1.test.domain.の持つsub.test.domain.ゾーン・データはtest.domain.ドメイン・パーティションに格納され,互いに全く関連がなくなってしまいます。

小森博司