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 地址,选项是以下一个或多个 :
-
忽略
- 所有封包都将被忽略,包括ntpq
和ntpdc
查询。 -
Kod
- 将发送"Kiss-o'-death"数据包,以减少不需要的查询。 -
有限
- 如果数据包违反速率限制默认值或discard
命令指定的值,则不要响应时间服务请求。ntpq
和ntpdc
查询不受影响。有关discard
命令和默认值的详情请参考 第 19.17.2 节 “配置对 NTP 服务的访问权限等级限制”。 -
lowpriotrap
- 匹配主机设置的陷阱低优先级。 -
nomodify
- 阻止对配置进行任何更改。 -
noquery
- 防止回答ntpq
和ntpdc
查询,但不提供时间查询。 -
nopeer
- 阻止形成同级关联. -
noserve
- 拒绝ntpq 和 ntp
dc
查询以外的所有数据包。 -
notrap
- 防止ntpdc
控制消息协议陷阱. -
notrust
- 拒绝未经加密身份验证的数据包。 -
ntpport
- 修改匹配算法,使其仅在源端口是标准NTP
UDP
端口123
时应用限制。 -
Version
- 拒绝与当前NTP
版本不匹配的数据包。
要将速率限制访问配置为完全不响应查询,相应的 restrict
命令必须具有 有限
选项。如果 ntpd
应该回复 KoD
数据包,则 restrict
命令需要同时具有 有限和
kod
选项。
ntpq
和 ntpdc
查询可用于放大攻击(如需了解更多详细信息,请参阅 CVE-2013-5211 ),不要从 restrict default
命令中删除公开可访问的系统上的 noquery
选项。
19.17.2. 配置对 NTP 服务的访问权限等级限制
要启用对系统中运行的 NTP
服务的速率限制访问,请在 restrict
命令中添加 restricted 选项
,如 第 19.17.1 节 “配置 NTP 服务的访问权限控制” 中所述。如果您不想使用默认丢弃参数,则也使用 discard
命令,如下所述。
discard
命令采用以下格式:
discard
average
valueminimum
valuemonitor
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
其中 address 是 IP
单播地址或 DNS
可解析名称。地址必须是已知属于同一级别成员的系统的地址。同伴应至少有一个相互不同的时间源。同行通常处于相同的管理控制之下。
19.17.4. 添加服务器地址
要添加服务器的地址,也就是说,运行较高级别 NTP
服务的服务器的地址将使用 ntp.conf
文件中的 server
命令。
server
命令的格式如下:
server
address
其中 address 是 IP
单播地址或 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.1
和 IPv6 地址
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
其中 数字 介于 1
到 65534
之间。此选项允许在数据包中使用消息身份验证代码 (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 andmaxpoll
value
用于更改默认轮询间隔的选项将通过增加 2 到值幂数来计算间隔 (以秒为单位),换句话说,间隔以 log2 秒表示。默认的 minpoll
值为 6,26 等于 64 s。maxpoll
的默认值为 10,等于 1024。允许的值介于 3 到 17 范围中,分别等于 8 s 到 364 h。这些选项可用于 peer
或 server
。设置较短的 maxpoll
可以提高时钟准确性。
19.17.14. 配置服务器首选项
要指定特定服务器应高于其他具有类似统计质量的服务器,请在服务器或对等命令的末尾添加以下选项:
prefer
使用此服务器进行同步,优先选择其他具有类似统计质量的服务器。此选项用于 peer
或 server
命令。
19.17.15. 配置 NTP 数据包的生存时间
要指定应该使用特定的生存时间(TTL )值代替默认值,请在服务器或 peer 命令末尾添加以下选项:
ttl
value
指定要在广播服务器和多播 NTP
服务器发送的数据包中使用的数据包的生存时间值。指定多播客户端用于"展开环搜索"的最大时间到活动值。默认值为 127
。
19.17.16. 配置 NTP 版本以使用
要指定应该使用特定版本的 NTP
来代替默认值,请在服务器或 peer 命令末尾添加以下选项:
version
value
指定在创建的 NTP
数据包中设置的 NTP
版本。该值可以在 1
到 4
范围内。默认值为 4
。