ITよろづや

ITから生活の参考になる情報を備忘録代わりに残していきます

社内の内部NTPサーバはWindowsServer(AD)、Linux CentOSのどちらが推奨か

会社でサーバーを構築する場合、直接外部にすべてのサーバがNTP同期することはないと思いますが、基本的には内部用のNTPサーバーを構築し、その他のサーバーは内部用のNTPサーバーを参照する構成になると思います、


その場合、LinuxサーバーがNTPサーバーになるケースが多いと思いますが、Windows ServerもNTPサーバーとして動作させることはできます。ただ、WindowsServerを社内の内部NTPサーバにしないほうがいい理由があります。


それは「精度」です。


マイクロソフトの公開されている情報ですが、それを表している文言があります。

 

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

https://support.microsoft.com/ja-jp/help/2722681


ちなみに、、Windows Time サービスの精度についてはこんな言及があります。

Windows Time サービスは、Kerberos 認証が正常に動作する範囲で NTP Client と NTP Server の時刻を同期することを主な目的とした、ゆるやかな時刻同期を提供する設計となっています。このため、Windows Time サービスにおいては、常に時刻差異が僅少である (1 秒単位の誤差など) 状態を保証することはできません。


そもそも、精度が高くないので、社内のNTPサーバは、LinuxCentOSを利用するようにしたいですね。ドメイン環境であれば、必然的にドメインコントローラーと同期することになってしまいますが。

 

※ちょっと古い情報で、Windows Server 2016以降は精度があがったと言われていますし、より細かい精度が求められる場合は、Windows Server 2019からPTPという新しいプロトコルも使えます。※NTPクライアントとの動作確認は必要ですが


後、slewモードの設定も簡単ではないので、色んな点を加味しても、内部、中継NTPサーバーはLinuxCentOSで構築したほうがいいですね。


ちなみに、LinuxCentOSでchronyを使ったNTPサーバーを構築することが個人的には多いですかね。例えば、勤怠システムとか時刻がずれると大変なことになるので、NTPサーバは基本的に冗長構成にしておいて、1台障害が発生しても引き続き、時刻同期できる構成にしておくといいですね。

 

中小企業で専属に立てるリソースがもったいない場合は、最近はコンテナ技術で、複数のサービスを立ち上げて利用するケースも増えていますので、効率よくサーバを使えばいいと思います。