如何验证 linux ntp 客户端的设置?

如何验证 linux ntp 客户端的设置?

我目前正在管理一些 RHEL 7.9 主机,这些主机需要将时间同步到 NTP 服务器,并且只有 ntpd 可用于时间同步。

我在操作系统中做了以下配置,但不确定结果是否表明它们正确。

  1. 环境中的时间服务器是192.168.30.200
  2. 在/etc/ntp.conf文件中,参数写入:server 192.168.30.200restrict 192.168.30.200
  3. 命令chkconfig ntpd on启动ntpd。
  4. 命令ntpdate -dv 192.168.30.200进行时间同步(是立即同步时间的命令吗?)输出如下:
7 Nov 13:51:42 ntpdate[128853]: ntpdate [email protected] Mon Jun  1 11:18:15 UTC 2020 (1)
Looking for host 192.168.30.200 and service ntp
host found : 192.168.30.200
transmit(192.168.30.200)
receive(192.168.30.200)
transmit(192.168.30.200)
receive(192.168.30.200)
transmit(192.168.30.200)
receive(192.168.30.200)
transmit(192.168.30.200)
receive(192.168.30.200)
server 192.168.30.200, port 123
stratum 4, precision -23, leap 00, trust 000
refid [192.168.30.200], delay 0.02632, dispersion 0.00005
transmitted 4, in filter 4
reference time:    e7131a05.fd12bbc4  Mon, Nov  7 2022 13:45:41.988
originate timestamp: e7131b75.00e9ce65  Mon, Nov  7 2022 13:51:49.003
transmit timestamp:  e7131b75.004901f8  Mon, Nov  7 2022 13:51:49.001
filter delay:  0.02666  0.02657  0.02632  0.02663
         0.00000  0.00000  0.00000  0.00000
filter offset: 0.001956 0.001816 0.001894 0.001940
         0.000000 0.000000 0.000000 0.000000
delay 0.02632, dispersion 0.00005
offset 0.001894

 7 Nov 13:51:49 ntpdate[128853]: adjust time server 192.168.30.200 offset 0.001894 sec

输出是否意味着时间服务器正在运行并且时间已在 ntp 客户端上同步?

答案1

ntpdate不使用本地ntpd守护程序。无需安装、配置或运行即可运行ntpd。它会进行一次性同步、设置时间并退出。

就您而言,由于您添加了-d,它实际上甚至没有设置时间。

查询状态的工具ntpdntpq。您可能正在寻找的是ntpq -p,它将列出当前的对等点/服务器,以及有关它们的一些信息,例如它们的层(它们与真正好的时钟的距离)、上次看到的时间、轮询的频率、可达性、延迟、偏移和抖动。它还会告诉您当前使用哪个服务器作为参考。

例子:

$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+dedibox.demonge 145.238.203.14   2 u  916 1024  377    5.333   -0.549   2.322
+ns.daupheus.com 145.238.203.14   2 u 1020 1024  377    5.433   -0.408   0.485
*82-64-45-50.sub .GPS.            1 u  777 1024  377   14.359   -0.669   0.353
+ip139.ip-5-196- 145.238.203.14   2 u  213 1024  377    2.188   -0.723   0.758
-time.cloudflare 10.20.8.4        3 u  664 1024  377    5.483    0.066   0.398
+194.169.214.72  17.253.108.125   2 u  940 1024  377    5.915   -0.459   0.443

当前活动参考是带有 的参考*,它从 GPS 获得时间,属于层 1。层 2 处还有一些其他替代方案+(它们从另一台服务器(属于层 1)获得时间),依此类推。

答案2

7 十一月 13:51:49 ntpdate[128853]: 调整时间服务器 192.168.30.200 偏移量 0.001894 秒

此行意味着您与 NTP 服务器的偏移量为 0.001894 秒。

我目前正在管理一些 RHEL 7.9 主机,这些主机需要将时间同步到 NTP 服务器,并且只有 ntpd 可用于时间同步。

如果您的 ntpd 服务已启用且其状态为已启动,则您的时间将自动同步。您可以使用以下命令检查服务状态:

sudo systemctl status ntpd

答案3

是的,它足够同步。


如果您只想了解本地机器是否同步的信息,您可以使用ntpstat

ntpstat 命令将报告本地机器上运行的 NTP 守护进程的同步状态。如果发现本地系统与参考时间源同步,ntpstat 将报告大致的时间精度。

ntpstat 命令的退出状态

您可以使用退出状态从 shell 脚本或命令行本身验证其操作:

  • 退出状态0:时钟已同步
  • 退出状态1:时钟不同步
  • 退出状态2:时钟状态未知,例如,如果 ntpd 不可访问

示例输出

$ ntpstat
synchronised to NTP server (149.20.54.20) at stratum 3 
   time correct to within 42 ms
   polling server every 1024 s


$ echo $?
0

相关内容