定期的に時刻あわせを行うもう一つの方法が ntpd をdaemon として起動しておく方法。この場合、時刻あわせの server としても利用可能になる。なお、ntpd が稼働していると ntpdate は使えなくなるので注意が必要。
ntpd を利用するには /etc/ntp.conf の設定が必要になる。
server には ntp server のurl を列記し、最後に local host のアドレスを指定しておく。
driftfile は誤差調整用ファイル名の指定。
# vi /etc/ntp.conf
server ntp1.jst.mfeed.ad.jp
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp
# server 127.127.1.0
driftfile /etc/ntp/drift
誤差調整用ファイルを作成しておく。
# touch /etc/ntp/drift
daemon として起動する。
# /etc/rc.d/init.d/ntpd start
同期の確認は、ntptrace コマンドと、ntpq -p コマンドで行う。
ntp server は、stratum と呼ばれる階層構造になっており、原子時計などに直結している最上位の server を stratum 1、そこに同期しいる server を stratum2、以下 stratum3,4,...と続く。総務省で公開している server は stratum2 だが、 ntptrace は自分自身の階層と上位階層を trace してくれる。
# ntptrace
localhost.localdomain: stratum 3, offset 0.000055, synch distance 0.04765
ntp2.jst.mfeed.ad.jp: stratum 2, offset 0.016553, synch distance 0.02281
utc3.crl.go.jp: *Timeout*
次に、ntpq -p で同期状況を見てみる。
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
LOCAL(0) LOCAL(0) 5 l 19 64 377 0.000 0.000 0.008
+ntp1.jst.mfeed. utc3.crl.go.jp 2 u 62 64 177 30.362 16.473 5.084
*ntp2.jst.mfeed. utc3.crl.go.jp 2 u 56 64 377 28.360 14.813 0.702
+ntp3.jst.mfeed. utc2.crl.go.jp 2 u 49 64 377 28.491 13.179 1.232
同期している server 名の前には * が表示される。正常動作が確認できたので、再起同時にもサービスが起動するように、webmin あるいは setup で設定をしておく。
/sbin/hwclock --systohc を cron に設定しておく。
# crontab -e
15 0 * * * /sbin/hwclock --systohc
これで一日一回、午前0時15分にハードウェアクロックが同期される。
総務省 ntp server についての情報は、
Experimental NTP Servers (Public Stratum 2) で確認できる。
また、世界中での stratum1 および stratum2 の server 一覧は
Public NTP Time Servers で確認できる。
Jun.12 2006
独立行政法人情報通信研究機構(NICT)は、NICTが独自に開発した世界最高性能のインターネット用時刻同期サーバを用いて、平成18年6月12日からインターネットを介した日本標準時配信サービスを開始しました。
独立行政法人情報通信研究機構
概要、設定方法は
こちら
個人ユーザでも、stratum 1 にアクセス出来ます。
ntpd の場合
/etc/ntp.conf に次の3行を加えればOK。
server -4 ntp.nict.jp
server -4 ntp.nict.jp
server -4 ntp.nict.jp
(同じ内容を3行書くのが重要)
"-4" は強制的に IPv4 を使用するためのオプション。もし、IPv6 で接続可能でしたら無くても構わない(その場合、IPv6 が優先される場合が多いと思われる)。