NTP Network Time Protocol

ネットワークを利用し、正しい時間を取得するプログラムです。

FreeBSD10.x以降にディフォルトで入っているntpを使用し、ネット上のタイムサーバを介して時計を調整します。設定すればLAN内のPCの時計をサーバと同期させることも出来ます。

☆ インストール

FreeBSD10.xには元から入っているので設定するだけです。

それ以前のOSに関してはインストールする必要があります。

cd /usr/ports/net/ntp/
make install clean && rehash

☆ rc.conf の設定

実際に起動させるのはまだ先になるが、大した手間でもないのでとりあえず設定しておく。

vi /etc/rc.conf
ntpd_enable="yes"

確認も兼ねて起動。

/etc/rc.d/ntpd start

ここでエラーが出ないなら問題ない。

☆ 設定ファイルの編集

編集すると言っても、公開NTPサーバを設定するだけですけどね。

vi /etc/ntp.conf
server ntp.nict.jp iburst
server ntp1.jst.mfeed.ad.jp iburst
#server 0.freebsd.pool.ntp.org iburst maxpoll 9
#server 1.freebsd.pool.ntp.org iburst maxpoll 9
#server 2.freebsd.pool.ntp.org iburst maxpoll 9

ディフォルトで設定されている内容に関しては、別にコメントアウトしなくても良いのかもしれない。その辺は自己判断で。
新たに設定した公開NTPサーバの内容については後記する。

restrict 192.168.1.0

『restrict』の設定がある部分に追記しておく。IPアドレスは自分の環境に合わせて設定する。この設定をすることで、LAN内のPCから時間の同期が取れるようになる。

とりあえずこれで設定終了。

ついでに再起動と動作確認。

/etc/rc.d/ntpd restart
ntpq -p

この場合、結果が2行表示され、先頭に『*』の印がある行があるならば問題ない。
行の先頭に何も表示されないようなら、時間を開けて『ntpq -p』コマンドを再度実行。

◆追記

時間のズレが大きいと、ntpdをstartしても途中で停止してしまうようです。startさせた筈なのにrestart時に起動して無かったと警告が出たり『ntpq -p』のコマンドが実行されないなどの場合は『date』コマンドで現在PCに設定されている時間を確認する。

時間を調整する場合は下のコマンドを実行。

ntpdate ntp1.jst.mfeed.ad.jp

このままのコマンドを使っても良し、お気に入りのNTPサイトが有るなら、そちらを選ぶも良し。

☆ cronへの登録

ソフトウエア側の時間調整をするのは当然だが、
ntpは、OS起動・再起動時にハードウエアの時間を参照するそうで、ハードウエアの時間も定期的に調整する必要がある。

crontabの比較的詳しい設定

vi /etc/crontab

設定は、最終行にでも書き込んでおけば良い。

10 2 * * * root /usr/sbin/ntpd
15 2 * * * root /usr/sbin/ntpdate -u 127.0.0.1

☆ 使用した公開ntpサーバ

上でちょっと語った通り、設定した公開NTPサーバ。

ntp.nict.jp
ntp1.jst.mfeed.ad.jp

 

役に立ちましたか?
  • 役に立った (0)
  • 少しだけ (0)
  • これじゃない! (0)