![DST 摩洛哥,一种欺骗 NTP 服务器的方法](https://linux22.com/image/656013/DST%20%E6%91%A9%E6%B4%9B%E5%93%A5%EF%BC%8C%E4%B8%80%E7%A7%8D%E6%AC%BA%E9%AA%97%20NTP%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E6%96%B9%E6%B3%95.png)
多年来,摩洛哥一直使用格林威治标准时间,而没有夏令时。过去几年,我国政府重新启用夏令时。
在最初几年,DST 很混乱,有不同的时期、开始和结束,因此微软尝试发布一些补丁,但它们发布得很晚,而且有些年份,补丁不公开,我们不得不直接联系微软。
从今年起,摩洛哥的夏令时与欧洲的夏令时相同,只是摩洛哥将在斋月期间恢复为格林威治标准时间,斋月之后再次恢复夏令时。由于斋月是伊斯兰历的第九个月,因此无法设置每年都会更改的时区并计算夏令时/格林威治标准时间的变化。
我们的问题:
我们有 2003 个活动目录,三分之一的 LAN 装有 Ubuntu Desktop,与 AD 的连接是通过 centrify 完成的。我们还有许多计算机、AD 之外的服务器,并且有近百种网络设备、交换机、路由器、防火墙、电器。我们有一个 Linux NTP 服务器。
在 GMT 下一切运行正常,AD 控制器从 Linux NTP 服务器获取时间,其他设备和非 AD 设备也从 Linux NTP 服务器获取时间。
在DST模式下,存在很多问题,而且我的同事很固执,他们不懂NTP,他们总是强制使用第1点:
从 AD 控制器中删除 NTP 配置,将其时钟欺骗为 GMT+1,同时其时区仍为 GMT。
在此方案中,时钟不再准确,新时钟仅在 Windows AD 环境中运行。对于 Linux 计算机,即使它们是 AD 成员,我们也必须安装 NTP 守护程序并在其配置中添加我们的 DC
信息系统就像内战一样分裂,一部分有夏令时却没有准确的时钟,一部分有准确的时钟却没有夏令时,故障排除和跟踪日志几乎不可能。
将 NTP 配置保留在 AD 控制器上,修补信息系统
这是不可能的,因为没有这么疯狂巧妙的补丁
即使我找到补丁,也不会适用于我们信息系统中的所有产品,而且补丁必须是 2015 版本
在 AD 控制器上保留 NTP 配置,将时区更改为 GMT+1(如 WAT)
这很难做到,即使在 2003 年,也没有办法从 GPO 做到这一点!
即使有可能,在斋月期间,我们也必须将整个更改恢复为格林威治标准时间,并在斋月结束后再次激活更改
向摩洛哥政府提交请愿书,要求他们在斋月期间保持夏令时不变,并颁布法令,将工作时间从(格林威治标准时间 9 点至 15 点)改为(夏令时 10 点至 16 点)
我希望您能帮助我实现第五种情况:
信息系统完全没有变化,除了欺骗我们的 Linux NTP 服务器(Ubuntu 14.04),使其向客户端提供(世界时 + 1)而不是(世界时)
此场景需要进行一项更改,时钟将准确,而信息系统将通过停留在 GMT 时区来获得 DST 时间
答案1
欺骗计算机的问题在于,钟将显示正确,实际时间系统中存储的时间会有一个小时的误差。最终,您将获得操作系统的时区更新(如果操作系统仍受支持),然后时间错误就会出现。
这是通常处理时区更新的方法(正确的方法):
对于 Linux 系统(包括基于 Linux 的 NTP 服务器),您无需执行任何操作,只需确保软件包tzdata
保持最新即可。它始终会在 DST 更改之前尽可能提前更新,因为它由 IANA 维护。事实上,它已经考虑到了 2016 年、2017 年、2018 年、2019 年的斋月......我没有再往下看。
对于 Windows 系统来说,问题更加复杂。微软在及时发布时区变化方面表现不佳,尤其是在摩洛哥,2014 年,它发布了一个修补程序斋月夏令时变更3周后斋月开始了无论如何,目前你应该有正确的时间到斋月如果你已经申请了2014 年 12 月累计时区更新微软表示,他们将在未来某个时间发布一个针对 2015 年斋月的修补程序。尤其是考虑到微软在发布这些更新方面的糟糕记录,您应该尝试在它们可用时尽快推送它们。
如果 Microsoft 在斋月之前没有提供修补程序,我将使用 GPO 将所有 Windows 系统上的系统时区更改为 GMT,然后在斋月结束时将其改回,从而解决这个问题。如上所述,Linux 系统不需要任何更正。
最后,请注意,Server 2003 即将终止使用,不会再收到进一步的更新。这意味着不可能以任何合理的方式更新其夏令时概念。您应该尽快停用任何剩余的 XP 和 2003 系统(不仅出于这个原因,还出于所有其他原因)。
答案2
微软已经发布了一个修补程序: https://support.microsoft.com/kb/3062740。有一个2003补丁。
对于不再受支持的 Windows 操作系统,如果您没有使用 TZEdit 对时区进行自定义,您可以简单地导出/导入时区信息的注册表项,它将在所有 Windows 平台上运行。这可以通过组策略完成。(可能需要重新启动)。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones]
真正的解决方案是摩洛哥任命/选举对企业运作方式有正确认识的代表。
从根本上讲,夏令时是否有效值得怀疑(大多数国家都不使用夏令时),只有持续、可预测地应用夏令时,它才能发挥应有的作用。巴西、以色列和摩洛哥等国家认为他们可以在各地随意设置不同的夏令时日期,就好像这是他们可以随意玩弄的游戏一样,这是无能的。有时,没有一个万能的灵丹妙药可以解决无能的问题。