技術情報

【2021年版】AD ドメインコントローラ マルチホーム構成の推奨設定(DNS名前解決)

こんにちは、Windowsインフラエンジニア ばにゃです。

ADマルチホーム構成 推奨設定

本記事では、以下の設定について解説します。

  • マルチホーム構成(ネットワークアダプタ2枚以上の構成)のドメインコントローラーを構築する場合の推奨設定

本記事に記載する設定を行わなかった場合、ドメインコントローラーとなっているサーバーの名前解決を行う際に、想定通りの名前解決が行われずに通信に失敗する可能性があります。

マルチホーム構成における推奨設定については、そもそも Microsoft の公開情報 が未だに Windows 2000 ベースで書かれており、公式の情報のわりにかなり信頼性に欠けています。

本記事では、複数の運用環境で私が実際に行った経験を元に、本当に必要な設定、本当は必要ない設定について説明します。

スポンサーリンク

前提となる環境

以下のような環境を例として記載します。
この環境で私自身が実機動作確認済みの手順となります。

前提となる環境
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2
  • Windows Server 2012
  • Windows Server 2008 R2
  • Windows Server 2008
  • Windows Server 2003 R2
  • Windows Server 2003
  • Windows 2000 Server

以下のような構成を例として解説します。

  • Active Directory と DNS 機能をもったドメインコントローラー
  • ネットワークアダプタが 2枚(NIC1 と NIC2)
  • NIC1 側のネットワーク(192.168.100.0/24)で名前解決が行われる
ADマルチホーム構成 推奨設定

設定方法

ドメインコントローラーに管理者権限のユーザーでサインインして操作を行います。
設定の流れは以下の通りです。

  1. DNSで名前解決を行うネットワークの指定①
  2. DNSで名前解決を行うネットワークの指定②(2000 Server のみ)
  3. ネットワークアダプタのDNS自動登録の無効化
  4. DNSラウンドロビンの無効化 不要
  5. DNSレコードの削除

DNSで名前解決を行うネットワークの指定①

DNSで名前解決を行うネットワークを指定します。
今回の構成例では、NIC1 の 192.168.100.10 のみチェックが入った状態にします。

  1. DNSマネージャーを開きます。
  2. DNSサーバのプロパティを開き「インターフェース」タブを選択します。
  3. リッスン対象で「指定したIPアドレスのみ」を選択し、名前解決で使用するネットワークのみチェックが入った状態にします。

    ADマルチホーム構成 DNS名前解決

DNSで名前解決を行うネットワークの指定②(2000 Server のみ)

Windows 2000 Server の場合は以下のレジストリ設定を行います。

  1. レジストリエディタを開き、以下の設定を行います。
    データには、名前解決に使用する側のIPアドレスを指定します。
項目設定内容
キーHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters
名前PublishAddresses
種類REG_SZ
データ192.168.100.10
  1. サーバーを再起動します。

ネットワークアダプタのDNS自動登録の無効化

名前解決に使用しない側のネットワークアダプタでDNS自動登録を無効化します。
今回の構成例では、NIC2 側で設定を行います。

  1. 名前解決に使用しない側のネットワークアダプタのプロパティを開きます。
  2. インターネットプロトコル バージョン4(TCP/IPv4)を選択し、プロパティを開きます。
  3. 「全般」タブを選択し、詳細設定ボタンをクリックします。
  4. 「DNS」タブを選択し、この接続のアドレスをDNSに登録する のチェックを外します。

    ADマルチホーム構成 DNS自動登録

DNSラウンドロビンの無効化

DNSラウンドロビンを無効化する必要はありません。
理由は後述します。

DNSレコードの削除

DNSマネージャーを開き、不要なDNSレコードが登録されている場合は削除します。
今回の例では、NIC2側(192.168.200.10)のAレコードを登録されていた場合は削除を行い
NIC2側(192.168.200.10)のAレコードのみ登録されている状態にします。

ちなみに、これまでに記載した設定が正しく行われていない場合
不要なDNSレコードの削除を行っても、しばらくすると自動的に再登録されます。

設定が正しく行われているか確認するためにも
数時間後にDNSの登録状態を再確認した方が安全です。

補足事項

名前解決の動作やDNSラウンドロビン設定について補足します。

マルチホーム環境で通信に失敗する理由

前提として、ドメインコントローラーのIPアドレスに対しての通信であれば
問題が発生することはありません。

ドメインコントローラーのホスト名やFQDN名に対しての通信
つまり名前解決が必要になる通信が発生した場合に問題が発生する可能性があります。

まず本記事の設定を行っていない場合、
ドメインコントローラーのDNSには以下のように2つのAレコードが登録されます。
※ドメインコントローラーのホスト名が Server01 とした場合

名前種類データ
Server01Host (A)192.168.100.10
Server01Host (A)192.168.200.10

このような環境で、Server01 というホスト名に対して通信が行われると
DNSのラウンドロビン機能により、192.168.100.10、192.168.200.10 のうち
どちらかのIPアドレスが返ってくることとなります。

この場合、ネットワーク環境によっては通信に失敗します。
仮にルーティング設定がされておりどちらのIPアドレスにも通信が可能であったとしても
毎回異なる経路でドメインコントローラーと通信を行うというのは
ネットワーク的にあまりイケていない状態と言えます。

本記事で解説した設定を行うことで、DNSは以下のような状態となり
意図したネットワークでの通信とすることが可能となります。

名前種類データ
Server01Host (A)192.168.100.10

DNSラウンドロビンの無効化が不要な理由

Microsoft の公開情報 やネット上の古い記事には、DNSラウンドロビンを無効化する必要がある
といった情報がありますが、無効化する必要はありません。

これは、上述したようにDNSに2つのAレコードが登録されている場合
DNSラウンドロビン機能が動作する、ということからきている情報だと思われますが

本記事で解説した設定を行うと、DNSに登録されるドメインコントローラの
ホスト名とIPアドレスが 1:1 となるため、そもそもDNSラウンドロビン機能は動作しません。

そのためDNSラウンドロビン機能を無効にする必要はありません。

参考情報

Microsoft ドキュメント

Microsoft の以下サイトも参考にしてください。

参考書籍

基本的な知識となる Active Directory のインストール/削除オブジェクトやグループポリシーの構成、もう少し踏み込んだ サイトレプリケーションバックアップ 等についても解説されている書籍です。

初心者~中級者まで、Active Directoryについての学習にはかなりオススメです。

created by Rinker
¥3,520 (2021/06/15 13:48:31時点 Amazon調べ-詳細)

にほんブログ村 IT技術ブログへ
にほんブログ村


コメント