ntp.conf池与服务器指令


15

我遇到了一个指定池指令的ntp.conf文件:

# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
pool 0.ubuntu.pool.ntp.org
pool 1.ubuntu.pool.ntp.org
pool 2.ubuntu.pool.ntp.org
pool 3.ubuntu.pool.ntp.org

但它在同一文件中也有服务器指令,我对此更加熟悉。

阅读有关池的信息,我认为它是用来代替服务器的。您应该使用其中一个。

但是,如果ntp.conf同时具有两者,会发生什么?一组优先于另一组还是将全部使用?

这是在Ubuntu 14.04上,ntpd是版本4.2.6p5。

Answers:


8

据我在源代码中看到的,ntpd大致以相同的方式处理池的成员和单个服务器:它将它们添加到对等方列表中。

所有这些对等对象都由使用ntpd

池机制的神奇之处在于轮询DNS:ntpd通过DNS解析池名称时,DNS查询的响应是单个节点,每次请求解析时可能会有所不同。


2
discover.html我认为该文件是在ntpd文档中捆绑的。参见文件底部
mboehn,2015年

@Vincent我下载了源文件。您能否指出我应该在哪里进行验证?
user3141592 2015年

@mboehn在该文档及其引用的文件中,我看不到提及同时指定了池和服务器指令的新版ntpd会发生什么。如果我忽略了某些东西,请赐教。谢谢。
user3141592 2015年

参见ntp / ntp_config.c:3776。这就是配置文件解析对等点的地方。之后,对于peer_config查看ntp / ntp_peer.c:554,对于new_peer查看ntp / ntp_peer.c:730。您将看到两者最终都在new_peer的末尾添加到对等哈希表中。
Vincent De Baere 2015年

这不会帮助不知道服务器功能的人。您能解释一下服务器的功能,以便我可以与您的池功能的最后一句话进行比较。
bakalolo

8

答案由mboehn给出。要澄清更多:请参阅他提到文档。特别是最后几行:

使用一个或多个带有DNS名称的池命令来配置池方案,DNS名称指示从中汲取池。pool命令可以多次使用。检测到重复服务器并将其丢弃。原则上,可以使用包含单个行池pool.ntp.org的配置文件。NTP池项目提供了有关将池与服务器命令一起使用的说明,该命令不是最优的,但可以在池命令之前与较早版本的ntpd一起使用。对于最新的ntpd,请考虑将其示例中的多个服务器命令替换为单个pool命令

我的配置是:

# Specify one or more NTP servers.
pool 0.pool.ntp.org iburst
pool 1.pool.ntp.org iburst
pool 2.pool.ntp.org iburst
pool 3.pool.ntp.org iburst

# Provide your current local time as a default should you temporarly lose Internet connectivity
server 127.127.1.0
fudge 127.127.1.0 stratum 10

当我检查时,我现在有多个ntp服务器靠近我的地理位置(荷兰)

$ ntpq -4np

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 0.pool.ntp.org  .POOL.          16 p    -   64    0    0.000    0.000   0.000
 1.pool.ntp.org  .POOL.          16 p    -   64    0    0.000    0.000   0.000
 2.pool.ntp.org  .POOL.          16 p    -   64    0    0.000    0.000   0.000
 3.pool.ntp.org  .POOL.          16 p    -   64    0    0.000    0.000   0.000
 127.127.1.0     .LOCL.          10 l    -   64    0    0.000    0.000   0.000
-85.255.214.66   193.190.230.66   2 u    5   64  177    6.937    1.588   1.645
-5.39.184.5      91.148.192.49    3 u   64   64   77    8.907    1.197   1.635
-91.198.87.229   193.79.237.14    2 u    5   64  177    8.447   -0.042   0.894
+37.34.57.151    193.79.237.14    2 u    1   64  177    7.463    0.168   0.297
*91.198.87.118   192.87.110.2     2 u    2   64  177    8.593    0.070   0.384
+88.159.1.197    80.94.65.10      2 u    2   64  177   10.497    0.454   0.213
+213.154.236.182 213.136.0.252    2 u   67   64   77    8.793    0.455   2.391
#178.21.23.127   91.121.157.10    3 u   66   64   77    9.129   -0.911   1.541
#213.109.127.195 193.79.237.14    2 u   66   64   77   11.766   -7.330   1.501
+213.154.229.24  80.50.231.226    2 u    4   64  177    8.496    0.121   0.538
-217.77.132.1    213.136.0.252    2 u    2   64  177    7.026   -0.782   1.253
#87.253.148.92   195.13.1.153     3 u    4   64  177    7.338   -3.859   0.964
-94.228.220.14   193.67.79.202    2 u    -   64  177    8.347    2.797   1.019

1

为了使NTP能够正确地请求时间服务器池,并在任何故障转移方案中利用时间服务器的可用性,ntp.conf应进行以下配置:

  • 使用pool命令声明池的域名(而不是server

  • 允许池动员关联(即添加restrict source不包含nopeer指令的“ ...”行)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.