ディレクトリ レプリケーションをサポートする DNS 機能を確認する
適用対象: Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、Windows Server 2012
Active Directory レプリケーションに干渉する可能性があるドメイン ネーム システム (DNS) の設定を確認するには、まず、ドメインに対して DNS が正しく動作していることを確認する基本的なテストを実行します。 基本的なテストを実行した後は、リソース レコードの登録や動的更新など、DNS 機能のその他の側面をテストできます。
この基本的な DNS 機能のテストは任意のドメイン コントローラーで実行することができますが、通常は、レプリケーションの問題が発生している可能性があるドメイン コントローラー (たとえば、イベント ビューアーの Directory Service DNS ログでイベント ID 1844、1925、2087、または 2088 を報告するドメイン コントローラーなど) でこのテストを実行します。
ドメイン コントローラーの基本的な DNS テストの実行
基本的な DNS テストでは、DNS 機能の次の側面が確認されます。
- 接続: このテストでは、ドメイン コントローラーが DNS に登録され、
ping
コマンドで接続可能であり、ライトウェイト ディレクトリ アクセス プロトコル / リモート プロシージャ コール (LDAP/RPC) 接続があるかどうかを判断します。 ドメイン コントローラーで接続テストが失敗した場合、そのドメイン コントローラーに対して他のテストは実行されません。 接続テストは、その他の DNS テストが実行される前に自動的に実行されます。 - 重要なサービス: このテストでは、テスト済みドメイン コントローラーで次のサービスが実行され、使用できることが確認されます。DNS クライアント サービス、Net Logon サービス、キー配布センター (KDC) サービス、および DNS サーバー サービス (DNS がドメイン コントローラーにインストールされている場合)。
- DNS クライアントの構成: このテストでは、DNS クライアント コンピューターのすべてのネットワーク アダプター上の DNS サーバーに到達可能であるかが確認されます。
- リソース レコードの登録: このテストでは、各ドメイン コントローラーのホスト (A) リソース レコードが、クライアント コンピューターで構成されている DNS サーバーの少なくとも 1 つに登録されていることを確認します。
- ゾーンと権限の開始 (SOA): ドメイン コントローラーが DNS サーバー サービスを実行している場合、このテストでは、Active Directory ドメイン ゾーンと Active Directory ドメイン ゾーンの権限の開始 (SOA) リソース レコードが存在することを確認します。
- ルート ゾーン: ルート (.) ゾーンが存在するかどうかを確認します。
この手順を完了するには、少なくとも、Enterprise Admins グループ、または同等の権限を持つグループのメンバーである必要があります。
次の手順を使用して、基本的な DNS 機能を確認できます。
基本的な DNS 機能を確認する方法:
テストするドメイン コントローラー、または Active Directory Domain Services (AD DS) ツールがインストールされているドメイン メンバー コンピューターで、管理者としてコマンド プロンプトを開きます。 管理者としてコマンド プロンプトを開くには、[スタート] ボタンをクリックします。
[検索開始] で、「コマンド プロンプト」と入力します。
[スタート] メニューの上部で [コマンド プロンプト] を右クリックしてから [管理者として実行] をクリックします。 [ユーザー アカウント制御] ダイアログ ボックスが表示されたら、表示された操作が正しいことを確認し、[続行] をクリックします。
コマンド プロンプトで次のコマンドを入力し、Enter キー を押します。
dcdiag /test:dns /v /s:<DCName> /DnsBasic /f:dcdiagreport.txt
<DCName> の代わりに、ドメイン コントローラーの実際の識別名、NetBIOS 名、または DNS 名を 使用します。 「/s:」ではなく、「/e:」と入力すると、フォレスト内のすべてのドメイン コントローラーをテストできます。 「/f」スイッチはファイル名を指定します。前のコマンドでのファイル名は「dcdiagreport.txt」です。 ファイルを現在の作業ディレクトリ以外の場所に配置する場合は、「/f:c:reportsdcdiagreport.txt」のようにファイル パスを指定できます。dcdiagreport.txt ファイルをメモ帳などのエディターで開きます。 メモ帳でファイルを開くには、コマンド プロンプトで、「notepad dcdiagreport.txt」と入力して Enter キーを押します。 ファイルを別の作業ディレクトリに配置した場合は、ファイルへのパスを含める必要があります。 たとえば、ファイルを「c:reports」に配置した場合は、「notepad c:reportsdcdiagreport.txt」と入力して、Enter キーを押します。
ファイルの下部にある [概要] テーブルまでスクロールします。 [概要] テーブルで「警告」または「失敗」状態を報告するドメイン コントローラーの名前に注目します。 ドメイン コントローラーの実際の名前である「DC: DCName」という文字列を検索して、詳細なブレークアウト セクションを見つけて、ドメイン コントローラーに問題が発生したかどうかを確認します。「DCName」はドメイン コントローラーの実際の名前です。
あきらかに構成変更が必要となる個所を確認した場合は、必要に応じて変更します。 たとえば、ドメイン コントローラーの 1 つに明らかに適正でない IP アドレスが使用されている場合は、修正できます。 修正後、テストを再実行します。
構成の変更を検証するには、必要に応じて、「/e:」 または「/s:」スイッチを使用して、「Dcdiag /test:DNS /v」コマンドをもう一度実行します。 ドメイン コントローラーで IP バージョン 6 (IPv6) を有効化していない場合は、テストのホスト (AAAA) 検証部分が失敗することが予想されますが、ネットワークで IPv6 を使用していない場合は、これらのレコードは必要ありません。
リソース レコード登録の確認
宛先ドメイン コントローラーは、DNS エイリアス (CNAME) リソース レコードを使用して、ソース ドメイン コントローラーのレプリケーション パートナーを検索します。 Windows Server を実行するドメイン コントローラー (Windows Server 2003 サービス パック 1 (SP1) 以降) では、完全修飾ドメイン名 (FQDN) を使用してソース レプリケーション パートナーを検索できます。それが失敗した場合は、NetBIOS はエイリアス (CNAME) リソース レコードの存在を想定するため、適切な DNS 機能を確認する必要があります。
次の手順を使用して、エイリアス (CNAME) リソース レコードの登録を含めたリソース レコードの登録を確認できます。
リソース レコード登録の確認方法
- コマンド プロンプトを管理者として開きます。 管理者としてコマンド プロンプトを開くには、[スタート] ボタンをクリックします。 [検索開始] で、「コマンド プロンプト」と入力します。
- [スタート] メニューの上部で [コマンド プロンプト] を右クリックしてから [管理者として実行] をクリックします。 [ユーザー アカウント制御] ダイアログ ボックスが表示されたら、表示された操作が正しいことを確認し、[続行] をクリックします。 Dcdiag ツールを使用して、
dcdiag /test:dns /DnsRecordRegistration
コマンドを実行すると、ドメイン コントローラーの場所に不可欠なすべてのリソース レコードの登録を確認 できます。
このコマンドは、DNS での次のリソース レコードの登録を検証します。
- alias (CNAME): レプリケーション パートナーを特定するグローバル一意識別子 (GUID) ベースのリソース レコード
- host (A): ドメイン コントローラーの IP アドレスを含むホスト リソース レコード
- LDAP SRV: LDAP サーバーを特定するサービス (SRV) リソース レコード
- GC SRV: グローバル カタログサーバーを特定するサービス (SRV) リソース レコード
- PDC SRV: プライマリ ドメイン コントローラー (PDC) エミュレーター操作マスターを特定するサービス (SRV) リソース レコード
次の手順を使用すると、エイリアス (CNAME) リソース レコードの登録を単独で確認できます。
エイリアス (CNAME) リソース レコードの登録の確認方法
- DNS スナップインを開きます。 DNS を開く場合は、[開始] をクリックします。 [検索の開始] に「dnsmgmt.msc」と入力して Enter キーを押します。 [ユーザー アカウント制御] ダイアログ ボックスが表示されたら、実行するアクションが表示されていることを確認し、[続行] をクリックします。
- DNS スナップインを使用して、DNS サーバー サービスを実行しているドメイン コントローラーを特定します。この場合、サーバーはドメイン コントローラーの Active Directory ドメインと同じ名前の DNS ゾーンをホストします。
- コンソール ツリーで、「_msdcs.Dns_Domain_Name」という名前のゾーンをクリックします。
- 詳細ウィンドウで、次のリソース レコードが存在することを確認します。「Dsa_Guid._msdcs.<Dns_Domain_Name>という名前のエイリアス(CNAME)リソース レコードと、DNS の名前に対応するホスト (A) リソース レコード サーバー。
エイリアス (CNAME) リソース レコードが登録されていない場合は、動的更新が正しく機能されていることを確認します。 動的更新を確認するには、次のセクションのテストを使用します。
動的更新の確認
基本的な DNS テストで、リソース レコードが DNS に存在しない場合は、動的更新テストを使用して、Net Logon サービスがリソース レコードを自動的に登録しなかった理由を特定します。 Active Directory ドメイン ゾーンがセキュリティで保護された動的更新を受け入れ、テスト レコード (_dcdiag_test_record) の登録を実行するように構成されていることを確認するには、次の手順に従います。 テスト レコードは、テスト後に自動的に削除されます。
動的更新を確認する方法
- コマンド プロンプトを管理者として開きます。 管理者としてコマンド プロンプトを開くには、[スタート] ボタンをクリックします。 [検索開始] で、「コマンド プロンプト」と入力します。 [スタート] メニューの上部で [コマンド プロンプト] を右クリックしてから [管理者として実行] をクリックします。 [ユーザー アカウント制御] ダイアログ ボックスが表示されたら、表示された操作が正しいことを確認し、[続行] をクリックします。
- コマンド プロンプトで次のコマンドを入力し、Enter キー を押します。
dcdiag /test:dns /v /s:<DCName> /DnsDynamicUpdate
<DCName> の代わりに、ドメイン コントローラーの実際の識別名、NetBIOS 名、または DNS 名を 使用します。 「/s:」ではなく、「/e:」と入力すると、フォレスト内のすべてのドメイン コントローラーをテストできます。 ドメイン コントローラーで IPv6 を有効にしていない場合は、テストのホスト (AAAA) リソース レコード部分が失敗することが予想されます。これは、IPv6 が有効になっていない場合の通常の状態です。
セキュリティで保護された動的更新プログラムが構成されていない場合は、次の手順を使用して構成できます。
セキュリティで保護された動的更新を構成する方法
- DNS スナップインを開きます。 DNS を開く場合は、[開始] をクリックします。
- [検索の開始] に「dnsmgmt.msc」と入力して Enter キーを押します。 [ユーザー アカウント制御] ダイアログ ボックスが表示されたら、実行するアクションが表示されていることを確認して、[続行] をクリックします。
- コンソール ツリーで該当するゾーンを右クリックし、[プロパティ] をクリックします。
- [全般] タブで、ゾーンの種類が [Active Directory 統合] であることを確認します。
- [動的更新] で、[セキュリティ保護のみ] をクリックします。
DNS リソース レコードのセキュリティ保護
ソース ドメイン コントローラーの DNS に DNS リソース レコードが表示されず、動的更新を確認して DNS リソース レコードをすぐに登録する場合は、次の手順を使用して手動で強制的に登録できます。 ドメイン コントローラーの Net Logon サービスは、ドメイン コントローラーがネットワーク上に位置するうえで必要となる DNS リソース レコードを登録します。 DNS クライアント サービスは、エイリアス (CNAME) レコードが参照するホスト (A) リソース レコードを登録します。
DNS リソース レコードを手動で登録する方法
- コマンド プロンプトを管理者として開きます。 管理者としてコマンド プロンプトを開くには、[スタート] ボタンをクリックします。
- [検索開始] で、「コマンド プロンプト」と入力します。
- スタート メニューの上部にある [コマンド プロンプト] を右クリックし、[管理者として実行] をクリックします。 [ユーザー アカウント制御] ダイアログ ボックスが表示されたら、表示された操作が正しいことを確認し、[続行] をクリックします。
- ソース ドメイン コントローラーでドメイン コントローラー ロケーター リソース レコードの登録を手動で開始するには、コマンド プロンプトで次のコマンドを入力して Enter キーを押します。
net stop netlogon && net start netlogon
- ソース ドメイン コントローラーでドメイン コントローラー ロケーター リソース レコードの登録を手動で開始するには、コマンド プロンプトで次のコマンドを入力して Enter キーを押します。
ipconfig /flushdns && ipconfig /registerdns
- コマンド プロンプトで次のコマンドを入力し、Enter キー を押します。
dcdiag /test:dns /v /s:<DCName>
<DCName> の代わりに、ドメイン コントローラーの実際の識別名、NetBIOS 名、または DNS 名を 使用します。 テストの出力を調査して、DNS テストが成功したことを確認します。 ドメイン コントローラーで IPv6 を有効にしていない場合は、テストのホスト (AAAA) リソース レコード部分が失敗することが予想されます。これは、IPv6 が有効になっていない場合の通常の状態です。