【Active Directory入門 Part3】Active DirectoryとDNS

この記事の内容

  • Active DirectoryがDNSと深く統合して動作しており、DNSなしではADは機能しないことを解説します
  • DNSの前方参照ゾーンにあるSRVレコードの役割と、ドメインコントローラーの位置情報がどのように管理されているかを説明します
  • シングルフォレスト・シングルドメイン構成に加え、子ドメイン(サブドメイン)とツリードメインの違いを実機デモで確認します
  • _msdcs.ad.local ゾーンがフォレスト全体に複製される理由と、その重要性を解説します
  • ツリードメイン追加時に発生するDNS名前解決の問題と、条件付きフォワーダーによる解決手順を紹介します

DNSマネージャーでActive DirectoryのDNS構成を確認する

Active DirectoryはDNSを使って動作しています。まずはDNSマネージャーを使って、その構成を確認してみましょう。

DC01サーバー上でDNSマネージャーを起動すると、DC01が接続されています。DNSマネージャーは複数のサーバーに接続して管理できるため、DC02など他のサーバーに接続して情報を確認することも可能です。

DNSマネージャーを展開すると、以下のような項目が確認できます。

  • 前方参照ゾーン
  • 逆引き参照ゾーン
  • トラストポイント
  • 条件付きフォワーダー

前方参照ゾーンとADドメイン名の対応

まずは前方参照ゾーンを見ていきましょう。この環境はシングルフォレスト・シングルドメイン構成であり、フォレスト名・ドメイン名ともに ad.local です。

DNSにも ad.local という名前の前方参照ゾーンが存在しており、ADのドメイン名とDNSのドメイン名が一致している状態になっています。

ゾーン内には以下のようなレコードが登録されています。

  • ドメインコントローラーのDC01、DC02のAレコード
  • メンバーサーバーやドメイン参加済みPCのAレコード(PCname.ad.local 形式)
  • ネームサーバーレコード(NSレコード)

これらはいずれも通常のDNSの仕組みによるものです。

SRVレコードの役割

通常のDNSの話と異なる重要な要素が、ゾーン内にある _msdcs_tcp_udp といったサブドメイン配下のレコードです。

これらの中には、SRVレコードが含まれています。SRVレコードには以下のような情報が記録されています。

  • どのサーバーがドメインコントローラーであるか
  • どのポート番号でアクセスできるか
  • Kerberosや各種サービスのエンドポイント情報

クライアントはDNSを参照してSRVレコードを確認することで、ドメインコントローラーの場所を特定できます。

また、SRVレコードには重み付けも設定でき、「このDCを優先的に使え」「同じ重みで使え」といった制御も可能です。

_msdcs.ad.local ゾーンの特別な役割

DNSマネージャーには _msdcs.ad.local というゾーンがあります。これはフォレストレベルで重要な情報を格納するゾーンです。

このゾーンにはGUIDとドメインコントローラー名の変換情報などが含まれており、このゾーンが存在しないとActive Directoryは正常に動作しません。

後述するマルチドメイン構成の説明の通り、このゾーンはフォレスト全体のすべてのDNSサーバーに複製される設定になっています。これにより、どのドメインのDNSサーバーからでもフォレストのDC情報を参照できます。

なお、ad.local ゾーンはドメイン内のDNSサーバーにのみ複製されますが、_msdcs.ad.local ゾーンはフォレスト全体に複製される点が異なります。

AD統合モードDNSについて

ad.local ゾーンのプロパティを確認すると、「アクティブディレクトリ統合」と表示されています。これはDNSのゾーン情報がADのデータベース内に格納され、ADの複製機構を使ってDNS情報も複製される仕組みです。

レプリケーションスコープは以下のように選択できます。

  • このドメインのすべてのDNSサーバー — ドメイン内のDCにのみ複製
  • このフォレストのすべてのDNSサーバー — フォレスト全体のDCに複製

ad.local のドメイン固有のゾーンはドメイン内のみ、_msdcs.ad.local のフォレストゾーンはフォレスト全体に複製されます。

シングルフォレスト・マルチドメイン構成へ — 子ドメインの追加

ここからは子ドメインを追加して、マルチドメイン構成でのDNSの動きを確認していきます。

DC03サーバーをドメインコントローラーに昇格し、sub.ad.local という子ドメインを追加します。

AD DSのインストール手順

  1. サーバーマネージャーから「役割と機能の追加」を開く
  2. 「Active Directoryドメインサービス」を選択してインストールする
  3. インストール完了後、「このサーバーをドメインコントローラーに昇格する」をクリックする

ドメインコントローラー昇格ウィザードの設定

