我有几台机器运行16.10台,服务器和笔记本电脑都在同一个网络上。他们偶尔也会遇到同样的NTP问题。时钟稍微偏离同步,当我检查NTP对等点时,只有一个,而且它没有被使用。
> ntpstat
unsynchronised
polling server every 8 s
> sudo ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
10.x.x.x .INIT. 16 u - 64 0 0.000 0.000 0.000
我尝试使用默认的Ubuntu ntp.conf
服务器列表(从0到3)
pool 0.ubuntu.pool.ntp.org iburst
...
还有标准的ntp列表(也从0到3),如下所示:
server 0.pool.ntp.org
...
但问题是一样的。在所有机器上,未使用服务器的IP地址总是相同的,而不管它们的ntp.conf
是什么。
我可以通过更改ntp.conf
并重新启动ntpd
来临时解决这个问题,但是我希望修复问题的根源,以便自动找到有用的对等点。
我能做些什么来解决这个问题?
发布于 2017-03-21 13:19:04
/etc/ntp.conf
中的服务器和池被忽略了,因为默认的Ubuntu配置使通过DHCP找到的NTP服务器具有优先权。
有一个脚本/etc/dhcp/dhclient-exit-hooks.d/ntp
,它在/var/lib/ntp/ntp.conf.dhcp
上创建一个/etc/ntp.conf
副本,删除在原始服务器中请求的任何特定服务器和池,并替换通过DHCP找到的服务器。
当/etc/init.d/ntp
运行时,如果它在/run/ntp.conf.dhcp
上找到一个较新的配置,它将用它启动NTP。可以通过多种方式禁用该功能,但我选择将/etc/init.d/ntp
中的这种行为注释为:
# if [ /run/ntp.conf.dhcp -nt /etc/ntp.conf ]; then
# NTPD_OPTS="$NTPD_OPTS -c /run/ntp.conf.dhcp"
# fi
然后删除DHCP脚本,重新加载守护进程脚本并重新启动NTP:
sudo rm /run/ntp.conf.dhcp
sudo systemctl daemon-reload
sudo systemctl restart ntp
现在,当NTP启动时,DHCP发现的NTP服务器被忽略,池被用来查找工作的NTP服务器。
编辑: Ubuntu 20.04更新的文件路径
https://askubuntu.com/questions/894883
复制相似问题