web-dev-qa-db-ja.com

Arch ntpd / ntpdateがクロックを同期しない

Archを実行しているraspiがNTPDで時間を更新していません。私は走っています

 [root@fatpi ~]# cat /proc/version
 Linux version 3.10.28-1-Arch (nobody@root-armv6-copy) (gcc version 4.8.2 20131219 (prerelease) (GCC) ) #1 PREEMPT Tue Jan 28 15:46:05 MST 2014

サービスを停止してntpdateで更新しようとしましたが、「ntpdate -sb」は機能しません。「ntpdate -qd」は正しい日付とオフセットを出力します。


[root@fatpi ~]# ntpdate -dq time.nist.gov
31 Dec 18:09:13 ntpdate[299]: ntpdate [email protected] Sat Jan 11 17:42:10 UTC 2014 (1)
Looking for Host time.nist.gov and service ntp
Host found : nist1-chi.ustiming.org
transmit(216.171.120.36)
receive(216.171.120.36)
transmit(216.171.120.36)
receive(216.171.120.36)
transmit(216.171.120.36)
receive(216.171.120.36)
transmit(216.171.120.36)
receive(216.171.120.36)
server 216.171.120.36, port 123
stratum 1, precision -29, leap 00, trust 000
refid [ACTS], delay 0.07671, dispersion 0.00000
transmitted 4, in filter 4
reference time:    d69d8005.439fdedc  Wed, Feb  5 2014 21:29:09.264
originate timestamp: d69d800c.753a297e  Wed, Feb  5 2014 21:29:16.457
transmit timestamp:  83aa80af.2239d5e4  Wed, Dec 31 1969 18:09:19.133
filter delay:  0.07681  0.07671  0.07689  0.07681
         0.00000  0.00000  0.00000  0.00000
filter offset: 13916567 13916567 13916567 13916567
         0.000000 0.000000 0.000000 0.000000
delay 0.07671, dispersion 0.00000
offset 1391656797.298671

31 Dec 18:09:19 ntpdate[299]: step time server 216.171.120.36 offset 1391656797.298671 sec

Ntpdサービスが実行されている場合、これは「ntpq」出力であり、refidはINITステータスから変化せず、reachは常に0です。


ntpq> peers
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 nist1.ny.certic .INIT.          16 u    -   64    0    0.000    0.000   0.000
 elara.mysnip.de .INIT.          16 u    -   64    0    0.000    0.000   0.000
 dsl-201-120-53- .INIT.          16 u    -   64    0    0.000    0.000   0.000
 golem.canonical .INIT.          16 u    -   64    0    0.000    0.000   0.000
ntpq> as

ind assid status  conf reach auth condition  last_event cnt
===========================================================
  1 22183  8011   yes    no  none    reject    mobilize  1
  2 22184  8011   yes    no  none    reject    mobilize  1
  3 22185  8011   yes    no  none    reject    mobilize  1
  4 22186  8011   yes    no  none    reject    mobilize  1
ntpq>

私の/var/log/ntp.logは次のように読みます:


