ntpd で時刻同期されない
前から、nptd で「Invalid argument」のエラーがでて、ntpq で調べると同期していないことがよくあった。
sendto(210.173.160.87) (fd=23): Invalid argument: 84 time(s)
# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== ntp-b2.nict.go. .NICT. 1 u 4d 1024 0 28.833 -0.974 0.000 ntp-b3.nict.go. .NICT. 1 u 4d 1024 0 28.564 -0.524 0.000 ntp3.jst.mfeed. 133.243.236.20 2 u 4d 1024 0 24.476 -0.475 0.000 *LOCAL(0) .LOCL. 13 l 22 64 377 0.000 0.000 0.001
再起動すると正常に同期するが、また何日かすると同じエラーがでて同期していないということが続いたのでちょっと調べた。すると以下のメーリングリストに全く同じ現象の質問があり、回答もあった。
今のNTPDは自ホストのIPアドレスがDHCP等によって変化した場合、再起動が必要なようです。
(http://lists.ntp.isc.org/pipermail/questions/2005-August/006340.html あたりにありました)sendto(x.y.z.w): Invalid argumentというメッセージがログに多発しているようならこの問題かも知れません。対策はインターフェースがアップし直す度にインターフェースの起動スクリプトからNTPDも再起動せよということのようです。
なるほど、こちらのIPが変わるとダメなようだ。
pppoeの再起動シェルにntpを再起動する処理を追加した。これで少し様子を見てみる。