NTPのインストール

コンピュータの時計は特に精度が高いわけではなく、徐々にずれてしまいます。サーバとして動かすには正確な時刻を保つことがエチケットです。ここでは、NTP(NetWork Time Protocol)サービスを構築して正確な時間を保つ方法を説明します。

ソースの入手

以下のURLから最新のソースを入手してください。
http://www.ntp.org/
今回はntp-4.2.0.tar.gzをダウロードしました。
http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2.0.tar.gz

インストール

ここではntp-4.2.0.tar.gzをダウンロードしたものとして説明します。

$ tar xvfz ntp-4.2.0.tar.gz
$ cd ntp-4.2.0
$ ./configure
$ make
$ su
# make install

これでインストールは完了です。
/usr/localディレクトリ以下にインストールされます。

設定ファイル ntp.conf 編集

設定には /etc/ntp.conf を編集します。

NTPデーモンは、上位のNTPサーバと同期をとる必要があります。私は、上位サーバは
http://www.jst.mfeed.ad.jp/
を参照しました。

そこから、私は3つのNTPサーバを指定し、以下のように /etc/ntp.conf を編集しました。

server 210.173.160.27
server 210.173.160.57
server 210.173.160.87
driftfile /etc/ntp.drift

server は同期をとるNTPサーバを指定します。今回3台のNTPサーバを指定しました。
driftfile は時刻の誤差を修正するときに使用するときのファイルとなります。

起動方法

起動方法は以下のコマンドで起動できます。

# /usr/local/bin/ntpd

起動が完了すればntpdデーモンとしてシステムに常駐します。
NTPサーバの状態は以下のコマンドで確認ができます。

# ntpq -p
   remote           refid      st t when poll reach   delay   offset  jitter
============================================================================
ntp1.jst.mfeed. 210.173.160.86  2 u    7   64    3   23.228    0.928  10.667
ntp2.jst.mfeed. 210.173.160.56  2 u    7   64    3   22.675    0.963  10.683
ntp3.jst.mfeed. 210.173.176.4   2 u    5   64    3   22.988   11.740  11.779

同期が行われればホスト名の前に "*"が表示されます。また、"+"が表示されているホスト名は、同期が可能なサーバであることを示します。起動直後は上記の結果のように何も表示されませんが、起動して、10分程度で安定して以下の結果になると思います。

# ntpq -p
     remote           refid     st t when poll reach   delay  offset  jitter
============================================================================
+ntp1.jst.mfeed. 210.173.160.86  2 u   68  256   17   23.228   0.928  27.866
*ntp2.jst.mfeed. 210.173.160.56  2 u   71  256   17   22.675   0.963  27.295
+ntp3.jst.mfeed. 210.173.176.4   2 u   70  256   17   22.988  11.740  20.425

こうなれば、自分自身の時間も正確に保てますし、別のコンピュータやネットワーク機器から参照できるNTPサーバとなります。

自動起動スクリプトも用意しましたのでよろしければご利用ください。
/etc/rc.d/init.d/ntpd として保存

#!/bin/bash
# init file for ntpd
#
# chkconfig: 345 41 41
# description: ntpd (Network Time Protocol daemon)
# securlevel: 20
# processname: ntpd
#
#
# source function library
. /etc/rc.d/init.d/functions

case "$1" in
  start)
        echo -n "Starting ntpd: "
        daemon /usr/local/bin/ntpd
        RETVAL=$?
        [ "$RETVAL" = "0" ] && touch /var/lock/subsys/ntpd
        echo
        ;;
  stop)
        echo -n "Shutting down ntpd: "
        killproc ntpd
        RETVAL=$?
        rm -f /var/lock/subsys/ntpd
        echo
        ;;
  restart)
        $0 stop
        $0 start
        RETVAL=$?
        ;;
  status)
        status ntpd
        RETVAL=$?
        ;;
  *)
        echo "Usage: ntpd {start|stop|restart|status}"
        RETVAL=1
esac

exit $RETVAL

アクセス制御

この状態では、NTPサーバはインターネットのあらゆるホストからNTPサーバとして利用されてしまいます。利用を制限するには /etc/ntp.conf に利用するホストを定義します。

restrict default ignore                  (1)
restrict 127.0.0.1                       (2)
restrict 192.168.100.100                 (3)
restrict 192.168.1.0 mask 255.255.255.0  (4)
restrict 210.173.160.27                  (5)
restrict 210.173.160.57
restrict 210.173.160.87

(1) デフォルトでNTPパケットを受信しない定義
(2) 127.0.0.1 を許可
(3) 192.168.100.100 を許可
(4) 192.168.1.0/24 を ネットワーク で許可
(5) serverとして参照している3台のNTPサーバの許可

設定後は、NTPデーモンを再起動してください。

marronおすすめの参考書 by Amazon
SupportDeskパック Standard24(Linuxサポート付)3年[カスタムメイド対応] SupportDeskパック Standard24(Linuxサポート付)3年[カスタムメイド対応]
/
SupportDeskパック Standard(Linuxサポート付)4年[カスタムメイド対応] SupportDeskパック Standard(Linuxサポート付)4年[カスタムメイド対応]
/
SupportDeskパック Standard24(Linuxサポート付)4年[カスタムメイド対応] SupportDeskパック Standard24(Linuxサポート付)4年[カスタムメイド対応]
/

Copyright(C) 2004-2006 マロンくん.NET ~サーバ管理者への道~ All Rights. Reserved.