次の方法で共有


Active Directory 統合 DNS ゾーンの多くのドメイン コントローラーで発生する可能性がある問題

元の KB 番号: 267855
適用対象: サポートされているバージョンの Windows Server

現象

SRV とドメイン コントローラー (DC) ロケーターのドメイン ネーム システム (DNS) の登録 Active Directory 統合 DNS ゾーンのレコード (Netlogon によって登録) および NS レコード (権限のある DNS サーバーによって追加される) は、多数の DC (通常は 1200 を超える) を含むドメインでは機能しない場合があります。 Active Directory 統合 DNS ゾーンの名前が Active Directory ドメイン名と同じ場合、ゾーン ルートでの A レコードと NS レコードの登録に関する問題は、400 を超える DC を持つドメインで発生するようです。 また、次の 1 つ以上のエラー メッセージがイベント ログに記録される場合があります。

Event Type: Error  
Event Source: DNS  
Event Category: None  
Event ID: 4011  
Description: The DNS server was unable to add or write an update of domain name xyz in zone xyz.example.com to the Active Directory. Check that the Active Directory is functioning properly and add or update this domain name using the DNS console. The event data contains the error.  
Data: 0000: 2a 23 00 00 *#..
Event Type: Error  
Event Source: DNS  
Event Category: None  
Event ID: 4015  
Description: The DNS server has encountered a critical error from the Active Directory. Check that the Active Directory is functioning properly. The event data contains the error.  
Data: 0000: 0b 00 00 00 ....  

The final status code from event 4015, 0x00000b, maps to error "LDAP_ADMIN_LIMIT_EXCEEDED Administration limit on the server has exceeded."
Event Type: Warning  
Event Source: NTDS Replication  
Event Category: Replication  
Event ID: 1093  
Description: The directory replication agent (DRA) could not apply changes to object DC=@,DC=xyz.example.com,CN=MicrosoftDNS,CN=System,DC=xyz,DC=example, DC=com (GUID <GUID>) because the incoming changes cause the object to exceed the database's record size limit. The incoming change to attribute 9017e (dnsRecord) will be backed out in an attempt to make the update fit. In addition to the change to the attribute not being applied locally, the current value of the attribute on this system will be sent out to all other systems to make that the definitive version. This has the effect of nullifying the change to the rest of the enterprise.
The reversal may be recognized as follows: version 5474, time of change 2000-06-28 19:33.24 and USN of 2873104.
Event Type: Information  
Event Source: NTDS Replication  
Event Category: Replication  
Event ID: 1101  
Description: The directory replication agent (DRA) was able to successfully apply the changes to object DC=@,DC=xyz.example.com,CN=MicrosoftDNS,CN=System, DC=xyz,DC=example,DC=com (GUID <GUID>) after backing out one or more of the attribute changes. Preceding messages will indicate which attributes were reversed. Please note that this will have the effect of nullifying the change where it was made, causing the original update not to take effect. The originator should be notified that their change was not accepted by the system.

原因

この問題は、Active Directory には、1 つのオブジェクトに関連付けることができる約 1200 の値の制限があるために発生します。 Active Directory 統合 DNS ゾーンでは、DNS 名は dnsNode オブジェクトによって表され、DNS レコードは dnsNode オブジェクトの複数値 dnsRecord 属性に値として格納され、この記事で前述したエラー メッセージが発生します。

解決方法

この問題を解決するには、次のいずれかの方法を使用できます。

方法 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
    
  • ゾーンの NS レコードを自動的に作成するアクセス許可を持つ DNS サーバーの TCP/IP アドレスの一覧をクリアし、すべてのプライマリ DNS サーバーがそれに対応する NS レコードをゾーンに自動的に追加するときにゾーンを既定の状態に戻すには、 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
    

Note

このコマンドは、1 つの DNS サーバーでのみ実行します。 Active Directory レプリケーションは、同じドメイン内の DC で実行されているすべての DNS サーバーに変更を反映します。

ドメインの DNS DC の大部分がブランチ オフィスにあり、一部が中央の場所に配置されている環境では、この記事で前述した Dnscmd コマンドを使用して、中央に配置された DNS DC のみを含むように IPList を設定できます。 これにより、中央に配置された DNS DC のみがそれぞれの NS レコードを Active Directory ドメイン ゾーンに追加します。

方法 2

重要

このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 したがって、次の手順を注意深く実行してください。 保護のために、レジストリを変更する前に、バックアップします。 その後、問題が起こった場合は、レジストリを復元できます。 詳細については、「 Windows でレジストリをバックアップおよび復元する方法を参照してください。

Active Directory 統合 DNS ゾーンに対応する NS レコードを追加しない DNS サーバーを選択する場合は、レジストリ エディター (Regedt32.exe) を使用して、影響を受ける各 DNS サーバーで次のレジストリ値を構成します。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters

レジストリ値: DisableNSRecordsAutoCreation
値の種類: REG_DWORD
データ範囲: 0x0 |0x1
既定値: 0x0

この値は、すべての Active Directory 統合 DNS ゾーンに影響します。 値の意味は次のとおりです。

