NTPサーバの設定

ALL
スポンサーリンク

NTPサーバの設定です

インストール

インストールは以下で行います。

CentOS6
yum install ntp
Ubuntu14.04
apt-get install ntp

起動時にNTPサーバが自動起動するように設定します。

/sbin/chkconfig --level 345 ntpd on

上位NTPサーバの選択

NTPサーバの設定に際し、NTPサーバと時刻を同期するサーバ(以降、上位NTPサーバ)を決める必要があります。

上位NTPサーバは、これから設定するNTPサーバにネットワーク的に近いサーバが良いです。

これは Network Time Protocol – Wikipedia の 通信遅延時間の計測 の箇所の記述の通り、NTPサーバと上位NTPサーバの間に、ネットワークの遅延で往復に差がある場合、その差の2分の1が誤差となります。
なので、遅延が往復で差がなるべく無いように、ネットワーク的に安定した近くのサーバを選ぶ方が良いです。

自宅などで、自分の利用しているプロバイダーのNTPサーバを上位NTPサーバとします。
下記の「プロバイダー別」の所を参照して下さい。

NTP/プロバイダ・機関別 – wiki@nothing

自宅以外の、会社などでのプロバイダー以外の環境の場合は、下記から選択が良いと思います。

NTP/推奨公開サーバ – wiki@nothing

ntp.confの設定

上位NTPサーバを選択したら、必要な設定を ntp.conf に行います。

ntp.conf には、今設定しているNTPサーバを参照出来るネットワークの範囲の指定と、上位NTPサーバの指定を行います。

NTPサーバを参照出来るネットワークの範囲の指定

まず、今設定しているNTPサーバを参照出来るネットワークの範囲の指定をします。
ここで指定したネットワークのPCや端末からのみ、NTPサーバと時刻同期出来るようになります。

設定は /etc/ntp.conf の restrict行で行います。
restrict は後行の方が優先されるので、restrictがデフォルトで何行かありますが、それの最後に追記します。

下記例のように記述します。

NTPサーバを参照可能なネットワークアドレスで指定する場合
restrict 192.168.24.0 mask 255.255.255.0 nomodify notrap
特定のIPアドレスからのみNTPサーバを参照させる場合
restrict 10.8.0.50 mask 255.255.255.255 nomodify notrap

ntp.conf の restrict行だけを抜き出すと、次のような設定になります。
最初の4行は、デフォルトで設定されている内容ですので、このまま使用します。
赤字の箇所のように追加します。

CentOS6
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
<strong>restrict 192.168.24.0 mask 255.255.255.0 nomodify notrap</strong>
Ubuntu14.04
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
<strong>restrict 10.8.0.50 mask 255.255.255.255 nomodify notrap</strong>

上位NTPサーバの指定

上位NTPサーバ(今設定しているNTPサーバと時刻を同期する参照先のサーバ)を設定します。
設定は /etc/ntp.conf の server行または pool行で行います。

まず、既にデフォルトで ntp.conf に server行が記述してある場合は、コメントアウトします。
行の先頭に # を付ければコメントになります。

その後、server行または pool行で改めて上位NTPサーバを指定します。

server行では、上位NTPサーバを指定します。

server ホスト名 または IPアドレス

server行は複数行を書けます。
複数記述した場合、どれか1つが上位NTPサーバとして使用されます。どれを使用するかは、状況を見ながら自動的に選択されます。

なお、指定はIPアドレスでは無く、ホスト名での指定を強くお勧めします。
ホスト名での指定では、DNSラウンドロビンの設定が指定のホスト名にされていた場合、適当なホストが割り当てられます。

例えば、インターネットマルチフィード (MFEED)の NTPサーバ ntp.jst.mfeed.ad.jp を指定する場合、

server ntp.jst.mfeed.ad.jp

とすると、ntp.jst.mfeed.ad.jp はDNSラウンドロビンによって以下のいずれかが選択されます。
このように、上位NTPサーバ側では、複数台のNTPサーバに負荷分散をさせることが出来ます。

ntp1.jst.mfeed.ad.jp
ntp2.jst.mfeed.ad.jp
ntp3.jst.mfeed.ad.jp

一方、server行では無く、pool行でも上位NTPサーバを指定できます。

pool ホスト名

pool行に指定した場合は、DNSラウンドロビンの全てのサーバを指定したことと同等になります。

例えば、独立行政法人情報通信研究機構 (NICT)のNTPサーバ ntp.nict.jp を指定します。

pool ntp.nict.jp

これは、下記と同等の設定になります。

server ntp-b3.nict.go.jp
server ntp-a2.nict.go.jp
server ntp-a3.nict.go.jp
server ntp-b2.nict.go.jp

同様に、

pool ntp.jst.mfeed.ad.jp

とすると、下記と同等になります。

server ntp1.jst.mfeed.ad.jp
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp

ntp.confの反映

restrictでNTPサーバを参照出来るネットワークの範囲、server/poolで上位NTPサーバの指定を行ったら、設定した ntp.conf を反映させ、NTPサーバを立ち上げます。

/etc/init.d/ntp restart

上位NTPサーバとの時刻同期の確認

ntp.confの設定後、初回 ntpサーバ起動時には、上位NTPサーバとの時刻同期まで少し時間がかかります。

現在の状況を確認するには、ntpq -p を実行します。

例えば、ntp.conf で pool ntp.nict.jp としていた場合、ntpサーバ起動直後の ntpq -p 実行は下記のようになります。

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp-b3.nict.go. .NICT.           1 u    4   64    1   29.098  -84460.   0.000
 ntp-a2.nict.go. .NICT.           1 u    3   64    1   28.701  -84459.   0.000
 ntp-a3.nict.go. .NICT.           1 u    2   64    1   28.898  -84460.   0.000
 ntp-b2.nict.go. .NICT.           1 u    1   64    1   29.370  -84460.   0.000

10分程経つと、 ntpq -p 実行は下記のようになります。

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntp-b3.nict.go. .NICT.           1 u   56   64  377   29.385  -413.48 154.223
+ntp-a2.nict.go. .NICT.           1 u   56   64  377   28.855  -413.41 155.123
+ntp-a3.nict.go. .NICT.           1 u   37   64  377   28.806  -423.09 157.508
+ntp-b2.nict.go. .NICT.           1 u   60   64  377   29.216  -411.54 154.539

左端に * がついている行があると、それが時刻同期している上位NTPサーバとなります。
どれが時刻同期する上位NTPサーバになるかは、状況により、自動的に適宜選択されます。

これで、NTPサーバとして稼働開始です。

参考

ntp.conf(5) manページ
4.2.3 ntpdのインストールと設定
Server Commands and Options
忘れんぼなサーバ管理者の備忘録 ~ NTP編 ~
水銀室 NTPの設定 -CentOS最短構築支援-

コメント