こんにちは。Windows Commercial Support Directory Services チームです。
ドメイン コントローラーを移行した後にドメイン間の認証 (信頼関係) が正常に動作しなくなった場合、その要因は DNS に起因しているケースが多くあります。様々なシナリオがありますが、その中の 1 つのシナリオを紹介します。
本稿では、下記の条件で発生するシナリオを紹介します。
- contoso.com と fabrikam.com のドメイン間で信頼関係を結んでいる。
- contoso.com では、DNS サーバーに fabrikam.com のセカンダリ ゾーンを構成している。
(fabrikam.com ゾーンの下には _msdcs 委任レコードが登録されている) - fabrikam.com でドメインコントローラーの移行をおこない、ドメイン コントローラーのホスト名が変更された。
症状:
以下の図のように contoso.com ( DNS サーバー) において、信頼関係先である fabrikam.com に対する名前解決をセカンダリ ゾーンで実現している場合に、プライマリからのゾーン転送が成功しているにもかかわらず、SRV レコードの名前解決に失敗し、信頼関係が正常に動作しなくなる場合がございます。この事象は fabrikam.com のドメイン コントローラーが移行され、ホスト名が変更になったことをきっかけにして発生します。
<移行前>
<移行後>
信頼関係先 (fabrikam.com) にセキュア チャネルの検証を行うと、 “ERROR_NO_LOGON_SERVERS” が表示されます。
原因:
fabrikam.com の _msdcs 委任レコードが古いドメイン コントローラーのホスト名のままになっており、contoso.com のドメイン コントローラーが、 _msdcs.fabrikam.com ゾーンに格納された SRV レコードの名前解決を新しいドメイン コントローラー (DNS サーバー) に委任できていない可能性がございます。
_msdcs 委任レコードは、ドメイン コントローラーが昇格および降格された情報が、自動で反映されない実装になっています。このため、_msdcs 委任レコードに登録されたドメイン コントローラーが降格されると、名前解決の委任先が居なくなり、結果として SRV レコードの名前解決に失敗します。
解決:
本事象を回避するためには、以下の 3 つの方法のいずれかを実施します。
a) fabrikam.com のドメイン コントローラー (DNS サーバー) で _msdcs 委任レコードを更新する
b) contoso.com のドメイン コントローラー (DNS サーバー) で条件付きフォワーダーによる名前解決を設定する
c) contoso.com のドメイン コントローラー (DNS サーバー) で _msdcs.fabrikam.com のセカンダリ ゾーンを構成する
それぞれの方法について手順をご案内いたします。
a) fabrikam.com のドメイン コントローラー (DNS サーバー) で _msdcs 委任レコードを更新する
fabrikam.com の _msdcs 委任レコードに、現存するドメイン コントローラー (DNS サーバー) を追加します。 これによって、contoso.com のドメイン コントローラーが _msdcs.fabrikam.com 内の SRV レコードを解決する際に、fabrikam.com の現存するドメイン コントローラー (DNS サーバー) に名前解決を委任するようになります。
_msdcs 委任レコードの更新
fabrikam.com のドメイン コントローラー (DNS サーバー) に管理者権限を持ったユーザーでログオンします。
[DNS マネージャ] を起動します。
[前方参照ゾーン] - [fabrikam.com] 配下の [_msdcs] を右クリックし、[プロパティ] をクリックします。
すでに存在しないドメイン コントローラー (DNS サーバー) を選択し、[削除] をクリックします。
[追加] をクリックします。
“サーバーの完全修飾ドメイン名 (FQDN) (S):” 欄に現存するドメイン コントローラー (DNS サーバー) の FQDN を入力し、 [OK] をクリックします。
例) fabrikam.com に現存するドメイン コントローラーのホスト名が dc1 の場合 dc1.fabrikam.com.委任先を複数登録する場合は、登録する FQDN を変えて、手順 5. ~ 6. を実施します。
[OK] をクリックし、”_msdcs のプロパティ” 画面を閉じます。
コマンド プロンプト (管理者) を起動します。
以下のコマンドを実行し、fabrikam.com のドメイン コントローラーへ情報を複製します。
repadmin /syncall /AeP
ゾーン転送の強制
- contoso.com のドメイン コントローラー (DNS サーバー)に管理者権限を持ったユーザーでログオンします。
- [DNS マネージャ] を起動します。
- [前方参照ゾーン] 配下の [fabrikam.com]を右クリックし、[マスターからゾーンの新しいコピーを転送 (O)] をクリックします。
b) contoso.com のドメイン コントローラー (DNS サーバー) で条件付きフォワーダーによる名前解決を設定する
fabrikam.com に対する名前解決をセカンダリ ゾーンではなく、条件付きフォワーダーを利用することで、_msdcs 委任レコードを参照することなく SRV レコードの名前解決が行えるようになります。
セカンダリ ゾーンの削除
- contoso.com のドメイン コントローラー (DNS サーバー)に管理者権限を持ったユーザーでログオンします。
- [DNS マネージャ] を起動します。
- [前方参照ゾーン] 配下の [fabrikam.com]を右クリックし、[削除] をクリックします。
- 確認画面が表示されたら、[はい] をクリックします。
- contoso.com のすべてのドメイン コントローラー (DNS サーバー)に対して、手順 1. ~ 4. を実施します。
条件付きフォワーダーの設定
- contoso.com のドメイン コントローラー (DNS サーバー)に管理者権限を持ったユーザーでログオンします。
- [DNS マネージャ] を起動します。
- [条件付きフォワーダー] を右クリックし、[新規条件付きフォワーダー(C)…] をクリックします。
- “DNS ドメイン:” 欄に fabrikam.com と入力し、”マスター サーバーの IP アドレス (S)” 欄に fabrikam.com の現存するドメイン コントローラー (DNS サーバー) の IP アドレスを入力します。 入力後、[OK] をクリックします。
※ DNS サーバーが複数存在する場合は、複数の IP アドレスを登録してください。 - contoso.com のすべてのドメイン コントローラー (DNS サーバー)に対して、手順 1. ~ 4. を実施します。
c) contoso.com のドメイン コントローラー (DNS サーバー) で _msdcs.fabrikam.com のセカンダリ ゾーンを構成する
contoso.com のドメイン コントローラー (DNS サーバー) 上に fabrikam.com セカンダリ ゾーンだけでなく、_msdcs.fabrikam.com セカンダリ ゾーンを追加で構成します。これにより、_msdcs.fabrikam.com ゾーン内のSRV レコードを解決する際に、fabrikam.com 内の _msdcs 委任レコードを参照するのではなく、_msdcs.fabrikam.com ゾーンを直接参照する動作となり、名前解決が行えるようになります。
ゾーン転送の許可
- fabrikam.com のドメイン コントローラー (DNS サーバー)に管理者権限を持ったユーザーでログオンします。
- [DNS マネージャ] を起動します。
- [前方参照ゾーン] 配下の [_msdcs.fabrikam.com]を右クリックし、[プロパティ] をクリックします。
- [ゾーンの転送] タブをクリックします。
- “ゾーン転送を許可するサーバー” にチェックを入れ、”次のサーバーのみ” を選択してから、[編集] をクリックします。
※ “すべてのサーバー” を選択してもゾーン転送の許可は可能となりますが、ここでは特定の IP アドレスに対してのみゾーン転送を許可する設定とします - セカンダリとなる DNS サーバー (contoso.com の DNS サーバー) の IP アドレスを入力し、[OK] をクリックします。
※ DNS サーバーが複数存在する場合は、複数の IP アドレスを登録してください。 - [OK] をクリックし、プロパティ画面を閉じます。
- ゾーン転送元となる fabrikam.com のすべてのドメイン コントローラー (DNS サーバー)に対して、 手順 1. ~ 7. を実施します。
_msdcs.fabrikam.com セカンダリ ゾーンの作成
- contoso.com のドメイン コントローラー (DNS サーバー)に管理者権限を持ったユーザーでログオンします。
- [DNS マネージャ] を起動します。
- [前方参照ゾーン] を右クリックし、[新しいゾーン(Z)… ] をクリックします。
- [次へ] をクリックします。
- [セカンダリ ゾーン] を選択し、[次へ] をクリックします。
- ゾーン名(Z): 欄に “_msdcs.fabrikam.com” と入力し、[次へ] をクリックします。
- ゾーン転送元の DNS サーバー (fabrikam.com の DNS サーバー) の IP アドレスを入力し、[次へ] をクリックします。
※ DNS サーバーが複数存在する場合は、複数の IP アドレスを登録してください。 - [完了] をクリックします。
- [前方参照ゾーン] – [_msdcs.fabrikam.com] の順にクリックし、レコードが転送されていることを確認します。
- contoso.com のすべてのドメイン コントローラー (DNS サーバー)に対して、手順 1. ~ 9. を実施します。
本投稿が少しでも皆様のお役に立てば幸いです。
※ 本情報の内容 (リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。