翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
DNS _msdcs ゾーンのモダナイゼーション
Hybrid AD ディレクトリを作成する前に DNS _msdcs ゾーンをモダナイズすることが必須の前提条件です。最新の Active Directory 環境では、 _msdcs.<ForestRoot>は、ForestDnsZones アプリケーションパーティションに保存されている別のフォレスト全体のレプリケートゾーンとして作成されます。もともと Windows NT 4.0 または Windows 2000 上に構築された (その後アップグレードされた) レガシー環境では、 _msdcsは決して分離されず、単に親ドメインゾーンファイル内の標準サブドメイン (サブフォルダ) としてのみ存在します。
DNS がインストールされた状態で新しいドメインコントローラーが昇格すると、そのインストールプロセスは専用の_msdcs.<ForestRoot>アプリケーションパーティションを検索します。スタンドアロンゾーンは見つからないため、ローカルに新しい空白_msdcsゾーンが自動的に作成され、その名前空間に対する権限が要求されます。これにより、新しい DC が親ゾーンのレガシーサブドメインレコードを読み取るのが完全にオフになり、NS 委任がそれ自体を指すように更新されます。
その結果、アーキテクチャの競合が発生します。ドメインに参加しているすべてのクライアントは、空の_msdcsゾーンを持つ DC を参照されるようになりましたが、実際の DC ロケーターレコード (_ldap._tcp.dc._msdcs、_kerberos._tcp.dc._msdcs、グローバルカタログレコード、DC GUID CNAMEs) は、クライアントがアクセスできない古い親ゾーンのサブドメインでストランドされたままになります。これにより、Kerberos 認証、LDAP 検出、サイト対応の DC ロケーションがフォレスト全体で中断されます。
レガシーゾーンとモダン_msdcsゾーンの設計
- レガシー (委任サブドメイン)
-
Windows Server 2000、2003、2008、および 2008 R2 のデフォルト。この設計では、 は親ゾーンの下に委任サブドメインとして
_msdcs存在します。親ゾーンの NS レコードは、_msdcs名前空間の権威として特定の DCs を指します。 - Modern (スタンドアロンゾーン)
-
Windows Server 2012 以降のデフォルト。この設計では、 は独自の AD 統合ゾーンとして
_msdcs.<forest>存在し、ForestDnsZones アプリケーションパーティションを介してフォレスト内のすべての DCs にレプリケートされます。すべての DCs は権威があり、レコードを直接読み書きできます。
_msdcs ゾーン設計を特定する方法
_msdcs ゾーン設計を特定するには、任意のドメインコントローラーで以下を実行します。
-
すべての DNS ゾーンを一覧表示し、 を探します
_msdcs。Get-DnsServerZone | Where-Object { $_.ZoneName -like "*_msdcs*" }最新の設計 (アクションは不要) — プライマリゾーンとして
_msdcs.<forest-name>表示されます。ZoneName ZoneType IsAutoCreated IsDsIntegrated IsReverseLookupZone IsSigned -------- -------- ------------- -------------- ------------------- -------- _msdcs.premier.local Primary False True False Falseレガシー設計 (変換が必要) — ゾーンリストには表示
_msdcs.<forest-name>されません。代わりに、 はフォレストゾーンの委任サブドメインとしてのみ_msdcs存在します。これを確認するには、委任 NS レコードを確認します。Get-DnsServerResourceRecord -ZoneName "<forest-name>" -Name "_msdcs" -RRType NSNS レコードが返された場合、環境は従来の委任サブドメイン設計を使用します。
-
追加の検証 — ゾーンタイプを確認します。
# This will succeed on modern design Get-DnsServerZone -Name "_msdcs.<forest-name>" # If you get an error like "Zone _msdcs.<forest-name> was not found", you have the legacy design
DNS _msdcs ゾーンをモダナイズする方法
これらのステップは、 AWS Managed Microsoft AD Hybrid ディレクトリの作成を開始する前に実行する必要があります。すべてのステップは、ドメイン管理者および DnsAdmins 権限を持つ DNS Manager アクセスを持つ既存のセルフマネージドドメインコントローラーで実行されます。
-
スタンドアロン
_msdcsゾーンを作成する既存のセルフマネージド型ドメインコントローラーの場合:
dnscmd localhost /ZoneAdd "_msdcs.<forest-name>" /DsPrimary /dp /forestこれにより、フォレスト全体のレプリケーションスコープを持つ専用の AD 統合ゾーン
_msdcs.<forest-name>として が作成されます。フォレスト内のすべての DCs は、ForestDnsZones パーティションを介してコピーを受け取ります。AD レプリケーションが伝達されるまで待ちます。
repadmin /syncall /AeDゾーンが存在することを確認します (複数の DCsで実行)。
Get-DnsServerZone -Name "_msdcs.<forest-name>" -
親ゾーンから古い委任を削除する
古い
_msdcsサブドメインノードとそのレコードは、親ゾーンにまだ存在します。これらを削除して、DNS クエリが新しいスタンドアロンゾーンからのみ処理されるようにする必要があります。# Remove the _msdcs subtree (NS delegation + all child records) from the parent zone dnscmd localhost /NodeDelete <forest-name> _msdcs /tree /f重要
このステップは、ステップ 1 でスタンドアロンゾーンが正常に作成されたことを確認した後にのみ実行します。ステップ 1 をスキップすると、古いレコードを削除するとすぐに停止します。
-
すべての DCsを強制する
古いサブドメインが削除され、新しいスタンドアロンゾーンが設定されると、すべての DCsロケーターレコードを新しいゾーンに再登録する必要があります。
オンプレミスのすべてのドメインコントローラーで以下を実行します。
# Flush DNS cache ipconfig /flushdns # Restart Netlogon — this triggers re-registration of all SRV, CNAME, and A records net stop netlogon net start netlogon # Force host record registration ipconfig /registerdns -
検証
レプリケーションまで 5~10 分待ってから、以下を確認します。
新しいスタンドアロンゾーンに入力されたレコードを確認します。
Get-DnsServerResourceRecord -ZoneName "_msdcs.<forest-name>" -RRType SRVすべてのオンプレミス DCs の
_ldap._tcp.dc_kerberos._tcp.dc、_ldap._tcp.gc、、およびサイト固有のレコードが表示されます。DNS 解決がend-to-endで機能することを確認します。
Resolve-DnsName "_ldap._tcp.dc._msdcs.<forest-name>" -Type SRV Resolve-DnsName "_kerberos._tcp.dc._msdcs.<forest-name>" -Type SRVすべてのオンプレミス DCsが結果に表示されます。
古い委任が親ゾーンから削除されていることを確認します。
Get-DnsServerResourceRecord -ZoneName "<forest-name>" -Name "_msdcs" -RRType NS -ErrorAction SilentlyContinueこれにより何も返されません。
DNS
_msdcsゾーンのモダナイズの詳細については、Microsoft Core Infrastructure and Security Blog ウェブサイトの「How to Split and Migrate Child Domain DNS Records to a Dedicated DNS Zone」を参照してください。
トラブルシューティング
ステップ 3 の後に新しいスタンドアロンゾーンが空のままの場合:
レコードがすでに存在すると思われる場合、Netlogon は再登録しないことがあります。クリーン再登録を強制します。
# Delete the Netlogon DNS registration cache Remove-Item "HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\DnsAvoidRegisterRecords" -ErrorAction SilentlyContinue # Restart Netlogon again net stop netlogon net start netlogon
レコードがまだ表示されない場合は、古い親ゾーン (バックアップまたはそれらをキャッシュした他の DCs から使用可能) の値を使用して、重要なレコードを手動で作成します。
# Example: SRV record for LDAP DC locator Add-DnsServerResourceRecord -ZoneName "_msdcs.<forest-name>" -Name "_ldap._tcp.dc" -Srv -DomainName "dc1.<forest-name>" -Priority 0 -Weight 100 -Port 389 # Example: SRV record for Kerberos DC locator Add-DnsServerResourceRecord -ZoneName "_msdcs.<forest-name>" -Name "_kerberos._tcp.dc" -Srv -DomainName "dc1.<forest-name>" -Priority 0 -Weight 100 -Port 88
変換後もアプリケーションが失敗している場合:
影響を受けるアプリケーションサーバーとクライアントマシンの DNS キャッシュをフラッシュします。
ipconfig /flushdns
負の DNS キャッシュエントリ (停止期間から) は、有効期限が切れるまで最大 900 秒 (15 分) 保持される場合があります。