Timesyncd.conf手册页(5)表示NTP的设置是NTP服务器主机名或IP地址的空格分隔列表。
我们的网络中有两个内部NTP服务器,它们都位于同一子网(10.10.10 0/24)。在Ubuntu18.04服务器上,如果我将NTP设置为NTP=“10.10.10010.10.10.101”,timesyncd将不会与这些时间服务器同步。如果我只是将NTP设置为其中之一(NTP=10.10.10.100或NFS=10.10.10.101),时间就会按预期进行同步。
还有人看到同样的行为吗?或者这是一个应该(或已经)提交的bug?
增编:我尝试使用多个"NTP=“行,而不是一行。而不是:
NTP="10.10.10.100 10.10.10.101"我把它改成:
NTP=10.10.10.100
NTP=10.10.10.101在重新启动systemd-timesyncd之后,状态现在显示同步到第一时间服务器的时间。
$ systemctl status systemd-timesyncd.service
● systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/systemd-timesyncd.service.d
└─disable-with-time-daemon.conf
Active: active (running) since Fri 2018-06-22 14:41:36 MDT; 3s ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 2774 (systemd-timesyn)
Status: "Synchronized to time server 10.10.10.100:123 (10.10.10.100)."
Tasks: 2 (limit: 2322)
CGroup: /system.slice/systemd-timesyncd.service
└─2774 /lib/systemd/systemd-timesyncd
Jun 22 14:41:36 bpsubuntu18.sling.com systemd[1]: Starting Network Time Synchronization...
Jun 22 14:41:36 bpsubuntu18.sling.com systemd[1]: Started Network Time Synchronization.
Jun 22 14:41:36 bpsubuntu18.sling.com systemd-timesyncd[2774]: Synchronized to time server 10.10.10.100:123 (10.10.10.100).作为一个附加测试,我在两个好的服务器之前添加了一个假的时间服务器行:
NTP=10.10.10.99
NTP=10.10.10.100
NTP=10.10.10.101在再次重新启动服务并使用tcpdump监视端口123流量之后,我看到在从伪造的NTP服务器获得时间之后,timesyncd使用了下一个。
那么手册页不正确吗?或者解析空格分隔的列表不是一个错误?
我也想为我第一次发帖时输入NFS而不是NTP而道歉。因为另一项我正在做的任务而分心..。
发布于 2018-06-25 05:07:32
这是时间同步的设计。它一次只能使用一种。
详细信息:如果您非常仔细地查看时间同步手册页,您将在有关多个NTP服务器的部分中看到这一点:
..。直到找到一个有反应的人。
如果你深入挖掘,你会发现像时间同步:一次只与一个NTP服务器对话和系统-时间同步手册应该解释它使用的是SNTP,而不是NTP。这样的问题。
因此,它将从工作的NTP=列表中删除第一个,如果全部失败,尝试FallbackNTP=中的列表。
如果您想要真正的跨服务器检查以获得更好的同步,您应该看看NTPd (<18.04) / Chrony (>=18.04),并引用了关于这个系统的问题:
是的,systemd-timesyncd实现的是SNTP,而不是NTP,因此多服务器支持不受关注。如果您想要一个完整的NTP实现,请使用ntpd或chrony。
https://askubuntu.com/questions/1048907
复制相似问题