RTX810をSNTPサーバにする(+DHCPでオプション配布)
定期的に ntp.nict.jp と同期させるconfigを追記。
SNTPとNTPの違いについて
すみません詳しく分かってません。
- SNTPは時刻合わせの時の問い合わせ回数を何回も行ったりせず、1回で終える
- SNTPとNTPはクライアント/サーバのどの組み合わせでも互換性がある?
という事は分かった。
config
sntpd service on dhcp scope option <scope_num> ntp_server=<RTX810のIPアドレス>
あと定期的に ntp.nict.jp と同期させたかったら、以下で土曜日の5時に同期する。
schedule at 1 */Sat 05:00 * ntpdate ntp.nict.jp
ただ、この設定には問題もある。
詳しくは後述の「時刻の戻りが発生してしまう懸念」の項を参照。
クライアント側の設定
時刻の戻りが発生してしまう懸念
前提とするconfigを紹介しなかったためにいきなり感がひどかった。
ntpdateコマンドでいきなり時刻を変更してしまっているので、
時計が進んでいた場合時刻が戻ってしまう。
それによってアプリケーションで後に取得した時間なのに前に取得した時間より早くなったりして、様々な不都合が発生する*1。
ただこれはRTX810本体のみの問題*2で、通常NTPクライアントは時刻の戻りが発生しないようになっている。
時刻が早まっている場合は段々と時計の進みを遅らせて正しい時刻になったらいつも通りの進みの早さに戻る。
これをslewモードと言う。
反対に徐々に早めたり遅めたりせず、一気に時刻を設定してしまうモードをstepモードと言う。
Linuxのntpdは起動時に-xオプションを渡す*3事でslewモードになる。
詳しくはman 8 ntpdを参照。