NTP 同步未连续发生

NTP 同步未连续发生

我正在开发一个 NTP 客户端(Linux PC)来同步 NTP 服务器(Linux PC)的时间。 NTP服务器反过来会同步来自路由器的时间。

路由器 <- NTP 服务器(Linux 机器) <- NTP 客户端(Linux 机器)

我的问题是,当我们一次打开完整的设置电源时,NTP 客户端会在 NTP 服务器从路由器更新其日期/时间之前从 NTP 服务器获取/更新其日期/时间。我知道我们可以使用 ntpdate/"ntpd -gq" 在 NTP 客户端中使用 NTP 命令重新启动 NTP 服务并强制重置日期/时间。但我没有使用任何命令。

有什么方法可以让 NTP 客户端使用 ntpd 服务每 30 秒自动从 NTP 服务器获取和更新日期和时间吗?

我将 NTP 客户端配置为从 /etc/ntp.conf 中的 NTP 服务器获取时间: server <SERVER_IP> iburst 由于此问题,NTP 客户端的日期/时间始终与 NTP 服务器/路由器不同步。

答案1

这个问题有些不太对劲。

Ubuntu 默认使用systemd-时间同步。我相信它的默认配置使用来自的专用 NTP 服务器池ntp.org

Systemd-timesyncd 是一个 SNTP 客户端,它的精确度不如 NTP 客户端,但对于大多数最终用户计算机来说已经足够了。这将定期自动轮询时间。所以在这一点上你的问题没有多大意义。

然而(我相信)默认的最大间隔只是半小时多一点(2048 秒)。因此,如果时钟在启动时同步不正确,可能需要长达 30 分钟的时间才能自行纠正。您可以通过PollIntervalMaxSec中的配置来减少这个时间/etc/systemd/timesyncd.conf。请参阅手册...在命令行输入man 5 timesyncd.conf


请注意,默认情况下,systemd-timesyncd 设置为接受通过以下方式发出的时间服务器动态主机配置协议。这可能会导致他们将路由器添加为直接 NTP 服务器并占用您的 NTP 服务器。


请注意,配置良好的 NTP 服务器不应导致此问题,它应拒绝向 NTP 客户端提供有效时间,直到其自己的时钟正确同步为止。

然而家庭路由器可能会在 NTP 上做坏事。我亲眼目睹了没有内部时钟的家庭路由器(BT Home Hub)对声称是层1甚至在他们同步任何内容之前就会这样做。其结果是,重新启动路由器会将网络上的时钟设置回固定日期几分钟。

相关内容