大量のドメイン コントローラがある Active Directory 統合 DNS ゾーンに伴う問題

文書翻訳 文書翻訳
文書番号: 267855 - 対象製品
この記事は、以前は次の ID で公開されていました: JP267855
重要 : この資料には、レジストリの編集方法が記載されています。万一に備えて、編集の前には必ずレジストリをバックアップし、レジストリの復元方法を理解しておいてください。バックアップ、復元、および編集方法の詳細を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
256986 Microsoft Windows レジストリの説明
すべて展開する | すべて折りたたむ

目次

現象

Active Directory 統合 DNS (Domain Name System) ゾーンにおいて、SRV やドメイン コントローラ (DC) ロケータの A レコード (Netlogon によって登録される) と NS レコード (信頼できる DNS サーバーによって追加される) の DNS 登録が、大量の DC (通常は 800 を超える数) を含むドメインで、一部の DC に対して動作しないことがあります。Active Directory 統合 DNS ゾーンが Active Directory のドメイン名と同じ名前を持っている場合、そのゾーン ルートにおける A レコードと NS レコードの登録に伴う問題は、DC の数が 400 を超えるドメインで発生すると考えられます。また、次の 1 つ以上のエラー メッセージがイベント ログに記録される可能性もあります。
種類 : エラー
ソース : DNS
分類 : なし
イベント ID : 4011
日付 : 2000/6/28
時刻 : 19:50:13
ユーザー : N/A
コンピュータ : MACHINE1
説明 : DNS サーバーは、ゾーン xyz.example.com の xyz にあるドメイン名 xyz の更新を Active Directory に追加または書き込みすることができませんでした。DNS コンソールを使ってこのドメイン名を追加または更新するか、Active Directory が正しく機能していることを確認してください。イベント データにはエラーが含まれています。
データ : 0000: 2a 23 00 00 *#..

種類 : エラー
ソース : DNS
分類 : なし
イベント ID : 4015
日付 : 2000/6/28
時刻 : 19:50:13
ユーザー : N/A
コンピュータ : MACHINE1
説明 : DNS サーバーは Active Directory からの致命的なエラーを発見しました。Active Directory が正しく機能していることを確認してください。イベント データにはエラーが含まれています。
データ : 0000: 0b 00 00 00 ....

イベント 4015 の最後にあるステータス コード 0x00000b は、"LDAP_ADMIN_LIMIT_EXCEEDED Administration limit on the server has exceeded." に対応します。

種類 : 警告
ソース : NTDS Replication
分類 : Replication
イベント ID : 1093
日付 : 2000/6/28
時刻 : 19:33:24
ユーザー : Everyone
コンピュータ : MACHINE1
説明 : 入力方向の変更がデータベースのレコード サイズの制限を超えたため、ディレクトリ複製エージェント (DRA) は、オブジェクト DC=@,DC=xyz.example.com,CN=MicrosoftDNS,CN=System,DC=xyz,DC=example, DC=com (GUID 77d76064-f49e-4762-ba8c-324b6c518f11) に変更を適用できませんでした。属性 9017e (dnsRecord) への着信の変更は更新を制限内に収めるためにバックアウトされます。属性の変更がローカルでは適用されないのに加えて、このシステムの現在の属性値がほかのすべてのシステムに送信され、最終バージョンになります。これにより、エンタプライズのほかの部分に対して変更をヌルにすることになります。
逆転を次のものとして認識することができます : バージョン 5474、変更時刻 2000-06-28 19:33.24 で USN が 2873104。

種類 : 情報
ソース : NTDS Replication
分類 : Replication
イベント ID : 1101
日付 : 2000/6/28
時刻 : 19:33:24
ユーザー : Everyone
コンピュータ : MACHINE1
説明 : ディレクトリ複製エージェント (DRA) は、属性変更をいくつかバックアウトした後、オブジェクト DC=@,DC=xyz.example.com,CN=MicrosoftDNS,CN=System, DC=xyz,DC=example,DC=com (GUID 77d76064-f49e-4762-ba8c-324b6c518f11) に変更を正常に適用することができました。その前のメッセージは元に戻した属性を示します。これにより、変更された箇所をヌルにし、元の更新が無効になることに注意してください。変更元には、変更がシステムによって受け付けられなかったことを通知します。

原因

この問題は、Active Directory には、単一のオブジェクトに関連付けできる値の数に 800 件という制限があるために発生します。Active Directory 統合 DNS ゾーンでは、DNS 名は dnsNode オブジェクトによって表現され、DNS レコードは dnsNode オブジェクト上の複数の値を持つ dnsRecord 属性の値として格納されます。これが原因で、この資料で前述したエラー メッセージが表示されます。

解決方法

