答案1
您可以在自己控制的独立网络上创建自己的时间标准。这有点笨拙。为了实现这一点,您必须将所有计算机配置为仅与您控制的时间服务器同步。我提供了四种可能性。我认为您最好的选择是第一种或第二种,具体取决于您的时间限制有多严格。
请记住,对于以下所有选项,您需要确保服务器没有跳跃文件,并且没有任何计算机向外界询问时间。
ntpd 参考实现与无纪律的本地时钟 (推荐/最简单):
如果您希望 ntp 服务器提供不同于 UTC 的时间,这非常简单。将硬件/内核时钟设置为您需要的任何假时间。然后配置 ntpd 以使用 Undisciplined Local Clock 驱动程序 (127.127.1.x) 并且不使用外部时钟。ntp 服务器将顺利运行并提供本地时钟。一个问题是,由于您使用的是本地时钟驱动程序,因此时间将不稳定,并且会以毫秒为单位向某个方向漂移,因为石英晶体不是铷原子参考。如果您需要假时间和稳定性,则需要使用选项 #2。
带有 ULC 和 PPS 源的 ntpd 参考实现(推荐/稳定):
使用上面描述的 ULC 并添加 PPS 源。添加 PPS 源后,您需要在 ntp.conf 中为 ULC 条目添加首选关键字。这意味着服务器的时钟保持稳定,因为 PPS 源会为您计时每一秒。
具有外部时钟规则和本地时钟驱动程序的 ntpd 参考实现(复杂):
这仍然是一个依赖于使用 ntpd 参考实现的解决方案,但我对它不太熟悉。我所能做的就是给你提供更多详细信息的链接: http://www.eecis.udel.edu/~mills/ntp/html/extern.html
Jans - 第三方 ntp 测试工具(比#3更容易,但实体不明)
我没有使用过该产品,但我从 ntp 邮件列表中知道它。它允许您使用服务器伪造时间,但它不像参考实现那样执行任何时钟规则。更多信息:http://www.vanheusden.com/time/jans/
答案2
根据NTP 项目关于此主题的页面,您这样做是错误的。 UTC 作为一个假设深深嵌入在 NTP 中,但“正确”的时区文件通常是可用的 - 我的桌面是 Fedora 20,它们作为软件包的标准部分tzdata
,位于 中/usr/share/zoneinfo/right/
。
不要尝试让 NTP 将时钟同步到非 UTC 标准,而是让 NTP 保持时钟同步于 UTC,并让系统从符合 TAI 的时区文件中获取其标准时区,以便为所有请求的应用程序以 TAI 格式表示此时间。