31 Dec 18:00:18 ntpd[124]: Deferring DNS for time.nist.gov 1
31 Dec 18:00:18 ntpd[124]: Deferring DNS for 0.pool.ntp.org 1
31 Dec 18:00:18 ntpd[124]: Deferring DNS for 1.pool.ntp.org 1
31 Dec 18:00:18 ntpd[124]: Deferring DNS for 2.pool.ntp.org 1
31 Dec 18:00:18 ntpd[124]: Deferring DNS for ntp.ubuntu.com 1
31 Dec 18:00:18 ntpd[132]: signal_no_reset: signal 17 had flags 4000000
31 Dec 18:00:20 ntpd[132]: Host name not found: time.nist.gov
31 Dec 18:00:20 ntpd[132]: Host name not found: 0.pool.ntp.org
31 Dec 18:00:20 ntpd[132]: Host name not found: 1.pool.ntp.org
31 Dec 18:00:20 ntpd[132]: Host name not found: 2.pool.ntp.org
31 Dec 18:00:20 ntpd[132]: Host name not found: ntp.ubuntu.com
31 Dec 18:00:30 ntpd[124]: Listen normally on 2 eth0 192.168.0.104 UDP 123
31 Dec 18:00:30 ntpd[124]: peers refreshed
31 Dec 18:00:30 ntpd[124]: new interface(s) found: waking up resolver
31 Dec 18:00:32 ntpd[132]: DNS time.nist.gov -> 216.171.120.36
31 Dec 18:00:32 ntpd[132]: DNS 0.pool.ntp.org -> 201.120.27.5
31 Dec 18:00:32 ntpd[132]: DNS 1.pool.ntp.org -> 201.120.27.5
31 Dec 18:00:32 ntpd[132]: DNS 2.pool.ntp.org -> 201.120.27.5
31 Dec 18:00:32 ntpd[132]: DNS ntp.ubuntu.com -> 91.189.94.4

私はntp.confファイルを何億回も変更しました、現在:


server time.nist.gov iburst
server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server ntp.ubuntu.com iburst


restrict default noquery nopeer restrict 127.0.0.1 restrict ::1


driftfile /var/lib/ntp/ntp.drift logfile /var/log/ntp.log

私のntpd.serviceファイルは:


[Unit]
Description=Network Time Service
After=network.target nss-lookup.target

[Service]
Type=forking
PrivateTmp=true
PIDFile=/var/run/ntpd.pid
ExecStart=/usr/bin/ntpd -g -u ntp:ntp -p /var/run/ntpd.pid
Restart=always

[Install]
WantedBy=multi-user.target

私もfake-hwclockをインストールしましたが、助けにはなりませんでした(私のntpdは-gで実行されるため、問題ではありません)


ntpd -qの出力:


