|
時刻同期させるNTPサービスはシステム内に一つは欲しいところです。 まずはNTPがインストールされているかを確認します。
#rpm -q ntp
ntp-4.2.6p5-25.el7.centos.2.x86_64
このようにNTPのバージョンが表示されれば、インストールされています。
表示されなければ、コマンドでインストールします。
#yum install ntp
/etc/ntp.confを確認します。コメントは除いてあります。
赤字が追記部分です。
単にインターネット上のNTPサーバと同期したいだけなら、デフォルトのntp.confで動作します。
またLAN内のNTPサーバとなってクライアントの要求に応答するのも、デフォルトのままで動作します。
(もちろんファイアウォールは開放されている必要があります)
#firewall-cmd --zone=public --add-service=ntp --permanent
ここではセキュリティを意識した、設定されたNTPサーバの設定とします。
上位NTPサーバと下位NTPクライアントを指定する
/etc/ntp.conf(赤字が変更部分)
----------------------------------
driftfile /var/lib/ntp/drift
restrict default ignore #上位と同期しない、クライアントからの要求にも応じない。攻撃対策
#restrict default nomodify notrap nopeer noquery
#細かいことは禁止するが、時刻同期については慣用的な部分。コメントアウト
restrict 127.0.0.1 #ローカルからはなんでも許可
restrict ::1
restrict 210.173.160.27 nomodify notrap nopeer noquery #IPで上位NTPとの時刻同期を許可
server ntp1.jst.mfeed.ad.jp iburst #使用する上位NTP。iburstで収束を高速化
#server 0.centos.pool.ntp.org iburst #コメントアウト
#server 1.centos.pool.ntp.org iburst #ristrict default ignoreを使用しているので #server 2.centos.pool.ntp.org iburst #これらのラウンドロビン型のNTPは使用できません #server 3.centos.pool.ntp.org iburst
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap nopeer
#クライアントセグメントからの時刻同期要求を許可
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
------------------------------------
まずrestrict default ignore で基本は全てのアクセスを無視します。
この場合の無視とは、クライアントからの要求だけではなく、上位サーバと同期することも禁止します。
これは誤ったサーバと同期しない、無関係なクライアントから要求に応答しない、ことを意図します。 同期する上位NTPサーバを指定する場合、restrict行で具体的にそのサーバのIPアドレスを許可する必要があります。
従って、0.centos.pool.ntp.orgのような、毎回アドレスが代わるNTPとは同期できません。
接続確認
NTPを再起動し、接続を確認します。
#systemctl start ntpd.service
#ntpq -p
[root@localhost ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp2.jst.mfeed. 133.243.236.17 2 u 110 128 377 16.274 0.617 5.098
ある程度時間が経過してから実行すると、ntpqの結果に同期を示すアスタリスクが表示されます。
どうしても同期しない場合は、各種コマンド(ntpdc、ntpdate、ntpstat)で切り分けます。
#ntpdc
ntpdc>showpeer 210.173.160.57
remote ::, local ::
hmode client, pmode unspec, stratum 2, precision -24
leap 00, refid [133.243.236.17], rootdistance 0.05069, rootdispersion 0.06618
ppoll 7, hpoll 7, keyid 0, version 4, association 47743
reach 377, unreach 0, flash 0x1200, boffset 0.01627, ttl/mode 0
timer 0s, flags system_peer, config, bclient
reference time: dce5fc1f.0d244054 Sat, Jun 10 2017 14:03:27.051
originate timestamp: 00000000.00000000 Mon, Jan 1 1900 9:00:00.000
receive timestamp: dce60288.8926ac01 Sat, Jun 10 2017 14:30:48.535
transmit timestamp: dce60288.8926ac01 Sat, Jun 10 2017 14:30:48.535
filter delay: 0.01663 0.01773 0.03038 0.01923
0.01627 0.01666 0.01633 0.02797
filter offset: 0.000171 0.000354 -0.00663 -0.00026
0.000617 0.000451 0.000568 -0.00608
filter order: 4 6 0 5
1 3 7 2
offset 0.000617, delay 0.01627, error bound 0.08061, filter error 0.06123
flash部分が、接続できない理由を示します。正常なら0x0000になります。
0x1200の場合一番考えられるのはntp.confでserver名が指定されているが、restrictの許可部分がない場合です。
あるいはserverで指定している上位NTPホスト名と、restrictで許可しているIPアドレスが間違っている場合です。
このIDを調べれば、「相手のNTPサーバが時刻同期を許可していない」「認証が必要である」など同期しない理由が判明します。
|
|