我正在调查一个典型的 NTP 问题。设置如下:-
FreeBSD 正在 Opensolaris 上编译和运行。OpenSolaris 上的配置文件包含 linux 和另一台 opensolaris 机器作为服务器,这些服务器机器只与自己(本地时钟)同步时间。在这种情况下,服务器机器上也运行着 NTP。在启动 ntp 守护进程的几分钟内,客户端开始只与自己同步时间,之后一直保持这种状态。所有服务器都被丢弃,并且不会与它们进行时间同步。
我的问题是,这种设置是否存在根本问题。NTP 可以在与可靠的互联网时间源没有直接或间接连接的孤立网络中工作吗?
答案1
我对 Linux/Unix 一无所知,但我可以告诉你,服务器之间不应该同步,因为服务器 A 使用服务器 B 作为时间服务器,服务器 B 使用服务器 A 作为时间服务器,因为这样很可能会导致问题。选择一个服务器作为权威时间服务器,并配置另一个服务器与其同步。
时间是相对的。服务器和客户端不知道也不关心它们是否在使用由某个外部时钟确定的正确时间。在闭环系统中,时间就是您配置的任何时间。服务器和客户端会认为这是正确的时间。
答案2
是的,但你必须对 NTP 撒谎。本质上,你选择一台服务器作为时间服务器,然后在该主机上配置 NTP 以使其具有权威性尽管这毫无道理(即,不能直接访问零层服务器,或通过网络访问较低层的服务器)。然后只有那时您将其他主机配置为查看“权威”服务器,它们将与其同步。否则,没有主机会认为自己是权威的,也不会允许任何其他主机与其同步,这就是您所看到的情况。
如果记忆不错的话,“权威”服务器应该有类似这样的内容
# use local clock
server 127.127.1.0
fudge 127.127.1.0 stratum 10
尽管这是根据记忆,你可能需要稍微玩一下。
答案3
如果您想要一个精确的时间源而没有任何互联网连接,您可以使用串行 GPS,插入充当 NTP 服务器的机器。