我想让我的 Linux 设备将其本地时间与另一台 Linux 服务器的本地时间同步,而不需要任何其他参考。我不在乎实际时间。我想要我的假时间。因此我不需要任何其他 ntp 服务器作为参考。例如,我只是将 Linux 服务器的本地时间设置1.2.3.4
为2033-02-23 15:23:10
。这次我想让我的 Linux 设备同步。/etc/ntp.conf
Linux服务器上的配置文件是:
restrict 127.0.0.1
restrict ::1
server 127.127.1.1
fudge 127.127.1.1 stratum 8
disable monitor
logfile /var/log/ntp/ntp.log
pidfile /var/run/ntpd.pid
driftfile /var/lib/ntp/drift
leapfile /etc/ntp.leapseconds
在 Linux 客户端上,我输入ntpdate 1.2.3.4
,然后出现错误:
5 Feb 08:26:39 ntpdate[31059]: no server suitable for synchronization found
这是为什么?我已经测试了-d
参数 ie ./ntpdate -d 1.2.3.4
,它说:
5 Feb 08:40:54 ntpdate[22958]: ntpdate [email protected] Mon Feb 5 10:02:23 UTC 2018 (1)
Looking for host 1.2.3.4 and service ntp
host found : 1.2.3.4
transmit(1.2.3.4)
receive(1.2.3.4)
transmit(1.2.3.4)
receive(1.2.3.4)
transmit(1.2.3.4)
receive(1.2.3.4)
transmit(1.2.3.4)
receive(1.2.3.4)
1.2.3.4: Server dropped: strata too high
server 1.2.3.4, port 123
stratum 16, precision -23, leap 11, trust 000
refid [1.2.3.4], delay 0.02573, dispersion 0.00000
transmitted 4, in filter 4
reference time: 00000000.00000000 Thu, Feb 7 2036 14:28:16.000
originate timestamp: de22269c.ab72b039 Mon, Feb 5 2018 8:41:00.669
transmit timestamp: de22269c.ab0e1fba Mon, Feb 5 2018 8:41:00.668
filter delay: 0.02579 0.02574 0.02573 0.02574
0.00000 0.00000 0.00000 0.00000
filter offset: 0.001443 0.001416 0.001417 0.001418
0.000000 0.000000 0.000000 0.000000
delay 0.02573, dispersion 0.00000
offset 0.001417
5 Feb 08:41:00 ntpdate[22958]: no server suitable for synchronization found
这有什么问题吗?我怎么解决这个问题?
PS版本信息:
服务器:
[xxxx@xxxx:~]$ /usr/sbin/ntpd --version
ntpd [email protected] Mon Feb 5 10:02:23 UTC 2018 (1)
客户:
[xxxx@xxxx:~]$ ./ntpdate -v
5 Feb 08:36:40 ntpdate[15840]: ntpdate [email protected] Mon Feb 5 10:02:23 UTC 2018 (1)
5 Feb 08:36:40 ntpdate[15840]: no servers can be used, exiting
答案1
如果您不使用配置行iburst
上的选项server
,则 ntpd 启动后通常需要几分钟才能与参考时钟同步。本地时钟驱动程序也是如此,因为它不被视为“特殊”:在将其信息应用于 ntpd 的内部时间模型之前,它会获得与任何其他时间源相同的检查。
如果 ntpd 在实现初始同步之前收到 NTP 请求,它将以层 16 和跳跃指示器设置为 11(= 错误)进行应答 - 这正是您所看到的。
答案2
我遇到过同样的问题。基本上添加 iburst 和 Preferred 选项使其立即同步并ntpq -np
立即显示本地服务器的星号。基本上用
server 127.127.1.1 iburst prefer
fudge 127.127.1.1 stratum 8