この問題を解決するには、Windows 2000 の最新の Service Pack を入手します。関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
260910 最新の Windows 2000 Service Pack の入手方法
修正プログラム (英語版) の属性は次のとおりです。ただし、これより新しい修正プログラムがリリースされている可能性もあります。
   日付           時刻     サイズ       ファイル名
   ---------------------------------------------------------
   02/08/2001  01:32p  5,090,728  Q267855_W2K_SP2_x86_en.EXE  
				

この修正プログラムには、DNS および Netlogon コンポーネントに関する修正が含まれています。この修正プログラムでは、DNS ゾーンが Active Directory に統合されるときに、同じ名前を持つ DNS に追加できるレコード数の制限は除外されません。ただし、Active Directory 統合 DNS ゾーンにおいて、SRV や DC ロケータの A レコードと NS レコードの DNS 登録において、不要な DNS 登録を無効にするためのメカニズムが提供されます。

DNS の修正プログラム

DC 上で実行されているすべての DNS サーバーにこの修正プログラムを適用します。修正プログラムの DNS に関連する部分は、Dnscmd.exe の更新版にも含まれています。Dnscmd.exe は、Systemdrive:\Program Files\Support Tools フォルダにインストールされます。修正プログラムの適用後、次のいずれかの方法を使用します。

方法 1

特定のゾーンに対する NS レコードを追加するための DNS サーバー一覧を指定する場合は、1 つの DNS サーバーを選択し、/AllowNSRecordsAutoCreation スイッチを指定して Dnscmd.exe を実行します。
  • ゾーンの NS レコードを自動的に作成する権限を持つ DNS サーバーの TCP/IP アドレスの一覧を設定するには、dnscmd servername /config zonename /AllowNSRecordsAutoCreation IPList コマンドを使用します。以下に例を示します。
    Dnscmd NS1 /config zonename.com /AllowNSRecordsAutoCreation 10.1.1.1 10.5.4.2
  • すべてのプライマリ DNS サーバーがゾーンに対して、対応する NS レコードの追加を自動的に行うときに、ゾーンの NS レコードを自動的に作成する権限を持つ DNS サーバーの TCP/IP アドレスの一覧を消去し、ゾーンをデフォルトの状態に戻すには、dnscmd servername /config zonename /AllowNSRecordsAutoCreation コマンドを使用します。以下に例を示します。
    Dnscmd NS1 /config zonename.com /AllowNSRecordsAutoCreation
  • ゾーンの NS レコードを自動的に作成する権限を持つ DNS サーバーの TCP/IP アドレスの一覧を照会するには、dnscmd servername /zoneinfo zonename /AllowNSRecordsAutoCreation コマンドを使用します。以下に例を示します。
    Dnscmd NS1 /zoneinfo zonename.com /AllowNSRecordsAutoCreation
: このコマンドは、1 つの DNS サーバーのみを対象に実行します。Active Directory の複製により、同じドメイン内で DC を実行しているすべての DNS サーバーに対して、変更内容が伝達されます。

ドメインの DNS DC の大半がブランチ オフィスにあり、少数のみが中央にある環境では、この資料で前述した Dnscmd コマンドを使用して、中央に配置されている DNS DC のみを対象とするように IPList を設定できます。このように設定することで、中央に配置されている DNS DC だけが、それぞれの NS レコードを Active Directory ドメイン ゾーンに追加できるようになります。

方法 2

警告 : レジストリ エディタの使い方を誤ると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。マイクロソフトは、レジストリ エディタの誤用により発生した問題に関しては、一切責任を負わないものとします。レジストリ エディタは、自己の責任においてご使用ください。

どの DNS サーバーも、Active Directory 統合 DNS ゾーンに対して、対応する NS レコードを追加しないようにするには、レジストリ エディタ (Regedt32.exe) を使用して、影響を受けている DNS サーバーのレジストリ値を次のように構成します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters

レジストリ値 : DisableNSRecordsAutoCreation
データ型 : REG_DWORD
データ範囲 : 0x0 | 0x1
デフォルト値 : 0x0
この値は、すべての Active Directory 統合 DNS ゾーンに影響します。値には、次のような意味があります。
  値      意味
----------------------------------------------------------------------
  0     DNS サーバーは、すべての Active Directory 統合 DNS ゾーンに
        対する NS レコードを自動的に作成します。ただし、サーバーが
        ホストしているゾーンの中に、(この資料で説明した) AllowNSRecordsAutoCreation 
        属性が指定されているものがある場合を除きます 
        (対象の DNS サーバーは含みません)。このような状況では、
        サーバーは AllowNSRecordsAutoCreation 構成を使用します。

   1    DNS サーバーは、どのような Active Directory 統合 DNS ゾーンに
        対しても NS レコードを自動的に作成しません。これは、
        Active Directory 統合 DNS ゾーンが AllowNSRecordsAutoCreation 構成で
        あるかどうかには関係ありません。
					
