Windows Server 2012 R2 Essentials の時刻同期を設定する~AD DS BPA のエラー

Windows Server 2012 R2 Essentialsのサーバー マネージャーを開いたところ、AD DS(Active Directory ドメイン サービス)のBPA 結果に「有効なタイム ソースから取得される時刻に正しく同期するよう構成されていません」とのエラーが表示されていました。
今回はWindows Server 2012 R2 Essentialsにおける時刻同期の設定についてメモ。

3行で分かる、この記事の内容!

  • Windows Server 2012 R2 Essentialsの初期状態では、時刻はHW クロックと同期している
  • ドメイン環境のため、サーバとクライアント間で一定以上の時刻のズレがあると認証トラブルが発生する可能性がある
  • インターネット上のタイムサーバと時刻同期の設定をしよう!

AD DS BPA のエラー結果 内容

[サーバー マネージャー]のAD DS欄に表示されたエラー内容は下記の通りです。
  • タイトル:
    このフォレストの PDC エミュレーター マスター ServerName.DomainName.local を、有効なタイム ソースから取得される時刻に正しく同期するよう構成することをお勧めします
  • 重要度
    エラー
  • 問題:
    このフォレストのプライマリ ドメイン コントローラー (PDC) エミュレーター操作マスターは、有効なタイム ソースから取得される時刻に正しく同期するよう構成されていません。
  • 影響:
    有効なタイム ソースから取得される時刻に正しく同期するよう構成されていないと、このフォレストの PDC エミュレーター マスターにおける時刻同期処理に内部クロックが使用される可能性があります。このフォレストの PDC エミュレーター マスターが停止または使用不能な状態になった場合は、(フォレスト ルート ドメインに信頼できるタイム サーバー (GTIMESERV) を構成していない限り) このフォレストにある他のメンバー コンピューターおよびドメイン コントローラーは時刻を同期できません。

日本のタイムサーバと時刻同期をする

BPA 結果の[解決方法]にも記載されているとおり、/configオプション付きw32tmコマンドを実行しインターネット上のタイムサーバと時刻同期が行われるよう設定します。
今回は
NICT(独立行政法人 情報通信研究機構)の公開NTPサービス
を利用します。
各設定は「AD DS: The PDC emulator master in this forest should be configured to correctly synchronize time from a valid time source」の通り行いました。

  • ファイアウォールのWAN側IN フィルタでNTP(TCP123)が受信できるよう設定
    イベントログに下記エラーが記録されている場合は、ファイアウォールの設定に問題がありますので設定を見直しましょう。
    • エラー内容:
      タイム プロバイダー NtpClient: 手動で構成されたピア ntp.nict.jp に 8 回連絡しましたが、有効な応答を受信しませんでした。このピアをタイム ソースとして破棄し、NtpClient はこの DNS 名で新しいピアを発見しようとします。エラー: ピアに到達できません。 
  • 管理者権限でコマンド プロンプトを起動
  • w32tmコマンドを実行し、NTPサービスと時刻同期をする
    >w32tm /config /computer:ServerName.DomainName.local /manualpeerlist:ntp.nict.jp /syncfromflags:manual /update
  • 設定状況を確認
    >32tm /query status /verbose
インターネット上のタイムサーバと時刻同期が正常に行われる事で[サーバー マネージャー]のエラーは消えました。
image

現状を知るためのw32tmコマンド

  • w32tm /query /status /verbose
  • w32tm /query /source
  • w32tm /monitor /domain:DomainName

ドメイン環境における「時刻同期が重要」な理由

以前、ドメイン環境において時刻のズレによる認証問題に遭遇しました。
私「クライアントPCからサーバへ急にアクセスができなくなった!どうすればいい?」
先輩「クライアントPCの現在時刻を教えてくれ」
私「クライアントPCの時刻はxx時xx分です」
先輩「DC(ドメインコントローラ)の時刻と10分以上ズレがあるからだね。クライアントの時刻を修正してください」
私「アクセスできました!!ありがとうございます」
この事例の技術的背景には、「Kerberos認証」と呼ばれる認証技術があり、ログオンするクライアントとサーバーのそれぞれの時刻を基に働く仕組みになっています。
既定では、5分以内の時刻のズレであれば、ドメイン コントローラは正しい(有効な)ユーザであることを証明するチケット(アクセス用トークン)を発行します。アクセスしたいサーバへチケットを渡し、サーバはチケットを検証、正しいチケットであれば初めてサーバにアクセスできるようになります。
簡単な説明ですが、ドメイン環境においてドメイン コントローラとシステム全体の時刻管理が非常に重要な理由は「ドメイン認証」を正常に行うためです。
余談:時刻同期に関するチューニング
Windows Time サービスの動作をチューニングしたい場合は、レジストリ値を操作する必要があるそうです。
マイクロソフトMVPでいらっしゃる小鮒さんの連載記事で丁寧に説明されております。
気になる方は是非読んでみてください。
運用 Windowsネットワーク時刻同期の基礎とノウハウ(改訂版) - @IT
スポンサーリンク

スポンサーリンク