Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

19.17. 配置 NTP

要更改 NTP 服务的默认配置,请使用以 root 用户身份运行的文本编辑器来编辑 /etc/ntp.conf 文件。此文件与 ntpd 一同安装,默认配置为使用红帽池中的时间服务器。man page ntp.conf(5) 描述了除访问和速率限制命令之外的配置文件中可以使用的命令选项,这些选项在 ntp_acc(5) 手册页中进行了说明。

19.17.1. 配置 NTP 服务的访问权限控制

要限制或控制对系统上运行的 NTP 服务的访问,请使用 ntp.conf 文件中的 restrict 命令。请参阅注释掉示例:

# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

restrict 命令采用以下格式:

restrict address [mask mask] option

其中地址和 掩码指定您要应用限制的 IP 地址,选项是以下一个或多个

  • 忽略 - 所有封包都将被忽略,包括 ntpqntpdc 查询。
  • Kod - 将发送"Kiss-o'-death"数据包,以减少不需要的查询。
  • 有限 - 如果数据包违反速率限制默认值或 discard 命令指定的值,则不要响应时间服务请求。ntpqntpdc 查询不受影响。有关 discard 命令和默认值的详情请参考 第 19.17.2 节 “配置对 NTP 服务的访问权限等级限制”
  • lowpriotrap - 匹配主机设置的陷阱低优先级。
  • nomodify - 阻止对配置进行任何更改。
  • noquery - 防止回答 ntpqntpdc 查询,但不提供时间查询。
  • nopeer - 阻止形成同级关联.
  • noserve - 拒绝 ntpq 和 ntp dc 查询以外的所有数据包。
  • notrap - 防止 ntpdc 控制消息协议陷阱.
  • notrust - 拒绝未经加密身份验证的数据包。
  • ntpport - 修改匹配算法,使其仅在源端口是标准 NTP UDP 端口 123 时应用限制。
  • Version - 拒绝与当前 NTP 版本不匹配的数据包。

要将速率限制访问配置为完全不响应查询,相应的 restrict 命令必须具有 有限 选项。如果 ntpd 应该回复 KoD 数据包,则 restrict 命令需要同时具有 有限和 kod 选项。

ntpqntpdc 查询可用于放大攻击(如需了解更多详细信息,请参阅 CVE-2013-5211 ),不要从 restrict default 命令中删除公开可访问的系统上的 noquery 选项。

19.17.2. 配置对 NTP 服务的访问权限等级限制

要启用对系统中运行的 NTP 服务的速率限制访问,请在 restrict 命令中添加 restricted 选项,如 第 19.17.1 节 “配置 NTP 服务的访问权限控制” 中所述。如果您不想使用默认丢弃参数,则也使用 discard 命令,如下所述。

discard 命令采用以下格式:

discard average value minimum value monitor value
  • 平均 - 指定允许的最低平均数据包间隔,它在 log2 秒中接受参数。默认值为3(23 等于 8 秒)。
  • minimum - 指定允许的最小数据包间隔,它接受 log2 秒中的参数。默认值为1(21 等于 2 秒)。
  • monitor - 指定数据包在超过允许的速率限值后丢弃的可能性。默认值为 3000 秒。这个选项适用于每秒接收 1000 个或更多请求的服务器。

discard 命令示例如下:

discard average 4
discard average 4 minimum 2

19.17.3. 添加 Peer 地址

要添加对等点的地址,就是说,运行同一级别 NTP 服务的服务器的地址,请使用 ntp.conf 文件中的 peer 命令。

peer 命令的格式如下:

peer address

其中 addressIP 单播地址或 DNS 可解析名称。地址必须是已知属于同一级别成员的系统的地址。同伴应至少有一个相互不同的时间源。同行通常处于相同的管理控制之下。

19.17.4. 添加服务器地址

要添加服务器的地址,也就是说,运行较高级别 NTP 服务的服务器的地址将使用 ntp.conf 文件中的 server 命令。

server 命令的格式如下:

server address

其中 addressIP 单播地址或 DNS 可解析名称。要接收数据包的远程参考服务器或本地参考时钟的地址。

19.17.5. 添加广播或多播服务器地址

要添加用于发送的广播或多播地址,就是说,广播或多播 NTP 数据包的地址将利用 ntp.conf 文件中的 broadcast 命令。

默认情况下,广播和多播模式需要进行身份验证。请参阅 第 19.6 节 “NTP 验证选项”

广播 命令的格式如下:

broadcast address

其中 address 是将数据包发送到的 IP 广播或多播地址。

此命令将系统配置为充当 NTP 广播服务器。使用的地址必须是广播或多播地址。广播地址表示 IPv4 地址 255.255.255.255。默认情况下,路由器不会传递广播消息。多播地址可以是 IPv4 类 D 地址,也可以是 IPv6 地址。IANA 已将 IPv4 多播地址 224.0.1.1IPv6 地址 FF05::101 (站点 local)分配给 NTP。也可在管理员范围内使用 IPv4 多播地址,如 RFC 2365 管理员跳过 IP 多播 所述。

19.17.6. 添加多播客户端地址