意味
0 サーバーによってホストされているゾーンに、サーバーを含まない AllowNSRecordsAutoCreation 属性 (この記事で前述) が含まれていない場合、DNS サーバーは、すべての Active Directory 統合 DNS ゾーンの NS レコードを自動的に作成します。 この状況では、サーバーは AllowNSRecordsAutoCreation 構成を使用します。
1 DNS サーバーは、Active Directory 統合 DNS ゾーンの AllowNSRecordsAutoCreation 構成に関係なく、すべての Active Directory 統合 DNS ゾーンに対して NS レコードを自動的に作成することはありません。

Note

この値に変更を適用するには、DNS サーバー サービスを再起動する必要があります。

特定の DNS サーバーがホストする Active Directory 統合 DNS ゾーンに対応する NS レコードを追加できないようにする場合は、この記事で前述した DisableNSRecordsAutoCreation レジストリ値を使用できます。

Note

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

Netlogon の修正

重要

このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 したがって、次の手順を注意深く実行してください。 保護のために、レジストリを変更する前に、バックアップします。 その後、問題が起こった場合は、レジストリを復元できます。 詳細については、「 Windows でレジストリをバックアップおよび復元する方法を参照してください。

この修正プログラムの Netlogon 部分は、この記事で前述したように管理者により詳細な制御を提供します。 すべての DC に修正プログラムを適用する必要があります。 また、既定で Netlogon によって動的に更新される特定の DNS レコードの動的更新を DC が試行しないようにするには、Regedt32.exeを使用して次のレジストリ値を構成します。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters

レジストリ値: DnsAvoidRegisterRecords
データ型: REG_MULTI_SZ

この値では、この DC で登録すべきでない DNS レコードに対応するニーモニックの一覧を指定します。

Note

この値を、次の表に示す enter で区切られたニーモニックの一覧に設定します。

ニーモニックの一覧には、次のものが含まれます。

略字 Type 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.<SiteName>._sites.dc._msdcs.<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>

Note

Netlogon サービスを再起動する必要はありません。 Netlogon サービスの停止中または Netlogon の開始後の最初の 15 分以内に DnsAvoidRegisterRecords レジストリ値が作成または変更された場合、適切な DNS 更新は短い遅延で行われます (ただし、遅延は Netlogon の開始後 15 分以内です)。

Netlogon によって実行される A レコードの DNS 登録は、RegisterDnsARecords レジストリ値を使用して変更することもできます。 詳細については、「 Windows で DNS 更新プログラムを有効または無効にする方法を参照してください。

DnsAvoidRegisterRecords と RegisterDnsARecords レジストリ値の両方で、ホスト (A) レコードの登録を許可する必要があることに注意してください。

  • RegisterDnsARecords = 0x1
    DnsAvoidRegisterRecords レジストリ値の設定で LdapIpAddress と GcIpAddress を一覧表示した場合、A レコードは登録されません。
  • RegisterDnsARecords = 0x0
    DnsAvoidRegisterRecords レジストリ値の設定で LdapIpAddress と GcIpAddress を一覧表示しても、A レコードは登録されません。

この記事で既に説明した問題が、一連の DC やグローバル カタログ (GC) サーバーが中央の場所にあり、多数の DC または GC サーバーがブランチ オフィスに配置されている環境で発生しないようにするために、管理者はブランチ オフィスの DC/GC で Netlogon による一部の DNS レコードの登録を無効にすることができます。 この状況では、登録すべきでないニーモニックの一覧には次のものが含まれます。

DC 固有のレコード:

略字 Type 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 固有のレコード:

略字 Type DNS レコード
Gc SRV _ldap._tcp.gc._msdcs.<DnsForestName>
GcIpAddress A gc._msdcs.<DnsForestName>
GenericGc SRV _gc._tcp.<DnsForestName>

Note

これらのリストには、サイト固有のレコードは含まれません。 そのため、ブランチ オフィス内の DC と GC サーバーは、通常 DC ロケーターによって使用されるサイト固有のレコードによって配置されます。 プログラムは、この記事で前述したリスト内のいずれかのレコードなどの汎用 (サイト固有ではない) レコードを使用して DC/GC を検索すると、中央の場所で DC/GC を検索します。

管理者は、同じ汎用 DNS 名 (_ldap._tcp.dc._msdcs.<に対して、Netlogon によって登録された SRV レコードや A レコードなどの DC ロケーター レコードの数を制限することもできます。DomainName>) は、同じドメイン内の DC が 1200 個未満のシナリオでも、このようなレコードのクエリに対する DNS 応答のサイズを小さくします。

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

その他の情報

Active Directory 統合 DNS ゾーンに対して権限を持つすべての DNS サーバーは、NS レコードを追加します。 既定では、ドメイン内のすべての DC は、"_ldap._tcp.<" などのサイト固有以外の名前のセットに SRV レコードを登録します。domain_name>"、および Active Directory DNS ドメイン名を DC の TCP/IP アドレスにマップするレコード。 DNS サーバーが同じ共有名を持つ約 1200 個のレコードの後にレコードを書き込もうとすると、ローカル セキュリティ機関 (LSA) は約 10 秒間 100% の CPU 使用率で実行され、登録は成功しません。 Netlogon は、この登録を 1 時間ごとに再試行します。100% の CPU 使用率のスパイクが少なくとも 1 時間に 1 回再表示され、試行された登録は成功しません。