我有一个运行不同操作系统的服务器的内部networking,所有的都通过NTP同步,但我想检查它们确实同步。 有没有一个工具(最好是一个Linux工具)这样做?
这取决于允许来自外部的状态查询的各种服务器。 不是全部。 Windows尤其不能响应标准的NTP状态请求。 如果他们不这样做,你必须添加轮询服务器到NTPconfiguration的允许列表(如果可能的话)。
对于那些做出响应的人来说, ntpq命令就是为了做到这一点。
ntpq -c lo $target
你将不得不分析输出,但是这可以结合一些nmap脚本来识别带有打开的NTP主机的上位主机来查询。
或者你可以使用一个实际的监测框架。
Nagios有一个NTP插件。 它将连接到目标系统上的NTP服务器,并将其时间与当地时间进行比较。 您可以为时差设置警告和关键级别。
假设服务器没有被configuration为忽略本地networking,你可以从一个中央盒子
central% /usr/sbin/ntptrace remotehost
你应该看到类似的东西
remotehost: stratum 3, offset 0.002664, synch distance 0.120534
如果你的本地防火墙允许随机的NTPstream量进入互联网,你会看到更多,或许是这样的:
remotehost: stratum 3, offset 0.005108, synch distance 0.085819 maverick.mcc.ac.uk: stratum 2, offset -0.000428, synch distance 0.032754 ntp2.ja.net: stratum 1, offset 0.000083, synch distance 0.002045, refid 'MSF'
如果你什么都看不到,这意味着ntp已经被configuration为忽略你; 您可能需要login框才能在此运行ntptrace。 问题在于某人的解禁:
bustedbox: stratum 16, offset 0.000000, synch distance 0.000015