用意するもの
FreeBSDの場合は特になし
NTPの接続サーバには国内ではNICTかMFEEDを利用するのがよいでしょう。
どちらを利用するかは経路の近い方を選らんでください。
ntpdを起動するにあたって、内蔵時間があまりにもずれ過ぎていると
起動しないらしいので、先にntpdateでずれを修正します。
# ntpdate ntp.jst.mfeed.ad.jp
手動でNTPサービスを起動する場合は
# /etc/rc.d/ntpd start
で起動します。
設定を変更したら、
# /etc/rc.d/ntpd restart
で再起動させます。
次回マシン起動時から自動でntpdが起動します。
※ntpdが古い場合は -4 オプションを受け付けないことがあるので
その場合は付けないか、ntpdを最新にアップデートしてください。
動作確認
$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp1.jst.mfeed. 210.173.160.86 2 u 99 128 377 15.529 -2.307 0.328
+ntp2.jst.mfeed. 133.243.236.20 2 u 113 128 377 16.100 -2.119 0.682
+ntp3.jst.mfeed. 210.173.176.251 2 u 109 128 377 15.300 -2.475 0.710
しばらくすると上記のようにremoteの欄の先頭に*や+がつきます。
*が同期中のサーバ、+は同期していないが精度が確保されたもの。
先頭に何もないのは同期準備中か利用できないサーバ。
when は前回参照から経過した秒数
poll は参照する間隔(秒数)
offset はNTPサーバとのずれ(ミリ秒)
その他はマニュアルをみてください。
時間と共にoffsetが小さくなりより正確になっていきます。
さて、このままですとこのNTPサーバにだれでもアクセスできるようになります。
プライベートなLANで使うならばこのままでも問題にはならないでしょう。
もしグローバルに出すならばアクセス制限をしないと無駄な帯域を使われてしまいます。
制限するには/etc/ntp.confでrestrictを使います。
まずは誰も使えないように制限して必要なIPを後ろに追加する形になります。
なお、接続する上位のNTPサーバも忘れずに指定しないと、
NTPサーバ間の通信もできないので同期しなくなります。
この例では192.168.2.20などからは許可されるので、
桜時計を使ってWindowsから確認してみましょう。
ホスト確認エラーがでる場合はDNSで名前解決ができていないので、
プライベートのDNSを設置するかもしくはhostsファイルに追加します。
Windowsディレクトリ(XPならばC:\WINDOWS)の中にある
system32\drivers\etc\hosts にNTPサーバのIPを登録します。
標準ではlocalhostしか登録されていません。
C:\windows\system32\drivers\etc\hosts
192.168.2.31 minerva.peach.ne.jp.private
これで桜時計でも設定されるようになります。
NICTを選んだ場合 /etc/ntp.conf server -4 ntp.nict.jp iburst server -4 ntp.nict.jp iburst server -4 ntp.nict.jp iburst driftfile /var/db/ntpd.drift MFEEDを選んだ場合 /etc/ntp.conf server -4 ntp1.jst.mfeed.ad.jp iburst server -4 ntp2.jst.mfeed.ad.jp iburst server -4 ntp3.jst.mfeed.ad.jp iburst driftfile /var/db/ntpd.drift 共通事項 /etc/rc.conf ntpd_enable="YES" アクセス制限の例 /etc/ntp.conf . . . # まずはすべてのアドレスからの利用を禁止 restrict default notrust nomodify noquery ignore # ループバック(自分自身)からは許可 restrict 127.0.0.1 mask 255.255.255.255 # プライベートからは問い合わせのみ可能 restrict 192.168.2.0 mask 255.255.255.0 nomodify noquery # ntp.jst.mfeed.ad.jp のサーバは許可 restrict 210.173.160.27 mask 255.255.255.255 restrict 210.173.160.57 mask 255.255.255.255 restrict 210.173.160.87 mask 255.255.255.255 . . . ※あくまで例ですので自分のIPアドレスなどに合わせて書き換えしてください。
検索エンジンからの訪問が多いので補足しておきます。 設定するNTPサーバには複数のstratumを混ぜないように注意します。 上位のstratumは精度が悪くても優先されます。(ntpq -pで表示されるstフィールドの値をみてください) driftfileは起動時になくても自動的に作成されます。以後1時間毎にこのファイルが更新されます。 ラウンドロビンになっているIPを調べるには、hostコマンドを利用します。
# host ntp.nict.jp ntp.nict.jp has address 133.243.238.243 ntp.nict.jp has address 133.243.238.244 ntp.nict.jp has address 133.243.238.163 ntp.nict.jp has address 133.243.238.164 ntp.nict.jp has IPv6 address 2001:2f8:29:100::fff4 ntp.nict.jp has IPv6 address 2001:2f8:29:100::fff3
こんな感じでIPアドレスがまとめて取得できます。上記は2007年11月5日の情報です。
国内NTPサービス: NICT 公開 NTP サービス インターネットマルチフィード時刻情報サービス