Sie können dies ein wenig untersuchen, indem Sie in die Ausgabe strace
wie folgt schauen :
$ strace ntpq -pn ::1|& grep -i conn
connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(3, {sa_family=AF_INET6, sin6_port=htons(123), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0
recvfrom(3, 0x7fffc3365a10, 516, 0, 0, 0) = -1 ECONNREFUSED (Connection refused)
write(2, "Connection refused\n", 19Connection refused
Beachten Sie, dass für die Verbindung IPv6 verwendet wird. Grundsätzlich diese Zeile:
connect(3, {sa_family=AF_INET6, sin6_port=htons(123), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0
Lauscht NTPD auf einem IPv6-Port?
$ netstat -taupn|grep udp|grep ntp
udp 0 0 10.22.7.237:123 0.0.0.0:* 24213/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 24213/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 24213/ntpd
Es scheint also nicht auf IPv6 zu hören, daher der Fehler. Wir können dies umgehen ntpq -pn
, indem wir anweisen, stattdessen explizit eine Verbindung auf ipv4 herzustellen:
$ ntpq -pn 127.0.0.1
remote refid st t when poll reach delay offset jitter
==============================================================================
+69.89.207.199 212.215.1.157 2 u 209 256 377 43.582 2.768 0.076
-72.5.72.15 10.3.255.0 3 u 217 256 377 68.627 -1.833 4.388
*204.11.201.12 66.220.9.122 2 u 244 256 377 61.928 -0.712 0.234
+108.59.2.24 130.133.1.10 2 u 178 256 377 1.824 3.256 0.111
Viel besser. Und Sie können unsere Logik strace
erneut bestätigen, indem Sie :
$ strace ntpq -pn 127.0.0.1|& grep -i conn
connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(3, {sa_family=AF_INET, sin_port=htons(123), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
connect(4, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(4, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
Beachten Sie, dass IPv4 verwendet, sa_family=AF_INET
während IPv6 verwendet wird, sa_family=AF_INET6
wenn der ntpq
Client versucht, ntpd
über UDP auf Port 123 eine Verbindung zu Ihnen herzustellen.
Wir können auch die -4
und- -6
Schalter verwenden, ntpq -pn
um:
$ ntpq -pn -4
remote refid st t when poll reach delay offset jitter
==============================================================================
+69.89.207.199 212.215.1.157 2 u 235 256 377 43.582 2.768 0.047
-72.5.72.15 10.3.255.0 3 u 248 256 377 68.627 -1.833 4.417
*204.11.201.12 66.220.9.122 2 u 265 256 377 61.802 -0.765 0.198
+108.59.2.24 130.133.1.10 2 u 212 256 377 1.824 3.256 0.097
Verweise
Ich hatte kürzlich das gleiche Problem mit CentOS7. ntpq -p würde 'read: Verbindung abgelehnt' sowie viele andere Befehle im ntp-Debug wie 'clocklist' und einige andere anzeigen. NTP-Server, die ich in ntp.conf festgelegt habe, wurden ignoriert. Hier sind einige andere bemerkenswerte Ergebnisse:
Wenn ich die IP des verwendeten NTP-Servers überprüfte, war es immer etwas von ARIN (?) Oder einem großen Anbieter wie Level3. Ich konnte den Server nicht auswählen, aber die verwendeten Server sahen in Ordnung aus. Aber ich würde trotzdem nicht meine eigenen Server auswählen können, egal was ich getan habe
/etc/ntp.conf
.Ich begann zu vermuten, dass ich irgendwie ein schlechtes Programm hatte, und ich begann zu vermuten, dass das Epel-Repository, das ich geladen hatte, einige andere Programme von dort benötigte.
Sicher genug, ich habe Folgendes durchgeführt und das Problem behoben:
Es wurde neu installiert,
ntpq -p
funktioniert jetzt und wirdsystemctl status ntpd
wie folgt angezeigt:Schließlich werden die Server verwendet, die ich eingerichtet
/etc/ntp.conf
habe.Ich weiß nicht, wie ich erfahren soll, dass ihr CentOS7-NTP irgendwie abgespritzt ist. Vielleicht wird jemand dies sehen und berichten.
Beachten Sie, dass sowohl epel als auch das CentOS-Repository dieselbe Version zeigten :
ntp-4.2.6p5-29.el7.centos.x86_64
.quelle