>> HOME >> CentOS 4 MENU >> NTP 時刻同期サーバー (ntpd)
クライアントのシステム時刻を日本標準時に自動的に同期させます。
ここでは、NTPサーバーを立ち上げ、内部のクライアントマシンの時刻同期先NTPサーバーを当サーバーに変更することで、システム時刻を日本標準時間に同期できるようにします。

1. ntp インストール
2. ntp の設定
1 ) ntp 設定ファイル /etc/ntp.conf の編集
3. 時刻同期の実施
4. ntpd の起動と自動起動設定
1 ) ntpd の起動
2 ) ntpd の自動起動設定
5. ntpq 時刻同期状態確認
1 ) 時刻同期中の状態
2 ) 時刻同期完了の状態
1. ntp インストール
[root@linux ~]# yum -y install ntp 
Repository dag is listed more than once in the configuration
Setting up Install Process
Setting up repositories
dries                     100% |=========================|  951 B    00:00
dag                       100% |=========================| 1.1 kB    00:00
update                    100% |=========================|  951 B    00:00
base                      100% |=========================| 1.1 kB    00:00
addons                    100% |=========================|  951 B    00:00
extras                    100% |=========================| 1.1 kB    00:00
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for ntp to pack into transaction set.
ntp-4.2.0.a.20040617-4.i3 100% |=========================|  32 kB    00:00
---> Package ntp.i386 0:4.2.0.a.20040617-4 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 ntp                     i386       4.2.0.a.20040617-4  base              1.2 M

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 1.2 M
Downloading Packages:
(1/1): ntp-4.2.0.a.200406 100% |=========================| 1.2 MB    00:05
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: ntp                          ######################### [1/1]

Installed: ntp.i386 0:4.2.0.a.20040617-4
Complete!
2. ntp の設定
1 ) ntp 設定ファイル /etc/ntp.conf の編集
[root@linux ~]# vi /etc/ntp.conf 

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
# デフォルトで全てのNTPアクセス拒否
#restrict default kod nomodify notrap nopeer noquery
restrict default ignore

# Permit all access over the loopback interface.  This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
# ローカルホストからはNTPアクセス許可
restrict 127.0.0.1
# 外部のNTPサーバーへのNTPアクセス許可(下記serverで指定するサーバーを全て指定)
restrict ntp1.jst.mfeed.ad.jp mask 255.255.255.255 nomodify notrap noquery
restrict ntp2.jst.mfeed.ad.jp mask 255.255.255.255 nomodify notrap noquery
restrict ntp3.jst.mfeed.ad.jp mask 255.255.255.255 nomodify notrap noquery

# -- CLIENT NETWORK -------
# Permit systems on this network to synchronize with this
# time service.  Do not permit those systems to modify the
# configuration of this service.  Also, do not use those
# systems as peers for synchronization.
# restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# 家庭内クライアントからの問い合わせ許可(ネットワーク指定の場合。ホスト単位でも可)
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# --- OUR TIMESERVERS -----
# 外部のNTPサーバーの指定
# (時刻同期先にはネットワーク的にご近所かつ往復経路が同一のサーバーを選ぶ)
#server 0.pool.ntp.org
#server 1.pool.ntp.org
#server 2.pool.ntp.org
server ntp1.jst.mfeed.ad.jp
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp

# --- NTP MULTICASTCLIENT ---
#multicastclient                        # listen on default 224.0.1.1
# restrict 224.0.1.1 mask 255.255.255.255 nomodify notrap
# restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# --- GENERAL CONFIGURATION ---
#
# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available. The
# default stratum is usually 3, but in this case we elect to use stratum
# 0. Since the server line does not have the prefer keyword, this driver
# is never used for synchronization, unless no other other
# synchronization source is available. In case the local host is
# controlled by some external source, such as an external oscillator or
# another protocol, the prefer keyword would cause the local host to
# disregard all other synchronization sources, unless the kernel
# modifications are in use and declare an unsynchronized condition.
#
server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10

#
# Drift file.  Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
#
driftfile /var/lib/ntp/drift

#
# Keys file.  If you want to diddle your server at run time, make a
# keys file (mode 600 for sure) and define the key number to be
# used for making requests.
#
# PLEASE DO NOT USE THE DEFAULT VALUES HERE. Pick your own, or remote
# systems might be able to reset your clock at will. Note also that
# ntpd is started with a -A flag, disabling authentication, that
# will have to be removed as well.
#
keys /etc/ntp/keys
3. 時刻同期の実施
ntpd 起動時に大幅に時刻がずれていると ntpd が起動できないので、いったん、手動で時刻を合わせます。
※ NTPサーバーとして稼動させない場合は、以下のステップをシェル化して cron で定期的に実行すれば良い。
[root@linux ~]# ntpdate ntp1.jst.mfeed.ad.jp 
 1 Aug 22:59:19 ntpdate[1567]: step time server 210.173.160.27 offset -430.879226 sec
4. ntpd の起動と自動起動設定
1 ) ntpd の起動
[root@linux ~]# service ntpd start 
ntpd を起動中:                                             [  OK  ]
2 ) ntpd の自動起動設定
[root@linux ~]# chkconfig ntpd on 
[root@linux ~]# chkconfig --list ntpd 
ntpd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
5. ntpq 時刻同期状態確認
1 ) 時刻同期中の状態
サーバー名の前が空白は時刻同期中です。
[root@linux ~]# ntpq -p 
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp1.jst.mfeed. 210.173.160.56   2 u    8   64    1   25.556   -0.869   0.002
 ntp2.jst.mfeed. 210.173.160.86   2 u    7   64    1   24.290   -0.882   0.002
 ntp3.jst.mfeed. 210.173.160.86   2 u    6   64    1   25.217   -1.170   0.002
 LOCAL(0)        LOCAL(0)        10 l    5   64    1    0.000    0.000   0.002
2 ) 時刻同期完了の状態
サーバー名の前が *、+、- であれば時刻同期完了状態です。
[root@linux ~]# ntpq -p 
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntp1.jst.mfeed. 210.173.160.56   2 u   44   64   77   24.517   -1.533   1.406
+ntp2.jst.mfeed. 210.173.160.86   2 u   39   64   77   24.290   -0.882   0.909
+ntp3.jst.mfeed. 210.173.160.86   2 u   41   64   77   24.221   -1.404  99.389
 LOCAL(0)        LOCAL(0)        10 l   37   64   77    0.000    0.000   0.002
ntpq出力内容の説明
1 カラム目
' '(reject)距離が遠くて捨てられたサーバー
'x'(falsetick)falseticker検査で捨てられたサーバー
'.'(excess)参照サーバーが多くて捨てられたサーバー
'-'(outlyer)クラスタリング検査で捨てられたサーバー
'+'(candidat)接続テストに合格し、いつでも参照可能なサーバー
'#'(selected)同期距離が遠いが参照可能なサーバー
'*'(sys.peer)同期中であると宣言されたサーバー
'o'(pps.peer)同期中であると宣言されたサーバー(同期はPPS信号から間接的に行なう。)
2 カラム目以降のラベルの意味
remoteリモート・サーバーのホスト名
refid参照ID(不明の場合は、0.0.0.0)
ststratum番号、サーバーが第何階層かを表します。
t階層タイプ(l:local,u:unicast,m:multicast,b:broadcast)
when最後のパケットを受け取ってからの時間(単位:秒)
pollポーリング間隔(単位:秒)
reach到達可能なレジスタを(8進数表現)
delayポーリングインターバルの遅延見積もり(単位:ミリ秒)
offset階層のオフセット(単位:ミリ秒)
disp階層の分散(単位:ミリ秒)