在 NTP(Network Time Protocol)的配置中,server
、pool
和 peer
是用于指定时间同步关系的关键字,它们在角色和行为上有一些区别。
server
:server
关键字用于指定一个或多个 NTP 服务器,这些服务器将提供时间信息给配置了server
的系统。配置系统将尝试与这些服务器同步时间。- chrony.conf man文档解释:server指令指定可用作时间源的NTP服务器。客户机-服务器关系是严格分层的:客户机可以将其系统时间与服务器的系统时间同步,但服务器的系统时间永远不会受到客户机系统时间的影响。DNS记录可以随时间变化。当服务器变得不可达,每30分钟最多自动更换一次。也可以通过chronyc中的refresh命令手动触发所有源。这个指令可以被多次使用来指定多个服务器(也就是说一次只能指定一个服务器)。
- 示例:
server ntp.example.com
pool
:pool
关键字用于指定一个 NTP 服务器池。NTP 服务器池包含多个服务器,可以通过 DNS 域名解析为多个 IP 地址。系统将从该池中选择一个服务器进行时间同步。chrony.conf man文档解释:该指令的语法类似于server指令,不同之处在于它用于指定NTP服务器池而不是单个NTP服务器。池名可以解析为多个地址,这些地址可能会随时间变化。
- 示例:
pool pool.ntp.org
peer
:peer
关键字用于配置两个系统之间的对等时间同步关系。当两个系统配置为peer
时,它们会相互同步彼此的时间。在 NTP 中,对等体之间的时间同步是相互的,双方都可以向对方提供时间信息,并进行彼此的校准。chrony.conf man文档解释:该指令的语法与服务器指令的语法相同,除了它指定了与NTP对等体的对称关联,而不是与NTP服务器的客户端/服务器关联。单个对称关联允许对等体互为服务器和客户端。
- 示例:
peer peer1.example.com
在实际使用中,选择 server
或 pool
取决于具体的需求。server
用于指定一个或多个特定的 NTP 服务器,而 pool
用于从一个服务器池中选择一个服务器。对于需要彼此同步时间的系统,可以使用 peer
配置彼此之间的对等时间同步。