pool.ntp.org 的回复似乎最近发生了变化。这让我的 CentosOS 6 ntp 服务器不满意。
$ host pool.ntp.org
pool.ntp.org has address 0.0.0.2
pool.ntp.org has address 83.209.8.142
pool.ntp.org has address 130.236.254.17
pool.ntp.org has address 195.178.181.98
$ /usr/lib64/nagios/plugins/check_ntp_time -H pool.ntp.org
can't create socket connection#
$ strace -f /usr/lib64/nagios/plugins/check_ntp_time -H pool.ntp.org
...
connect(3, {sa_family=AF_INET, sin_port=htons(123), sin_addr=inet_addr("83.209.8.142")}, 16) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(123), sin_addr=inet_addr("130.236.254.17")}, 16) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 4
connect(4, {sa_family=AF_INET, sin_port=htons(123), sin_addr=inet_addr("195.178.181.98")}, 16) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 5
connect(5, {sa_family=AF_INET, sin_port=htons(123), sin_addr=inet_addr("83.209.8.142")}, 16) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 6
connect(6, {sa_family=AF_INET, sin_port=htons(123), sin_addr=inet_addr("0.0.0.2")}, 16) = -1 EINVAL (Invalid argument)
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6571c5b000
write(1, "can't create socket connection", 30can't create socket connection) = 30
exit_group(3) = ?
+++ exited with 3 +++
Run Code Online (Sandbox Code Playgroud)
似乎对此有普遍共识,正如现代 Ubuntu 所说:
$ ping 0.0.0.2
connect: Invalid argument
Run Code Online (Sandbox Code Playgroud)
我以为 0.0.0.2 是一个有效的 IP?
更新
这个问题确实是周期性的,并且已经持续了好几天(根据我的 nagios 从 2015-12-20 开始):
[12:40] host pool.ntp.org
pool.ntp.org has address 194.71.144.71
pool.ntp.org has address 79.136.86.176
pool.ntp.org has address 83.209.8.142
pool.ntp.org has address 178.73.198.130
[13:09] host pool.ntp.org
pool.ntp.org has address 194.71.144.71
pool.ntp.org has address 0.0.0.2
pool.ntp.org has address 178.73.198.130
pool.ntp.org has address 192.36.143.130
Run Code Online (Sandbox Code Playgroud)
我想正在进行某种排名战。
更新 2
对于那些感兴趣的人,当从瑞典查询 pool.ntp.org 的 DNS RR 时会出现此问题。
Mad*_*ter 10
在您列出的四台服务器中,三台在池中并且具有有效的服务器监控页面:
http://www.pool.ntp.org/scores/83.209.8.142
http://www.pool.ntp.org/scores/130.236.254.17
http://www.pool.ntp.org/scores/195.178.181.98
另一种是非法的,一种不会:
http://www.pool.ntp.org/scores/0.0.0.2
正如 kasperd 所指出的,在该 A 记录上返回的 RR 是循环负载平衡的,因此我们无法判断您的上游 DNS 是否在向您撒谎,或者是非法地址暂时进入池中。我从作为池管理员的经验中了解到,一个服务器必须是高度可用的,因此被监控系统评分很高,才能包含在池中。所以我个人怀疑无法访问的地址是否可以进入池,并怀疑这是上游 DNS 故障。但除非你能可靠地重现结果,否则我怀疑我们永远不会知道。
我pool.ntp.org
突然想到,如果使用 DNSSEC 签名,我们将立即能够判断这是缓存中毒问题还是池中的垃圾问题。如果我有一些空闲时间,我可能会在池服务器的管理员列表中提出这个问题。
编辑:我提出这个问题的管理员列表,并且已经有了一个独立确认这个地址确实似乎正在其放到池子里,即使它显然不应该。看这个空间,我猜。
编辑 2:显然,这是一个真正的错误,现在已经修复。我同意 kasperd 的观点,即追逐插件的作者是值得的,以使插件更健壮以防止池中的垃圾。
归档时间: |
|
查看次数: |
2275 次 |
最近记录: |