我已设置加拿大的 NTP 时间(0.ca.pool.ntp.org、1.ca.pool.ntp.org、2.ca.pool.ntp.org,取自https://www.pool.ntp.org/zone/ca)。同步服务器 IP 为 192.210.199.110(层 2)。我检查 IP 地址时发现它来自美国。但是,防火墙的时间仍然是本地时间(GMT),而不是加拿大时间。
我对 NTP 的理解是否正确,防火墙应该将其 NTP 时间设置为加拿大(这意味着防火墙的时间应该与加拿大当前时间相同)
实际的问题是,我当前的时间是 GMT +1,但防火墙仍然显示为 GMT 0,这让我开始思考 NTP 是否真的在工作,以及我所理解的是否如此。
防火墙 NTP 时间和同步服务器
答案1
来自维基百科网络时间协议
NTP 旨在将所有参与的计算机同步到几毫秒之内 协调世界时 (UTC)。
NTP 没有“本地”时间的概念,因为如果不知道服务器与它的时间来源“主”或父源之间的偏移量,就几乎不可能以任何合理的方式同步服务器。
如果移动了服务器或者调整了偏移量,那么这种变化就会传递到下面的每个服务器,如果机器依赖于该时间服务器,那么可能会改变整个互联网的时间。
相反,NTP 为所有服务器提供相同的时间:UTC。
这样,只需同步“当前”时间即可。无需跟踪或追踪偏移量,完全由客户端自行计算其自己的“本地”时间。
这通常通过系统“时区”设置来完成。在 Linux 中,您可以使用timedatectl
(请参阅 Linuxize如何获取或更改时区) 在 Windows 中,您通常使用控制面板区域或时间设置来设置时区信息。
那么我们为什么要有区域 NTP 服务器呢?为了平衡时间请求的负载和整体准确性。向地球另一端发送 NTP 请求可能会因卫星链路和配置不当的防火墙而产生较大的延迟,而且理论上路由可能会随时发生变化。如果路由是静态的,那么您至少可以计算出往返时间并以此补偿您的本地时间。如果出于偏好,您最终会发出多个请求并平均往返时间。
通过使用地理位置更本地化的服务器,您有望减少往返时间,减少多次时间请求的需要(减少服务器负载)并获得更准确的真实“当前”时间读数。