[root@fatpi ~]# ntpd -qd
ntpd [email protected] Sat Jan 11 17:42:09 UTC 2014 (1)
31 Dec 18:02:42 ntpd[296]: proto: precision = 1.000 usec
event at 0 0.0.0.0 c01d 0d kern kernel time sync enabled
Finished Parsing!!
31 Dec 18:02:42 ntpd[296]: ntp_io: estimated max descriptors: 1024, initial socket boundary: 16
31 Dec 18:02:42 ntpd[296]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
31 Dec 18:02:42 ntpd[296]: Listen normally on 1 lo 127.0.0.1 UDP 123
restrict: op 1 addr 127.0.0.1 mask 255.255.255.255 mflags 00003000 flags 00000001
31 Dec 18:02:42 ntpd[296]: Listen normally on 2 eth0 192.168.0.104 UDP 123
restrict: op 1 addr 192.168.0.104 mask 255.255.255.255 mflags 00003000 flags 00000001
31 Dec 18:02:42 ntpd[296]: peers refreshed
31 Dec 18:02:42 ntpd[296]: Listening on routing socket on fd #19 for interface updates
restrict: op 1 addr 0.0.0.0 mask 0.0.0.0 mflags 00000000 flags 00000050
restrict: op 1 addr :: mask 0.0.0.0 mflags 00000000 flags 00000050
restrict: op 1 addr 127.0.0.1 mask 255.255.255.255 mflags 00000000 flags 00000000
31 Dec 18:02:42 ntpd[296]: restrict: error in address '::1' on line 12. Ignoring...
key_expire: at 0 associd 21204
peer_clear: at 0 next 1 associd 21204 refid INIT
event at 0 64.250.229.100 8011 81 mobilize assoc 21204
newpeer: 192.168.0.104->64.250.229.100 mode 3 vers 4 poll 6 10 flags 0x101 0x1 ttl 0 key 00000000
key_expire: at 0 associd 21205
peer_clear: at 0 next 2 associd 21205 refid INIT
event at 0 132.248.81.123 8011 81 mobilize assoc 21205
newpeer: 192.168.0.104->132.248.81.123 mode 3 vers 4 poll 6 10 flags 0x101 0x1 ttl 0 key 00000000
key_expire: at 0 associd 21206
peer_clear: at 0 next 3 associd 21206 refid INIT
event at 0 91.189.94.4 8011 81 mobilize assoc 21206
newpeer: 192.168.0.104->91.189.94.4 mode 3 vers 4 poll 6 10 flags 0x101 0x1 ttl 0 key 00000000
event at 0 0.0.0.0 c016 06 restart
event at 0 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
event at 0 0.0.0.0 c011 01 freq_not_set
transmit: at 1 192.168.0.104->64.250.229.100 mode 3 len 48
auth_agekeys: at 1 keys 1 expired 0
transmit: at 2 192.168.0.104->132.248.81.123 mode 3 len 48
transmit: at 3 192.168.0.104->91.189.94.4 mode 3 len 48
transmit: at 66 192.168.0.104->64.250.229.100 mode 3 len 48
transmit: at 68 192.168.0.104->132.248.81.123 mode 3 len 48
transmit: at 69 192.168.0.104->91.189.94.4 mode 3 len 48
transmit: at 131 192.168.0.104->64.250.229.100 mode 3 len 48
transmit: at 133 192.168.0.104->91.189.94.4 mode 3 len 48
transmit: at 135 192.168.0.104->132.248.81.123 mode 3 len 48
transmit: at 197 192.168.0.104->91.189.94.4 mode 3 len 48
transmit: at 197 192.168.0.104->64.250.229.100 mode 3 len 48
transmit: at 202 192.168.0.104->132.248.81.123 mode 3 len 48
transmit: at 262 192.168.0.104->91.189.94.4 mode 3 len 48
transmit: at 263 192.168.0.104->64.250.229.100 mode 3 len 48
transmit: at 267 192.168.0.104->132.248.81.123 mode 3 len 48
transmit: at 327 192.168.0.104->91.189.94.4 mode 3 len 48
transmit: at 327 192.168.0.104->64.250.229.100 mode 3 len 48
transmit: at 331 192.168.0.104->132.248.81.123 mode 3 len 48
^C31 Dec 18:09:12 ntpd[296]: ntpd exiting on signal 2
[root@fatpi ~]#

だが! ntpdate -buv WORKS !!!!


[root@fatpi ~]# ntpdate -bv ntp.ubuntu.com
31 Dec 18:11:18 ntpdate[299]: ntpdate [email protected] Sat Jan 11 17:42:10 UTC 2014 (1)
31 Dec 18:11:27 ntpdate[299]: no server suitable for synchronization found
[root@fatpi ~]# date
Wed Dec 31 18:11:52 CST 1969
[root@fatpi ~]# ntpdate -buv ntp.ubuntu.com
31 Dec 18:11:54 ntpdate[303]: ntpdate [email protected] Sat Jan 11 17:42:10 UTC 2014 (1)
 6 Feb 14:31:00 ntpdate[303]: step time server 91.189.94.4 offset 1391717938.800589 sec
[root@fatpi ~]# date
Thu Feb  6 14:31:02 CST 2014

私はそれを動作させることがntpdateの-uであると思います、それは非特権ポートを使用します。 ntpdateの-uオプションのマニュアルページを読んだところ、-dでは常にこのオプションが使用されると記載されているため、ntpdate -dqコマンドで送信/受信/送信/受信を確認したのは、そのためです。

ポートudp 123転送が今チェックする必要があると思いますか?

7
fat

NTPは同期がずれているため(1391656797.298671))、強制同期が必要なようです。

ntpdate-dオプションを使用する場合、それは単なるデバッグです。それはすべてのステップを通過しますが、実際には同期を強制しません。

次のいずれかを実行します。

ntpd -q

または

ntpdate -buv ntp.ubuntu.com
8
Jeight