如何使用本地时间作为 `ntpd` 的唯一参考?

如何使用本地时间作为 `ntpd` 的唯一参考?

我想让我的 Linux 设备将其本地时间与另一台 Linux 服务器的本地时间同步,而不需要任何其他参考。我不在乎实际时间。我想要我的假时间。因此我不需要任何其他 ntp 服务器作为参考。例如,我只是将 Linux 服务器的本地时间设置1.2.3.42033-02-23 15:23:10。这次我想让我的 Linux 设备同步。/etc/ntp.confLinux服务器上的配置文件是:

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

相关内容