Zeitüberschreitung, nichts erhalten


9

Ich habe alles versucht und viel gegoogelt! Aber ich kann auf meinem Server kein NTP zum Laufen bringen. Dieser Beitrag ist letzte Hoffnung! Ich habe ntp auf einem Debian-Server mit dieser Konfiguration installiert ( /etc/ntp.conf):

driftfile /var/lib/ntp/ntp.drift

statdir /var/log/ntpstats/

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.it.pool.ntp.org iburst
server 1.it.pool.ntp.org iburst
server 2.it.pool.ntp.org iburst
server 3.it.pool.ntp.org iburst

restrict -4 default nomodify nopeer noquery notrap
restrict -6 default nomodify nopeer noquery notrap

# Restrict eth0 ip
restrict 192.168.1.1
restrict 127.0.0.1 noserve nomodify
restrict ::1

Wenn ich es jetzt versuche:

ntpq -pn
127.0.0.1: timed out, nothing received
***Request timed out

Wenn ich es versuche:

ntpdate -q
9 Mar 18:08:01 ntpdate[27896]: no servers can be used, exiting

Aber mit:

ntpdate -d 0.it.pool.ntp.org

Ich empfange eingehende Pakete und stelle den Zeitversatz ein. Dies führte mich zu einer falschen ntp.conf- Konfiguration.

Irgendwelche Hinweise, warum dies geschieht.


Welche Datei zeigen Sie? Ist das /etc/ntp.conf? Sind Sie sicher über diese NTP-Server? Versuchen Sie es mit Debian, meine (funktionierende) ntp.conf ist hier .
Terdon

Ja, es ist ntp.conf. Ich werde es mit Debians Servern versuchen. Danke
Test

Nein, immer die gleichen Fehler.
Test

Angenommen, Sie haben ntpd nach diesen Änderungen neu gestartet. Ist das richtig? service ntpd restart.
slm

1
Auch Ihre Beschränkungslinien sind seltsam ... Schauen Sie unter support.ntp.org/bin/view/Support/AccessRestrictions
derobert

Antworten:


3

Wenn keiner der NTP-Server, die Sie versuchen, zu antworten scheint, blockiert wahrscheinlich eine Firewall ausgehende Anforderungen oder eingehende Antworten.

NTP verwendet den UDP-Port 123. Sie können überprüfen, ob ausgehende Anforderungen blockiert werden, indem Sie traceroute auf diesem Port ausführen. Abhängig von Ihrer Implementierung von Traceroute kann dies ungefähr so ​​sein traceroute -p 123 0.it.pool.ntp.org(Debian enthält mehrere Implementierungen von Traceroute, Check traceroute --helpoder man tracerouteauf Ihrem System). Wenn eingehende Anforderungen blockiert werden, ausgehende Anforderungen jedoch eingehen, können Sie meines Erachtens nicht diagnostizieren, wo sie blockiert sind, ohne auf einen Computer außerhalb Ihres Netzwerks zuzugreifen (wenn Sie Zugriff auf einen solchen Computer haben, führen Sie ihn aus traceroute -p 123 your.ip.address). Beachten Sie , dass für die Verwendung von NTP die Zusammenarbeit Ihres Netzwerkadministrators erforderlich ist , wenn Sie eine private IP-Adresse haben (insbesondere NTP-Unterstützung in der NAT- Appliance).

Wenn Sie auf Ihrem Computer eine Firewall eingerichtet haben, stellen Sie sicher, dass NTP durchgelassen wird. Der einfache Weg besteht darin, den gesamten Datenverkehr auf dem UDP-Port 123 zuzulassen:

iptables -A INPUT -p udp --sport 123 --dport 123 -j ACCEPT
iptables -A OUTPUT -p udp --sport 123 --dport 123 -j ACCEPT

(Möglicherweise möchten Sie -d/ -sAnweisungen hinzufügen , um sie auf eine bestimmte IP-Adresse oder einen bestimmten Satz von IP-Adressen zu beschränken. Beachten Sie, dass Sie diese Regeln aktualisieren müssen, wenn die NTP-Server in dem Pool, den Sie verwenden, die IP-Adressen ändern .)

