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 で触れてみることにします。
【目次】