: Windows 2000 では、この値は、レジストリに追加されません。値に変更を適用するには、DNS Server サービスを再起動することが必要です。

特定の DNS サーバーが、ホストする Active Directory 統合 DNS ゾーンに、対応する NS レコードを追加することを回避するには、この資料で説明した DisableNSRecordsAutoCreation レジストリ値を使用できます。

DisableNSRecordsAutoCreation レジストリ値を 0x1 に設定すると、該当の DNS サーバーがホストする Active Directory 統合 DNS ゾーンは、いずれも、その NS レコードを含まなくなることに注意してください。このサーバーが、自身がホストする Active Directory 統合 DNS ゾーンの中の少なくとも 1 つのゾーンに対して独自の NS レコードを追加する必要がある場合は、レジストリ値を 0x1 に設定しないようにしてください。

Netlogon での修正事項

警告 : レジストリ エディタの使い方を誤ると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。マイクロソフトは、レジストリ エディタの誤用により発生した問題に関しては、一切責任を負わないものとします。レジストリ エディタは、自己の責任においてご使用ください。

修正プログラムの Netlogon に関連する部分により、この資料で前述したように、管理者はより高度な制御ができるようになります。修正プログラムは、すべての DC に対して適用することが必要です。また、DC が特定の DNS レコードに対して動的更新を試みることを回避するには (デフォルトでは、これらのレコードは Netlogon によって動的に更新されます)、Regedt32.exe を使用して、次のレジストリ値を構成します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters

レジストリ値 : DnsAvoidRegisterRecords
データ型 : REG_MULTI_SZ
この値には、該当する DC による登録が行われてはいけない DNS レコードに対応する、ニーモニックの一覧を指定します。

: 1 行に 1 つのニーモニックを指定して、値を設定します (値は改行キーで区切ります)。詳細については、次の表を参照してください。以下のようなニーモニックがあります。
ニーモニック        種類    DNS レコード
--------------------------------------------------------------------------
LdapIpAddress    A     <DnsDomainName>
Ldap             SRV   _ldap._tcp.<DnsDomainName>
LdapAtSite       SRV   _ldap._tcp.<SiteName>._sites.<DnsDomainName>
Pdc              SRV   _ldap._tcp.pdc._msdcs.<DnsDomainName>
Gc               SRV   _ldap._tcp.gc._msdcs.<DnsForestName>
GcAtSite         SRV   _ldap._tcp.<SiteName>._sites.gc._msdcs.<DnsForestName>
DcByGuid         SRV   _ldap._tcp.<DomainGuid>.domains._msdcs.<DnsForestName>
GcIpAddress      A     _gc._msdcs.<DnsForestName>
DsaCname         CNAME <DsaGuid>._msdcs.<DnsForestName>
Kdc              SRV   _kerberos._tcp.dc._msdcs.<DnsDomainName>
KdcAtSite        SRV    _kerberos._tcp.dc._msdcs.<SiteName>._sites.<DnsDomainName>
Dc               SRV   _ldap._tcp.dc._msdcs.<DnsDomainName>
DcAtSite         SRV   _ldap._tcp.<SiteName>._sites.dc._msdcs.<DnsDomainName>
Rfc1510Kdc       SRV   _kerberos._tcp.<DnsDomainName>
Rfc1510KdcAtSite SRV   _kerberos._tcp.<SiteName>._sites.<DnsDomainName>
GenericGc        SRV   _gc._tcp.<DnsForestName>
GenericGcAtSite  SRV   _gc._tcp.<SiteName>._sites.<DnsForestName>
Rfc1510UdpKdc    SRV   _kerberos._udp.<DnsDomainName>
Rfc1510Kpwd      SRV   _kpasswd._tcp.<DnsDomainName>
Rfc1510UdpKpwd   SRV   _kpasswd._udp.<DnsDomainName>
				
: Windows 2000 では、この値はレジストリに追加されません。また、Netlogon サービスを再起動する必要はありません。Netlogon サービスが停止している間または Netlogon サービスが開始してから 15 分以内の間に、DnsAvoidRegisterRecords レジストリ値の作成または変更を行った場合、少しの時間を置いて、適切な DNS 更新が行われます (ただし、Netlogon サービスが開始してから 15 分を超えて遅延することはありません)。