Wenn der NTP-Verkehr irgendwo zwischen Ihrem Computer und dem Internet blockiert ist, wenden Sie sich an Ihren Netzwerkadministrator. Es ist wahrscheinlich, dass es einen Relay-Computer gibt, den Sie als NTP-Server verwenden können.


Externer NTP-Verkehr wird wahrscheinlich von Ihrem Hosting-Anbieter / ISP blockiert. Dies ist ein hartnäckiger Ansatz, um DDOS zu verhindern. Fragen Sie Ihren ISP, zu welchen internen NTP-Servern Sie eine Verbindung herstellen können.
dfc

1
@dfc Nach meiner Erfahrung blockieren Unternehmensfirewalls NTP als Teil der Blockierung aller UDP oder als natürliche Folge von NAT, ISPs jedoch nicht (außer denjenigen, die NAT verwenden). Wenn Ihr ISP jedoch eingehendes NTP blockiert, sollte er einen NTP-Server in seinem Netzwerk bereitstellen.
Gilles 'SO - hör auf böse zu sein'

Ich hatte diese Regeln bereits zu iptables hinzugefügt, aber immer noch den gleichen Fehler. Seltsamerweise funktioniert es mit: ntpdate -d 0.it.pool.ntp.org. Also glaube ich, dass es ntp.conf ist.
Test

@ Gilles ist "Ihre Erfahrung" unter Berücksichtigung der jüngsten Welle von DDoS-Angriffen, die ntp verwenden? Vor einem Jahr würde ich Ihrem Kommentar zustimmen. Nach den jüngsten Angriffswellen ist die NTP-Filterung jedoch weitaus häufiger als Sie denken.
dfc

@BojanVidanovic Es macht keinen Sinn, dass es mit ntpdate und nicht mit ntp funktioniert. Wenn es mit ntpdate funktioniert, sollten Sie die IP-Adresse notieren, die eine Antwort zurückgegeben hat, und versuchen, diese in ntp.conf einzufügen. Die DNS-Antwort für die Adresse pool.ntp.org hängt davon ab, wie viele Server die Poolmonitor-Dinger derzeit fehlerfrei sind, zusätzlich zu einer Pseudo-Randomisierung im DNS-Daemon.
dfc

3

Soweit ich das beurteilen kann, lautet Ihre Frage: "Warum funktioniert es ntpq -pnnicht so, wie ich es erwartet habe?"

Ändern Sie diese Zeile:

restrict 127.0.0.1 noserve nomodify

zurück zu dem, was es ursprünglich war:

restrict 127.0.0.1

jetzt ntpq -pnwird es funktionieren.

Zu Ihrer Information: ::1ist die IPv6-Version von127.0.0.1

Aktualisierte Konfiguration:

driftfile /var/lib/ntp/ntp.drift

statdir /var/log/ntpstats/

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.it.pool.ntp.org iburst
server 1.it.pool.ntp.org iburst
server 2.it.pool.ntp.org iburst
server 3.it.pool.ntp.org iburst

restrict -4 default nomodify nopeer noquery notrap
restrict -6 default nomodify nopeer noquery notrap

# Restrict eth0 ip
restrict 192.168.1.1
restrict 127.0.0.1
restrict ::1

127.0.0.1: Zeitüberschreitung, nichts empfangen *** Zeitüberschreitung der Anfrage
Test

Sie haben Ihre /etc/ntp.conf auf das oben gezeigte aktualisiert und ntp neu gestartet und die Zeitüberschreitungsmeldung erhalten? Was ist die Ausgabe von netstat -laun?
dfc

Vielen Dank! Ich habe auch "Restrict Localhost" am Ende der Restriktionen hinzugefügt
Vagner do Carmo

1

Ihr Problem scheint in der Auswahl dieser 2 Server in diesen 2 Zeilen Ihrer Konfigurationsdatei zu liegen:

server ntp1.inrim.it iburst
server ntp2.inrim.it iburst

Wenn ich versuche, einen von ihnen abzufragen, erhalte ich auch Ihren Fehler:

$ sudo ntpq -p ntp1.inrim.it
ntp1.inrim.it: timed out, nothing received
***Request timed out

