FreeBSD 10.4 RELEASE - ntp サーバ設定

クラウディア 
 「ntp」についての説明は Wiki を御参照ください。
1. ports
2. /etc/ntp.conf 設定
3. /etc/rc.conf 設定
4. 起動スクリプトの修正
5. 時刻の同期を確かめる
6. トラブルシュート

1. ports

 ntpd はデフォルトでインストールされているものがありますが、セキュリティを考慮して、ports からインストールして、更新していくべきかと思います。

/usr/ports/net/ntp-devel

2. /etc/ntp.conf 設定

 ntp サーバのコンフィグレーションファイルは

/etc/ntp.conf
 です。  これには、自分の上位となる ntp サーバの IP アドレスを記述します。ntp サーバには stratum という階層構造があります。一般サーバの stratum は 3 か 4 に位置しますので、上位の ntp サーバには stratum 2 か 3 あたりのサーバを設定します。  通常は、プロバイダから少なくとも 1 つの ntp サーバアドレスを指示してくれているはずです、1 つはそのアドレスを設定します。  こちらを御覧になれば、ntp サーバについて情報が得られます。  上位の ntp サーバアドレスは通常、3つくらい選んでおきます。複数のサーバとの時刻差を計測することでより正確な時刻が得られます。  仮に、3つの ntp サーバの IP アドレスに 210.173.160.27129.250.35.251216.239.35.4 を使用するとすれば、以下をコメントアウトし

pool 0.freebsd.pool.ntp.org iburst
 最下行に以下のように記述します。

server  210.173.160.27
server  129.250.35.251
server  216.239.35.12
 ログファイルを残す場合は、以下の記述を加えます。

logfile         /var/log/ntpd.log
 ログファイルを残す場合、適切なタイミングでローテーションさせるようにします。(「2.3 newsyslog」参照)  LAN アドレスが、192.168.0.0 で、LAN 内のマシンに同期を許可する場合は、以下の記述を加えます。

restrict 192.168.0.0 mask 255.255.0.0     noquery nomodify nopeer notrap

3. /etc/rc.conf 設定

 ntpd が起動するように、/etc/rc.conf に以下の記述を書き加えます。

ntpd_enable="YES"

4. 起動スクリプトの修正

 ntp サーバの起動スクリプトは /etc/rc.d/ntpd です。この

command="/usr/sbin/${name}"
 の部分を

command="/usr/local/sbin/${name}"
 と書き換えます。  ここまで終わったら、

> /etc/rc.d/ntpd start
で、ntpd を起動します。

5. 時刻の同期を確かめる

 時刻の同期を確かめるには、

> ntpq -p
 というコマンドを使います。起動直後には、

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp1.jst.mfeed. 133.243.236.17   2 u    5   64    1   72.110  -14.910   0.000
 y.ns.gin.ntt.ne 249.224.99.213   2 u    4   64    1  141.553   10.960   0.000
 time4.google.co .GOOG.           1 u    3   64    1   98.573  -14.754   0.000
 のような表示になっていると思います。起動後、15分以上たたないと、時刻の同期は完了しません。

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ntp1.jst.mfeed. 133.243.236.17   2 u   17   64   37  111.331  -13.264  18.472
+y.ns.gin.ntt.ne 249.224.99.213   2 u   14   64   37  119.436   -6.548  18.840
*time4.google.co .GOOG.           1 u   14   64   37  144.255   -6.406  15.405
 という具合に、どれかひとつのホスト名の前に * マークが表示されれば時刻の同期は完了です。  ホスト名の前のマークが同期の状態を示していて以下の意味を持ちます。
マーク   意味  
'*'参照同期中であると宣言されたサーバ
'#'参照可能だが, 同期距離が遠いサーバ
'+'接続テストに合格し, いつでも参照可能なサーバ. 参照リストにある(好ましい)サーバ
' '同期を試み中, もしくはレスポンスがないため, 参照していないサーバ
'x'falseticker検査で, 参照リストから外れたサーバ
'-'クラスタリング検査で, 参照リストから外れたサーバ
'.'参照リストから外れたサーバ
'o'参照同期中であると宣言されたサーバ(同期はPPS信号から間接的に行なう)

6. トラブルシュート

 ntpd は親サーバと 1000秒以上時刻が離れていると停止します。  そもそも 1000秒以上 時刻が離れた状態からの起動はできません。(起動後に停止)  そういう場合は

ntpdate NTP サーバのホスト名もしくは IP アドレス
 で時刻合わせをします。  時刻合わせ後に、「NTP」サーバを起動します。
ハイスピードプラン5G CONNECT