NTPサーバーの構築(タイムサーバー)

1.はじめに

せっかく常時接続そしてサーバー設置となったらタイムサーバーも起こしたくなります。
外部にはイリジウムを使った物や、標準電波を受信して制度の良いタイムサーバーが誰でも利用できる
環境に有るのでコレを利用する以外に有りません。
PCの内部時計は御存知のとおり誤差がひどくそのままほおっておくと、だいぶズレますので自動で合わせましょう。
そしてサーバーの時計が制度良くなったのを利用してイントラ内は自宅サーバーをタイムサーバーとしてクライアントを
合わせるようにすれば、いちいちクライアントの台数分外部に時計合わせに行かなくて済みます。

2.サーバーの時計を外部のタイムサーバーで自動で合わせる

まず外部に有るタイムサーバーは以下のようなものがあります
国立天文台: cesium.mtk.nao.ac.jp (133.40.40.133)
高エネルギー物理学研究所: gps.kek.jp (130.87.32.71)
東京大学: ntp.nc.u-tokyo.ac.jp (130.69.251.23)
東京理科大学: ntp.sut.ac.jp (133.31.180.6)
東北大学: ntp1.tohoku.ac.jp (130.34.11.117)
東北大学: ntp2.tohoku.ac.jp (130.34.48.32)
豊橋技術科学大学: ntp.tut.ac.jp (133.15.64.8)
大阪府立大学: eagle.center.osakafu-u.ac.jp (157.16.213.52)
神戸港湾職業能力開発短期大学校: gps.kobe-pc.ac.jp (210.164.106.226)
広島大学: ns.hiroshima-u.ac.jp (133.41.4.2)
福岡大学: clock.nc.fukuoka-u.ac.jp (133.100.9.2)
福岡大学: clock.tl.fukuoka-u.ac.jp (133.100.11.8)
NTTソフト研: ntp.nttsl.mfeed.ne.jp (210.173.162.106)
他にも自分のプロバイダーで設置している場合があるので調べて見ましょう!
So-net,ASAHIなどはあります。
通常は「ntp.プロバイダードメイン名」で有る場合が多いです。

サーバーの時計はタイムサーバーとしてntpdを走らせる事により自動で合わせてくれます。

3.タイムサーバー稼働

タイムサーバーのソフトはfreeBSDの場合デフォルトで入っているntpdを使用します。

まずは設定
/etc/ntp.conf を編集する
server 外部タイムサーバーアドレス
driftfile /etc/ntp.drift
ここで指定する外部タイムサーバーアドレスと自動的に同期を取ってくれます
複数指定しても、自動的にBESTなサーバーと同期が取れると思います
また、ドメイン名ではなく、直接IPアドレスを指定しておきましょう

次にドリフトのダミーファイル作成
# touch /etc/ntp.drift

あとは起動するだけ
# /usr/sbin/ntpd

立ち上げ時に自動起動するには
/etc/rc.conf に以下の行を追加する
xntpd_enable="YES"
xntpd_flags="-c /etc/ntp.conf"
xntpd_program="/usr/sbin/ntpd"

4.クライアントマシン

Windowsマシンでしたらフリーソフトの桜時計などを利用するといいでしょう。
またメーラーにBeckeyを使用している人は私の友人がプラグインを作りましたので使って見てください。
但し、何が起こっても当方は一切責任は負いませんのでご了承下さい。
WindowsXPの場合はデフォルトでタイムサーバーにあわせに行く機能が有りますのでこれを利用するといいでしょう。
「コントロールパネル」の「日付と時刻のプロパティー」に「インターネット時刻」というタグが有りますのでそこで設定できます。
しかしデフォルトでは8時間おきだったか3日に1度か...せっかくイントラなのでもっと間隔を縮める事にします。
「HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Services \W32Time \TimeProviders \NtpClient」キーを開き
「SpecialPollInterval」というDWORD値のデータを変更する。
表記を「10進」に変更し,間隔を秒数で指定すればよい。
1時間に1度なら3600と言うことです。
これで、自宅内の時計は自宅サーバーと同期が取れます。