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最短構築支援-
コメント