インストールメモ [ntpd によるタイムサーバー] 1.設定ファイルの作成 FreeBSD 2.2.8R の場合、標準で ntp が組み込まれているので /etc に設定ファイルを作成 すれば、すぐに使用出来る様になっています。 設定ファイルは /etc/ntp.conf です。 オフセットを記録する /etc/ntp.drift も作ってお きましょう。 # cd /etc # touch ntp.conf # touch ntp.drift # vi ntp.conf 設定ファイル(ntp.conf)は以下の様に書きました。 外部より時刻情報を取得して自分の時間を同期させ、同一セグメント内に時間情報をブロード キャストする場合。(サーバーとして設定する場合) # ntp.conf server clock.nc.fukuoka-u.ac.jp <-- 上流に指定するサーバー server clock.tl.fukuoka-u.ac.jp <-- 上流に指定するサーバー broadcast 210.228.136.159 <-- 情報を垂れ流すブロードキャストアドレス driftfile /etc/ntp.drift <-- オフセット情報を記録するファイル 上流に指定するサーバーはいくつでも指定出来ます。問い合わせ時に ntp が一番良いと思う 所を選択してくれます。(遅延が少ない所) /etc/drift は何も書かなくて良いです。 2.時刻の設定 ここで、xntpd を走らせてしまうと、サーバーとの時間差が大きかった場合同期されるまでに 時間がかかってしまうため、一度サーバーと時間を合わせます。 # ntpdate clock.nc.fukuoka-u.ac.jp この時点でサーバーと時間が一致します。 3.起動ファイルの修正 ブート時に自動的に xntpd が起動するように /etc/rc.conf を書き換えます。 # cd /etc # vi rc.conf xntpd_enable="YES" # Run xntpd Network Time Protocol (or NO). 上記の様に xntpd_enable を "YES" に書き換えます。 4.リブート 設定を有効にして xntpd を動作させる為に1度リブートします。 # su - # shutdown -r now 5.確認 ps -aux でプロセスをしらべて、xntpd があればOKです。 さらに、10分くらいしてから ntpq で同期状態を確認してみましょう。 % ntpq -p remote refid st t when poll reach delay offset disp ============================================================================== 210.228.136.159 0.0.0.0 16 u - 64 0 0.00 0.000 16000.0 *clock.nc.fukuok .GPS. 1 u 55 64 377 86.79 -33.473 10.18 +clock.tl.fukuok .GPS. 1 u 40 64 377 83.37 -30.507 11.54 上記の様な結果が出てくるはずです。 これは先頭に * が付いているタイムサーバーに同期しているという事です。 + は、候補に入っているが選択はされてない状態です。 6.クライアントの設定 同一セグメント内に時間情報をブロードキャストしているのですから、クライアントはその 情報に同期を取ればいい事になります。 サーバーと違うのは /etc/ntp.conf だけです。 /etc/ntp.conf (ブロードキャストクライアントと設定する場合) # ntpd.conf broadcastclient driftfile /etc/ntp.drift あとはサーバーと同じ様に /etc/ntp.drift を作成して、/etc/rc.conf を修正して、ntpdate で一回時間を合わせてリブートすればOKです。 今回の例では、クライアントがサーバーと同期が取れると ntpq -p は以下の様になります。 remote refid st t when poll reach delay offset disp ============================================================================== *ns1.rthunter.gr clock.nc.fukuok 2 u 15 64 377 0.46 -27.007 3.01 これでサーバー(ns1.rthunter.gr.jp)と同期が取れている事が分かります。