■しばらくサーバー設定をほったらかしにしていたので忘れていたのですが、NTPサーバーを整備することが残っていました。本当は自前でGPSのPPSを拾って時刻合わせするタイムサーバーを立てたいのですが、うちの環境だと全天を捕捉することができないので精度がもともとでないことと、今のPCだとシンプルな外部割込みを受けられるI/Fがないので難しい。ラズパイみたいにプリミティブなI/Oがないと無理だろうなと思う。LinuxカーネルにはPPSを受けるモジュールは存在しているのだけど、デバイスドライバとしては中途半端な感じで、セントロニクスのプリンタインタフェースをトリガに使えるものがあったりするのだけど、セントロニクスなんてRS232Cより先に無くなっている。
とりあえずシンプルにNTPサーバーの設定から。ふつうに外部NTPサーバーを指定して、LANからの参照を許可する、という設定としてはそれだけ。昔もNTPサーバーの設定はした覚えがあるのですが、その時はfudgeの意味など理解しておらず、あやふやなままだったのですが今回はそのあたりクリアになりました。ntp.confの設定解説はよそに譲るとして、NTPの外部参照状態はこのような感じになっています。
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
-orion.asahi-net 202.224.32.12 2 u 75 1024 377 8.339 0.392 2.456
-ntp1.jst.mfeed. 172.29.3.50 2 u 769 1024 377 8.150 0.247 1.878
+ntp2.jst.mfeed. 172.29.1.100 2 u 990 1024 377 8.056 -0.983 1.442
+ntp3.jst.mfeed. 172.29.3.50 2 u 1042 1024 377 9.574 -0.860 1.321
-udon.nict.go.jp 133.243.238.163 2 u 981 1024 377 10.562 0.419 1.644
+einzbern.turena 133.243.238.163 2 u 851 1024 377 9.412 -0.264 1.611
+extendwings.com 133.243.238.244 2 u 879 1024 377 9.792 -0.664 2.284
+laika.paina.jp 131.112.181.48 2 u 941 1024 357 9.223 -1.231 1.110
*60-56-214-78f2. .GPS. 1 u 143 1024 377 20.525 -1.915 1.261
LOCAL(0) .LOCL. 5 l - 64 0 0.000 0.000 0.000一番下にある"LOCAL(0)"がfudge指定によるもので、ネットワーク障害で外部参照できなかったときのフォールバック指定になっています。ntp.confでは次のように指定しました。よくある解説通りの設定です。
server 127.127.1.0 # local clock fudge 127.127.1.0 strutum 10
Copyright (C) 2008-2015 Satosh Saitou. All rights reserved.