$ sudo ntpq -p ntp2.inrim.it
ntp2.inrim.it: timed out, nothing received
***Request timed out

Ich würde versuchen, zunächst einige verschiedene Server auszuwählen.

Diese Server?

Als ich nach ihren Namen googelte, stieß ich auf diese Seite mit dem Titel: Come configure il vostro NTP . Es gab einen anderen Server, der dort ebenfalls nicht funktionierte:

$ sudo ntpq -p host2.miaditta.it 
host2.miaditta.it: timed out, nothing received
***Request timed out

Diese Server scheinen das Problem zu sein.

Verschlüsselung?

Wenn Sie weiter unten in der oben genannten URL nachsehen, wird die Verwendung der Verschlüsselung erläutert. Möglicherweise müssen Sie diese aktivieren, um auf diese NTP-Server zugreifen zu können.

Debugging-Tipps

iburstMit diesem Befehl konnte ich erfolgreich eine Verbindung zu Ihren beiden Servern herstellen:

$ ntpdate -d <server>
Beispiel
$ ntpdate -d ntp1.inrim.it
 9 Mar 21:01:37 ntpdate[20739]: ntpdate 4.2.6p5@1.2349-o Tue Apr  2 17:47:01 UTC 2013 (1)
Looking for host ntp1.inrim.it and service ntp
host found : ntp1.inrim.it
transmit(193.204.114.232)
receive(193.204.114.232)
...
server 193.204.114.232, port 123
stratum 1, precision -22, leap 00, trust 000
refid [CTD], delay 0.19319, dispersion 0.00084
transmitted 4, in filter 4
reference time:    d6c78d79.f0206119  Sun, Mar  9 2014 21:01:45.937
originate timestamp: d6c78d7e.55ab5b4b  Sun, Mar  9 2014 21:01:50.334
transmit timestamp:  d6c78d77.7e9b8296  Sun, Mar  9 2014 21:01:43.494
filter delay:  0.19460  0.19710  0.19453  0.19319 
         0.00000  0.00000  0.00000  0.00000 
filter offset: 6.755368 6.757349 6.755239 6.756265
         0.000000 0.000000 0.000000 0.000000
delay 0.19319, dispersion 0.00084
offset 6.756265

 9 Mar 21:01:43 ntpdate[20739]: step time server 193.204.114.232 offset 6.756265 sec

Es scheint also, dass Ihr Problem tatsächlich mit Ihrer ntp.confDatei nicht stimmt . Bitte bestätigen Sie, dass dies der Fall ist und wir das Debuggen fortsetzen können.


Ja, ich werde diese Server nicht verwenden, aber ich habe debian.pool.ntp.org hinzugefügt, und ich bekomme immer noch: Zeitüberschreitung. Oder it.pool.ntp.org, das funktioniert, gibt mir den gleichen Fehler. An diesem Punkt denke ich, dass etwas NTP blockiert.
Test

Wenn ich versuche: ntpdate 0.debian.pool.ntp.org, funktioniert es.
Test

Ja, mit: ntpdate -d ntp1.inrim.it sehe ich die gleichen Ergebnisse wie bei Ihnen. Dann ist es wahrscheinlich ntp.conf.
Test

1
@BojanVidanovic - ja ja, das Problem liegt wahrscheinlich bei Ihnen ntp.conf. Das ist also ein guter Fortschritt. Ich würde die meisten Zeilen außer den Server-Zeilen entfernen, um dies weiter zu debuggen.
slm

1
Die Schalter zu ntpd, das Hinzufügen -dOptionen hinzufügen mehr, und -D levelermöglicht es INFO, TRACE, DEBUG, usw.
slm

0

In meinem Fall war der Loopback-Adapter im System deaktiviert. Nach dem Aktivieren wurde das Problem behoben. Siehe Datei / etc / network / interfaces.


0

Soweit ich weiß, haben Sie einen NTP-Server konfiguriert, aber Sie verweisen darauf auf einen POOL

server 0.pool.ntp.org

Versuchen:

pool 0.pool.ntp.org

Verwenden Sie stattdessen "Server" mit einem dedizierten Server, nicht mit einem Pool.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.