見出し画像

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 でさっくり確認

Get-ADDomain | Select-Object PDCEmulator

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 + ネットワーク機器と分割されたりしましたが これで統一できそうですね!


この記事が気に入ったらサポートをしてみませんか?