NTP 環境を構築する - NTP サーバを設定する - Linux 編

SPECIAL

コンピュータの時刻を調節するのに利用する、NTP プロトコルのお話です。

ここでは、Linux で NTP サーバーを設定する方法について記しています。


1-2: NTP サーバを設定する - Linux 編

ntpd のインストール

今回は ntpd という Linux 用の NTP サーバを Linux Slackware 8 で利用することにします。

Slackware 8 にはこの ntpd が既に付属されているようですが、念のため改めて入手してみることにしました。

 

まずは ntpd のソースファイルを入手します。

今回は http://www.eecis.udel.edu/~ntp/ から ntpd を入手します。今回はバージョン 4.1.1a をダウンロードすることにします。

 

ntp-4.1.1a.tar.gz を /usr/local/src/ にダウンロードして、展開します。

cd /usr/local/src/

tar xvzf ntp-4.1.1a.tar.gz

 

すると ntp-4.1.1a/ というディレクトリが出来上がりますので、その中へ移動したら make コマンドを使って、ntpd をコンパイルします。

cd ntp-4.1.1a/

 

./configure

make

make install

 

これで ntpd のインストールは完了です。

ntpd や ntpdate といった NTP 関連のプログラムが、 /usr/local/bin/ ディレクトリへインストールされます。

 

サーバの設定

ntpd を動かすにあたって、まず自分自身がどのタイムサーバの時刻に合わせるかを設定する必要があります。

ntpd の設定ファイルは、/etc/ntp.conf です。

server     ntp.cyber-fleet.net

server     ntp.nttsl.mfeed.ne.jp

server     cesium.mtk.nao.ac.jp

 

driftfile     /etc/ntp.drift

 

このような感じで設定します。

driftfile というのは、時刻調整の際に使用するファイルだそうです。時刻を同期したいサーバは server という項目に指定します。

上記のように、同期に使用する NTP サーバは複数指定することができます。

 

サービスの起動

設定が終わったら、ntp サーバを動かします。

 

/usr/local/bin/ntpd

コマンドラインから上記の通りに実行すれば、NTP サービスが開始します。

再起動したときなどにも自動的に NTP Server を起動できるように、/etc/rc.d/rc.local などの起動スクリプトなどに書き込んでおくといいでしょう。

 

正常に NTP サービスが起動すると、設定ファイルで指定したサーバの時刻に合わせると同時に、NTP クライアントからの接続を待ちます。

ただし ntpd は、自分自身が同期するための適切な NTP サーバを決定するまでは、クライアントに時刻を渡さないようですので気をつけましょう。設定などの状況によると思いますけど、同期先が決定するまでに2,3分かかる場合がるようです。

同期の確認

ntpd が起動しても、すぐには時刻が一致するわけではありません。いろいろと配慮がなされているようで、完全に時間が合うまでにはしばらくかかってしまいます。

 

ちゃんと ntpd が起動しているかなどを調べるには次のようにします。

ntpq -p

このようにコマンドを打つと、ntpd の同期状態が表示されます。

 

remote refid st t when poll reach delay offset jitter
*ntp.nttsl.mfeed .ISDN. 1 u 89 256 377 4.779 0.487 0.061
 cesium.mtk.nao. 0.0.0.0 16 u - 128 0 0.000 0.000 4000.00
+ns2.cyber-fleet ntp1.usno.navy. 2 u 152 256 377 45.164 -3.364 0.215

実際にはテキストによる表組みですけど、上記のような感じの表が表示されれば、ntpd が正常に稼動していることを意味します。

 

remote という欄の先頭に記載された記号によって、その同期の状況がわかるようになっています。

一番上の "*" が付いたのが、実際に同期しているタイムサーバです。そして一番下の "+" が付いたものは同期できる候補としてマークされているタイムサーバです。真ん中の " " のものは、遠いいために同期には利用できないという意味だそうです。

このあたりの詳細は、付録 A-1 で触れてみることにします。

 

目次