2019 はついに Chrony の親となる
Active Directory ドメインにコンピューターが参加すると Network タイムサーバー -- まあ NTP サーバーは自動的にドメインコントローラー 1 号機が設定されます
もっと正確に言うと Active Directory で特別な役割を持つ FSMO のうち PDC エミュレーターの役割を持つドメインコントローラーが NTP サーバーとなります
何もしなければ FSMO の役割を持つドメインコントローラーは最初の 1 号機なので たいていは ドメインコントローラー 1 号機がこの役割を持ちます
PDC エミュレーターはドメインで 1 台だけ割り振られるお役目です
Active Directory の時刻同期は もともと Kerberos 認証のためにありました (らしぃ)
Active Directory 認証を正常に処理するには ドメインコントローラーとドメインメンバーの時刻の差異は 5 分以内である必要があったため Active Directory ドメイン内での時刻調整を行う目的であったわけです
だから精度はちっとも良くない
そのため ネットワーク機器の NTP サーバーにはだいたいなれず Linux の NTP サービス Chrony のサーバーにも長い間なれませんでした
(NTPD は同期できたんですが)
ところが最近 Windows Server 2019 が Chrony の NTP サーバーとして動作できることを発見しました!
Server 2016 まではどんなに頑張っても (それほど試してませんが) ダメだったのに…!
しかし Windows Server では 2012 R2 以降 時刻同期の精度を上げるべく変更を重ねてきました
(それ以前はあんまり詳しくナィ)
Server 2016 でも劇的に精度が向上しましたが まだ Chrony に同期を許すことはできませんでした
とうとう 2019 で Chrony の 親になれた模様です!
というわけで Windows Server 2019 Active Directory で Chrony と時刻同期した検証結果を記します
(特にすることないので検証はあっさりですが)
検証環境には AWS を使用しました (サーバーいっぱぃ買うお金がありません)
さて EC2 インスタンスを Windows Server 2019 で起動し Active Directory を構成して PDC エミュレーターの役割を持つドメインコントローラーを確認します
PowerShell でさっくり確認
PDCEmulator
---------------------
EC2AMAZ-XXXXXX.os2019.net
ドメイン名は安直に os2019.net だったり (笑) (け 検証だから…
では もうひとつ AWS Linux で EC2 インスタンスを起動し Chrony の NTP サーバーをこのドメインコントローラーに設定します
AWS 基盤の時刻同期システムは独自なので NTP サーバーの設定を変更するには以下の変更を行います
設定ファイルは /etc/chrony.conf です
まず 元の NTP 設定の口をふさぎます
変更前)
sourcedir /etc/chrony.d
変更後)
# sourcedir /etc/chrony.d
NTP サーバーとして Active Directory の NTP サーバーを追加します
server <Active Directory の NTP サーバーの IP アドレス> prefer iburst
同期しました!
$ chronyc tracking
Reference ID : 0A000453 (ip-10-0-X-XX.ap-northeast-1.compute.internal)
Stratum : 5
Ref time (UTC) : Mon Apr 03 03:14:28 2023
System time : 0.000009800 seconds fast of NTP time
Last offset : -0.007410805 seconds
RMS offset : 0.007410805 seconds
Frequency : 114.139 ppm slow
Residual freq : -0.000 ppm
Skew : 21.270 ppm
Root delay : 0.007636314 seconds
Root dispersion : 0.072426453 seconds
Update interval : 65.3 seconds
Leap status : Normal
$ chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* ip-10-0-X-XX.ap-northeas> 4 6 37 25 +1879ns[-7409us] +/- 114ms
Windows Server 2016 までは時刻同期システムは Windows VS. Linux + ネットワーク機器と分割されたりしましたが これで統一できそうですね!