SEブログ

【Windows Server 2019】NTPサーバーと同期する方法

 

こんにちは!SE ブログの相馬です。

 

 

 

今回は、Windows Server 2016 で NTP サーバーと同期する方法について書きました。

 

 

時刻同期はとても重要です。というのは、時刻同期に不整合があると様々な問題が出る為です。

 

 

例えば、金融関連の取引がそうでしょう。時刻同期がほんの少しでもずれると大変な問題になるかと思います。

 

 

例えばサーバーがハッキングされた場合、被害にあったサーバーで時刻同期にずれがあると、ログの時刻が実際に被害にあった時刻ではない事になってしまいます。そうなると調査が困難になるかもしれません。

 

 

また Active Directory 環境でドメインに参加しているクライアント PC がドメインコントローラと時刻同期がされておらず、5 分以上の時刻のずれがあると認証やグループポリシーの適用に問題が発生します。

 

 

ですので、時刻同期は非常に重要になります。特にサーバーなどは監視ツールを入れて時刻同期に問題がないかチェックし、閾値を超えたらアラートを出すなど必要があるかと思います。

 

 

また、タイムサーバーはハッキングされる対象になりやすいので、ドメインコントローラから直接、インターネット越えの NTP に見に行かずに別の方法で同期するなど工夫している企業もあります。

 

 

また、Active Directory には FSMO という役割があります。その中でも時刻管理をしている役割が PDC エミュレーターになります。

 

【Active Directory】FSMOについてまとめてみました

 

 

それでは早速始めましょう。Active Directory ドメインに参加している場合とそうでない場合によって時刻同期の方法が異なりますが、まずは時刻同期の設定値の確認をしたほうが良いでしょう。

 

 

 

スポンサーリンク

時刻同期の設定値を確認する

 

 

まずは対象の PC やサーバー上で以下のコマンドを実行しましょう。

 

w32tm /query /configuration

 

 

以下が、ドメインに参加した状態での設定値です。Nt5DS と表示されていますよね。これはドメインコントローラから時刻同期されているという状態です。

 

 

 

以下が、ドメインに参加していない状態での設定値です。NTP と表示されていますよね。これが設定されている NTP サーバーと同期しているという状態です。

 

 

 

設定値の詳細については、Microsoft のサイトが参考になるので 引用しました。

 

Windows Time サービスにおける時刻同期の仕組み | Microsoft

 

同期方法 / 同期先について
時刻同期方法、時刻同期先サーバーについての設定は、以下のレジストリに格納されています。

レジストリ キー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
値 : type
設定値 :
Nt5DS = ドメインの階層に従い、時刻同期を行います。
クライアント端末 – ログオン先のドメインコントローラと時刻同期を行います。
各ドメイン コントローラー – ドメインの PDC エミュレータと時刻同期を行います。
子ドメインの PDC エミュレータ – 親ドメインの PDC エミュレータ、またはドメインコントローラと時刻同期を行います。
NTP = 手動で設定された時刻同期サーバーと同期します。時刻同期先は同じレジストリ キー配下の NtpServer 値で設定されます。
NoSync = 時刻の同期を行いません。

 

 

 

スポンサーリンク

Active Directory ドメインに参加している場合

 

 

特に何もしなくても、メンバーサーバーや クライアント PC は自動的にドメインコントローラと時刻同期をします。

 

 

以下のコマンドを実行してソースの箇所が NTP サーバーになっていれば問題ないと思います。この状態でも時間がずれているようであればドメインコントローラと正しく通信ができていないと思われますので、トラブルシューティングが必要になります。

 

w32tm /query /status

 

 

 

 

Active Directory ドメインに参加していない場合

 

 

手動で設定する必要があります。以下のとおり設定しましょう。

 

w32tm /config /manualpeerlist:サーバーのホスト名かIP,0x8 /syncfromflags:manual /reliable:yes /update

 

 

上のコマンドを実行したら、以下のコマンドを実行してソースの箇所を確認しましょう。

 

w32tm /query /status

 

 

 

また、設定値を反映させるために、Windows のサービスである Windows Time を再起動しましょう。

 

 

 

 

スポンサーリンク

まとめ

 

 

以上になります。いかがでしょうか。

 

 

時刻同期はとても重要ですので、ドメインに参加しない PC やサーバーがあれば時刻同期先はどこを指定するのかを事前に確認しておきましょう。

 

 

そうする事によって、不要なトラブルの対応に追われずにすみます。

 

 

それでは最後までお読みいただきありがとうございました!