要添加多广播客户端地址,也就是说,若要配置用于 NTP 服务器发现的多播地址,请使用 ntp.conf 文件中的 manycastclient 命令。

manycastclient 命令采用以下格式:

manycastclient address

其中 address 是将要从中接收数据包的 IP 多播地址。客户端将向地址发送请求,然后从响应中选择最好的服务器并忽略其他服务器。然后 NTP 通信使用单播关联,就如在 ntp.conf 中列出了发现的 NTP 服务器一样。

此命令将系统配置为充当 NTP 客户端。系统可以同时是客户端和服务器。

19.17.7. 添加广播客户端地址

要添加广播客户端地址,也就是说,若要配置要监控的广播地址以获取广播 NTP 数据包,请使用 ntp.conf 文件中的 broadcastclient 命令。

broadcastclient 命令的格式如下:

broadcastclient

启用广播消息的接收。默认要求身份验证.请参阅 第 19.6 节 “NTP 验证选项”

此命令将系统配置为充当 NTP 客户端。系统可以同时是客户端和服务器。

19.17.8. 添加多广播服务器地址

要添加多广播服务器地址,就是说,要配置地址以允许客户端通过多播 NTP 数据包发现服务器,请使用 ntp.conf 文件中的 manycastserver 命令。

manycastserver 命令的格式如下:

manycastserver address

支持发送多播消息。其中 address 是多播到.这应当与身份验证一起使用,以防止服务中断。

此命令将系统配置为充当 NTP 服务器。系统可以同时是客户端和服务器。

19.17.9. 添加多播客户端地址

要添加多播客户端地址,也就是说,要配置要监控多播 NTP 数据包的多播地址,请使用 ntp.conf 文件中的 多播client 命令。

multicast client 命令的格式如下:

multicastclient address

支持接收多播消息。其中 address 是要订阅的地址。这应当与身份验证一起使用,以防止服务中断。

此命令将系统配置为充当 NTP 客户端。系统可以同时是客户端和服务器。

19.17.10. 配置 Burst 选项

对公共服务器使用 突发 选项被视为滥用。不要将这个选项用于公共 NTP 服务器。仅将其用于您自己的组织内的应用程序。

要提高平均时间偏移统计信息,请在服务器命令末尾添加以下选项:

burst

在每个轮询间隔中,当服务器响应时,系统将发送一个最多 8 个数据包的突发事件,而不是通常的一个数据包。用于 server 命令,以提高超时计算的平均质量。

19.17.11. 配置 iburst 选项

要延长初始同步所需的时间,请在服务器命令末尾添加以下选项:

iburst

当服务器无法访问时,发送包含 8 个数据包的突发事件,而不是通常的一个数据包。数据包间通常为 2s;但是,第一个和第二个数据包之间的间隔可以通过 calldelay 命令更改,以便有更多时间完成 modem 或 ISDN 调用。以便与 server 命令搭配使用,以减少初始同步所需的时间。现在,这是配置文件中的默认选项。

19.17.12. 使用密钥配置对称身份验证

要使用密钥配置对称验证,请在服务器或对等命令末尾添加以下选项:

key number

其中 数字 介于 165534 之间。此选项允许在数据包中使用消息身份验证代码 (MAC)。此选项用于 peer、server、cast 和many castclient 命令。

该选项可在 /etc/ntp.conf 文件中使用,如下所示:

server 192.168.1.1 key 10
broadcast 192.168.1.255 key 20
manycastclient 239.255.254.254 key 30

另请参阅 第 19.6 节 “NTP 验证选项”

19.17.13. 配置 Poll Interval

要更改默认轮询间隔,请在服务器或对等命令末尾添加以下选项:

minpoll value and maxpoll value

用于更改默认轮询间隔的选项将通过增加 2 到值幂数来计算间隔 (以秒为单位),换句话说,间隔以 log2 秒表示。默认的 minpoll 值为 6,26 等于 64 s。maxpoll 的默认值为 10,等于 1024。允许的值介于 3 到 17 范围中,分别等于 8 s 到 364 h。这些选项可用于 peerserver。设置较短的 maxpoll 可以提高时钟准确性。

19.17.14. 配置服务器首选项

要指定特定服务器应高于其他具有类似统计质量的服务器,请在服务器或对等命令的末尾添加以下选项:

prefer

使用此服务器进行同步,优先选择其他具有类似统计质量的服务器。此选项用于 peerserver 命令。

19.17.15. 配置 NTP 数据包的生存时间

要指定应该使用特定的生存时间(TTL )值代替默认值,请在服务器或 peer 命令末尾添加以下选项:

ttl value

指定要在广播服务器和多播 NTP 服务器发送的数据包中使用的数据包的生存时间值。指定多播客户端用于"展开环搜索"的最大时间到活动值。默认值为 127

19.17.16. 配置 NTP 版本以使用

要指定应该使用特定版本的 NTP 来代替默认值,请在服务器或 peer 命令末尾添加以下选项:

version value

指定在创建的 NTP 数据包中设置的 NTP 版本。该值可以在 14 范围内。默认值为 4