Netlogon によって実行される A レコードの DNS 登録は、RegisterDnsARecords レジストリ値を使用して変更することもできます。 この方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
246804 Windows 2000 および Windows Server 2003 で DNS 更新を有効/無効にする方法
DnsAvoidRegisterRecords レジストリ値の設定は、RegisterDnsARecords レジストリ値の設定より優先されることに注意してください。このため、DnsAvoidRegisterRecords レジストリ値において、LdapIpAddress ニーモニックと GcIpAddress ニーモニックのいずれかまたは両方が使用される場合は、次の条件が適用されます。
  • DnsAvoidRegisterRecords に LdapIpAddress が含まれ、RegisterDnsARecords が 0x0 に設定されている場合、Netlogon による DnsDomainName A レコード (複数の場合もあります) の登録は行われません。
  • DnsAvoidRegisterRecords に LdapIpAddress が含まれず、RegisterDnsARecords が 0x1 に設定されている場合、Netlogon による DnsDomainName A レコードの登録は行われません。
  • DnsAvoidRegisterRecords に GcIpAddress が含まれ、RegisterDnsARecords が 0x0 に設定されている場合、Netlogon による _gc._msdcs.DnsForestName A レコードの登録は行われません。
  • DnsAvoidRegisterRecords に GcIpAddress が含まれず、RegisterDnsARecords が 0x1 に設定されている場合、Netlogon による DnsForestName A レコードの登録は行われません。
この資料の前半で取り上げた、DC やグローバル カタログ (GC) サーバーがブランチ オフィスに多数あり、中央に 1 つのセットがある環境で生じる問題を回避するには、ブランチ オフィスの DC/GC に対し Netlogon を使用して、一部の DNS レコードの登録を無効にします。この場合、登録されてはいけないニーモニックの一覧は以下のとおりです。
DC 固有のレコード :

ニーモニック       種類  DNS レコード
---------------------------------------------------------------------------
LdapIpAddress   A    <DnsDomainName>
Ldap            SRV  _ldap._tcp.<DnsDomainName>
DcByGuid        SRV  _ldap._tcp.<DomainGuid>.domains._msdcs.<DnsForestName>
Kdc             SRV  _kerberos._tcp.dc._msdcs.<DnsDomainName>
Dc              SRV  _ldap._tcp.dc._msdcs.<DnsDomainName>
Rfc1510Kdc      SRV  _kerberos._tcp.<DnsDomainName>
Rfc1510UdpKdc   SRV  _kerberos._udp.<DnsDomainName>
Rfc1510Kpwd     SRV  _kpasswd._tcp.<DnsDomainName>
Rfc1510UdpKpwd  SRV  _kpasswd._udp.<DnsDomainName>
 
GC 固有のレコード :

ニーモニック       種類  DNS レコード
---------------------------------------------------------------------------
Gc              SRV  _ldap._tcp.gc._msdcs.<DnsForestName>
GcIpAddress     A    _gc._msdcs.<DnsForestName>
GenericGc       SRV  _gc._tcp.<DnsForestName>
				
これらの一覧には、サイト固有のレコードが含まれていないことに注意してください。このため、ブランチ オフィスに配置されている DC および GC サーバーは、通常は DC ロケータによって使用されるサイト固有のレコードによって配置されることになります。この資料で示した一覧にあるレコードのような、汎用 (サイト固有でない) レコードに基づいて DC または GC をプログラムで検索すると、検索結果として、中央に配置されている DC や GC が出力されます。

また、そのようなレコードに対するクエリへの DNS 応答のサイズを小さくするために、Netlogon によって同じ汎用 DNS 名 (_ldap._tcp.dc._msdcs.DomainName) で登録された SRV や A レコードなどの、DC ロケータ レコードの数を制限するように選択することもできます。これは、1 つのドメイン内にある DC の数が 800 未満である場合でも可能です。

状況

マイクロソフトでは、この問題をこの資料の冒頭に記載したマイクロソフト製品の問題として認識しています。 この問題は、Windows 2000 Service Pack 2 で最初に修正されました。

詳細

Active Directory 統合 DNS ゾーンの信頼されるすべての DNS サーバーは、NS レコードを追加します。デフォルトでは、ドメイン内のすべての DC は、"_ldap._tcp.domain_name" などのサイト固有ではない名前の集合に対する SRV レコード、および Active Directory DNS ドメイン名を DC の TCP/IP アドレスにマップする A レコードを登録します。共有名が同じである 800 レコードの後に、DNS サーバーがレコードを書き込もうとすると、ローカル セキュリティ機関 (LSA) が 100% の CPU 使用率で約 10 秒間実行され、登録は成功しません。Netlogon は 1 時間ごとにこの登録を試行します。1 時間ごとに少なくとも 1 回は CPU 使用率が 100% になり、試行される登録は成功しません。

Windows 2000 と Windows 2000 の修正プログラムを同時にインストールする方法を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
249149 Microsoft Windows 2000 および Windows 2000 ホットフィックスのインストール

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 267855 (最終更新日 2004-02-04) を基に作成したものです。

プロパティ

文書番号: 267855 - 最終更新日: 2006年3月23日 - リビジョン: 3.1
この資料は以下の製品について記述したものです。
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
キーワード:?
kbhotfixserver kbbug kbdns kbenv kberrmsg kbfix kbnetwork kbwin2000presp2fix KB267855
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com