FreeBSD 15.0 RELEASE - ntp サーバ


クラウディア 


1. 概要
2. ports
3. /etc/ntp.conf 設定
4. 起動
5. 時刻の同期を確かめる
6. 起動できないとき
7. ログローテーションの設定

1. 概要

 「ntp」についての説明は「ウィキペディア - ntp」を参照ください。

2. ports

 「ntpd」は比較的長い歴史のあるプログラムですが、案外、頻繁に更新が行われます。  デフォルトで「/usr/sbin/ntpd」が存在していますが。  「ports」から、最新版を取得して、更新が発生したらすぐに適用できるようにしておきます。

cd /usr/ports/net/ntp
make config
 オプションがすごく多くなっていますが、デフォルトのままで問題ないかと思います。  一応、オプションを掲載しておきます。


cd /usr/ports/net/ntp

make NO_DIALOG=yes

make install
 インストール時のメッセージを掲載しておきます。

===>  Installing for ntp-4.2.8p18_5
===>  Checking if ntp is already installed
===>   Registering installation for ntp-4.2.8p18_5
Installing ntp-4.2.8p18_5...
Please add

        ntpd_program="/usr/local/sbin/ntpd"
        ntpdate_program="/usr/local/sbin/ntpdate"

to your /etc/rc.conf or run

        sysrc ntpd_program="/usr/local/sbin/ntpd"
        sysrc ntpdate_program="/usr/local/sbin/ntpdate"

to enable ntp from ports/packages instead of base ntp.

3. /etc/ntp.conf 設定

 「ntp」サーバのコンフィグレーションファイルを編集します。

vi /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.27」「29.250.35.251」「216.239.35.4」を使用するします。  以下をコメントアウトし。

# The option `iburst' is used for faster initial synchronization.
#
pool 0.freebsd.pool.ntp.org iburst
pool 2.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
 ログファイルを残す場合、適切なタイミングでローテーションさせるようにします。  ローテーションのさせかたは末尾の方で・・・。  ローカルネットワークアドレスが、「192.168.0.0」で、ローカルネットワーク内のマシンに同期を許可する場合は、以下の記述を加えます。

restrict 192.168.0.0 mask 255.255.0.0     noquery nomodify nopeer notrap

4. 起動

 「ntpd」の起動を設定します。  「root」ユーザ権限で。

sysrc ntpd_enable="YES"
sysrc ntpd_program="/usr/local/sbin/ntpd"
sysrc ntpdate_program="/usr/local/sbin/ntpdate"
 以前は、起動スクリプトまで書き換えていましたが、現在は、この設定だけで大丈夫です。  起動します。

service ntpd start

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

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

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

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp1.jst.mfeed. 133.243.236.17   2 u   14   64    1   19.240  -136.85   0.015
 y.ns.gin.ntt.ne 129.250.35.222   2 u   13   64    1   20.820  -137.31   0.015
 time4.google.co .GOOG.           1 u   12   64    1   49.191  -134.48   0.015
 
 てな表示になっていると思います。  起動後、長い場合は、15分以上たたないと、時刻の同期は完了しません。

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

6. 起動できないとき

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

date 1606131627
 と「date」コマンドで時刻を合わせる(上記の例は「YYMMDDHHMI」の形式)か。

ntpdate "NTP サーバのホスト名もしくは IP アドレス"
 で時刻合わせをします。  時刻合わせ後にサーバを起動します。

7. ログローテーションの設定

 「/etc/ntp.conf」でログを出力する設定を行っている場合、ログローテーションの設定をしておきます。

mkdir -pv /usr/local/etc/newsyslog.conf.d
vi /usr/local/etc/newsyslog.conf.d/ntpd.conf
 下記を記述します。

# logfilename          [owner:group]    mode count size when  flags [/pid_file] [sig_num]
/var/log/ntpd.log                       644  3     100  *     B
 「ntpd」のログは、そんなに多くありませんので、100KB で世代交代、3世代管理にしています。

EaseUS
AbemaTV 無料体験
サウンドハウス
アフィリエイトのアクセストレード
ハイスピードプラン
薬屋の独り言