昇格ウィザードでは以下の選択肢があります。

  • 既存のドメインにDCを追加する — 既存ドメインに3台目のDCを追加する場合
  • 新しいドメインを既存のフォレストに追加する — 今回はこれを選択
  • 新しいフォレストを作成する — 完全に独立した新しいフォレストを作る場合

「新しいドメインを既存のフォレストに追加する」を選択した場合、ドメインの種類として以下を選べます。

  • 子ドメイン — 既存ドメインのサブドメインとして追加(例: sub.ad.local
  • ツリードメイン — DNS的なつながりのない独立したドメイン名を持つが、同じフォレストに属する(例: ebisuda.com

今回は子ドメインを選び、sub.ad.local を作成します。ドメインの機能レベルはWindows Server 2016、DNSサーバーとグローバルカタログサーバーも有効にします。

サイトの設定では、フォレストレベルの情報であるため、親ドメインで作成したサイト(デフォルトファーストサイト名)が表示されます。

インストールおよびDC昇格が完了すると、サーバーは自動的に再起動します。

子ドメイン追加後のDNS構成の変化

sub.ad.local の追加後、親ドメインのDNSマネージャー(DC01)でゾーンを確認すると、ad.local ゾーン内に sub という委任レコードが自動的に作成されています。

これは子ドメインのネームサーバー(DC03)への委任を示すもので、子ドメインの場合はウィザードが自動的にDNSの委任レコードを作成してくれます。

DC03側のDNSを確認すると、sub.ad.local というゾーンが作成されており、DC03がそのゾーンの権威サーバーになっています。

ツリードメインとサブドメインの違い

ドメインの種類の選択で「ツリードメイン」を選ぶと、DNS的なつながりのない独立したドメイン名(例: ebisuda.com)を同じフォレストに追加できます。

:ad.l:o:caads:l.ulbeo.bcaiadsl.uldoac.aclomDNDSNS

ツリードメインの場合、一見するとDNS名の関連がないため「別の組織のドメインでは?」と思われがちです。しかし、同じフォレストに属しているため信頼関係は自動的に結ばれており、相互に認証が可能です。

このため、フォレストのドメイン構成を正確に把握することが重要です。名前だけ見るとつながっていないように見えても、実はフォレスト内で信頼関係がある、というケースが存在します。

ツリードメイン追加時のDNSトラブルと条件付きフォワーダーによる解決

DC04に ebisuda.com のDCを追加した場合、子ドメインと異なりDNSの委任が自動作成されません。そのため、ad.local 側のDCからは ebisuda.com の名前解決ができず、複製(レプリケーション)が失敗する問題が発生します。

#dcDdCiag

診断結果には「ドメインコントローラーが見つからない」「サービスプリンシパル名を登録できない」「レプリケーションに失敗した」といったエラーが表示されます。

条件付きフォワーダーの設定手順

この問題を解決するには、条件付きフォワーダーを設定します。「ebisuda.com への問い合わせはDC04(10.1.1.4)に転送する」という設定です。

  1. DNSマネージャーの左ペインで「条件付きフォワーダー」を右クリック
  2. 「新規条件付きフォワーダー」を選択
  3. DNSドメインに ebisuda.com を入力
  4. マスターサーバーのIPアドレスに 10.1.1.4 を入力
  5. 「このフォレストのすべてのDNSサーバーに条件付きフォワーダーをADに保存して複製する」にチェックを入れる

この設定をフォレスト全体に複製することで、フォレスト内のすべてのDNSサーバーが ebisuda.com の問い合わせをDC04に転送できるようになります。

複製の確認

設定後、サイトとサービスから複製を実行すると、_msdcs.ad.local ゾーンがDC04にも複製され、レプリケーションが正常に完了します。

まとめ

今回はActive DirectoryとDNSの統合について、以下のポイントを解説しました。

  • Active DirectoryはDNSなしでは動作しない — クライアントはDNSのSRVレコードを参照してDCを特定します
  • SRVレコード — DCの場所、ポート番号、サービス情報が格納されており、ドメイン参加やKerberos認証に必要です
  • AD統合DNSゾーン — DNSのゾーン情報がADのデータベースに格納され、ADの複製機構でDNS情報も自動的に複製されます
  • _msdcs.ad.local ゾーン — フォレスト全体に複製される特別なゾーンで、このゾーンがないとフォレスト全体のレプリケーションが停止します
  • 子ドメインとツリードメインの違い — 子ドメインはDNS的な親子関係があり委任が自動作成されますが、ツリードメインはDNS的なつながりがなく、条件付きフォワーダーなどで名前解決を別途設定する必要があります

Active DirectoryのDNSは複雑に見えますが、「DNSで名前解決ができる状態を全ドメインで整える」という原則を守ることが、安定したAD環境の基本です。

次回はディレクトリサービスの中核となるユーザー・コンピューター管理とLDAPによる認証について解説します。