linux – 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 4.2.6p5@1.2349-o 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状态改变,并且到达始终为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

我也安装了假hwclock但没有帮助(应该没关系,因为我的ntpd使用-g运行)

ntpd -q输出:


[root@fatpi ~]# ntpd -qd
ntpd 4.2.6p5@1.2349-o 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 4.2.6p5@1.2349-o 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 4.2.6p5@1.2349-o 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命令上看到发送/接收/发送/接收 – 好吧,大NOPE!

我想端口udp 123转发是我现在应该检查的?

解决方法:

看起来NTP太远不同步(1391656797.298671)并且需要强制同步.

在ntpdate中使用-d选项时,它只是调试.它经历了所有步骤,但实际上并没有强制同步.

执行以下操作之一:

ntpd -q

要么

ntpdate -buv ntp.ubuntu.com
上一篇:linux – 为什么CentOS没有NTP漂移文件?


下一篇:NTP实现时间服务同步