Wie konfiguriere ich NTP über ein Crossover-Kabel?

534
mark2017

Ich bin relativ neu bei NTP. Ich habe zwei Computer, auf denen Lubuntu 17.04 läuft, die ich mit minimaler Hardware in enger Zeit synchronisieren möchte. Es ist keine Synchronisierung in Echtzeit erforderlich, nur um die Systemzeiten zwischen den beiden Computern so nah wie möglich zu halten.

NTP scheint eine geeignete Lösung zu sein. Es gelingt mir, NTP zwischen den beiden Computern zum Laufen zu bringen, wenn es mit DHCP-Adressen konfiguriert ist (DHCP von einem Router, ein PC ist der NTP-Broadcast-Server und der andere ist der Client, die PCs synchronisieren sich und erhalten eine enge Synchronisierung von ~ 1ms oder Weniger).

Um den Hardwareaufwand zu reduzieren, entferne ich den Router und setze die IP-Adressen auf jedem Computer auf statisch. Dann über ein Cross-Over-Kabel verbinden:

  • 10.1.1.50 255.255.255.0 (NTP "Client" PC)
  • 10.1.1.51 255.255.255.0 (NTP "Server" PC)

(Gateway wurde in beiden Fällen leer gelassen.)

Die PCs können sich gegenseitig erfolgreich pingen (die Verzögerung beträgt weniger als 1 ms, etwa 0,3 ms bis 0,4 ms). Ich kann jedoch nicht das ntp.confkonfigurierte bekommen; Der NTP-Client-Computer bleibt nur auf INIT und alle Maßnahmen auf 0. Wie kann ich die NTP-Konfiguration debuggen, um herauszufinden, wo es schief geht?

Es gibt keine /var/lib/ntp/ntp.conf.dhcpDatei. Die Firewall ist für beide PCs deaktiviert.

Ausgabe von ntpq -pnis

 remote refid st t when poll reach delay offset jitter ============================================================================== 10.1.1.51 .INIT. 16 u - 1024 0 0.000 0.000 0.000 

Relevante Zeilen von ntp.conffür den Kunden sind (dh alle Zeilen ohne Kommentar)

driftfile /var/lib/ntp/ntp.drift 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 10.1.1.51 restrict -4 default kod notrap nomodify nopeer noquery limited restrict -6 default kod notrap nomodify nopeer noquery limited restrict 127.0.0.1 restrict ::1 restrict 10.1.1.0 mask 255.255.255.0 disable auth broadcastclient 

Relevante Zeilen aus ntp.conf für den Server-NTP-PC sind (dh alle Zeilen ohne Kommentar)

driftfile /var/lib/ntp/ntp.drift 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 127.127.2.1 # local clock fudge 127.127.2.1 stratum 10 restrict -4 default kod notrap nomodify nopeer noquery limited restrict -6 default kod notrap nomodify nopeer noquery limited restrict 127.0.0.1 restrict ::1 restrict source notrap nomodify noquery restrict 10.1.1.0 mask 255.255.255.0 broadcast 10.1.1.255 

Wenn Sie den Befehl ntpdate -d 10.1.1.51 verwenden, scheint das Problem zu sein, dass der NTP-Server 10.1.1.51 einen zu hohen Stratum-Level hat (da er derzeit vom Internet getrennt ist und daher gemäß NTP keine vertrauenswürdige Zeitquelle ist.) ).

Untersuchungen zeigen, dass es nicht möglich ist, den Stratum-Level meines isolierten NTP-Servers zu beeinflussen. Daher habe ich WLAN auf dem NTP-Server aktiviert und versucht, eine Synchronisierung mit dem Standard-Ubuntu-Pool von Zeitservern zuzulassen, jedoch dauert es lange, bis ntpq -p mit dem eingesteckten Cross-Over-Kabel reagiert. Ich werde prüfen, ob meine Netzwerkkonfiguration ist korrekt und meldet sich zurück.

2
Ist das 300ms genau? Es sollte weniger als 1 ms betragen - meinten Sie 0,300 ms - 0,400 ms? Wenn es so hoch ist, gibt es ein Netzwerkproblem. Paul vor 6 Jahren 0
Ich entschuldige mich, die Ausgabe von Ping 10.1.1.51 vom Client beträgt 0,3 bis 0,4 ms. (Frage aktualisiert). mark2017 vor 6 Jahren 0

2 Antworten auf die Frage

3
mark2017

Um NTP über ein Crossover-Kabel zu verwenden, muss der NTP-Server-PC mit anderen Internet-Servern synchronisiert werden. Andernfalls wird der eigene Stratum-Level zu niedrig und der Client-NTP-PC weist ihn als gültigen Server zurück. In meinem Fall war die Lösung:

  1. Stellen Sie sicher, dass das Cross-Over-Kabel ordnungsgemäß eingerichtet ist. Beide verkabelten NICs sollten über kein Gateway und kein DNS verfügen und sich auch in einem anderen Subnetz befinden als das WLAN-Subnetz des NTP-Servers. In meinem Fall habe ich zB die PC-NICs auf statische IPs von verschoben

    • 10.1. 2 .50 255.255.255.0 (NTP "Client" PC) Kein Gateway, kein DNS
    • 10.1. 2 .51 255.255.255.0 (NTP "Server" PC) Kein Gateway, kein DNS

Dies geschieht im Lubuntu-GUI-Netzwerktool "Verbindungen bearbeiten".

  1. Aktivieren Sie WLAN auf dem NTP-Server-PC, um die Zeitsynchronisierung aus dem Internet zu erhalten. Dies ist auf 10.1 konfiguriert. 1 .n-Subnetz, wobei n vom WLAN-Router über DHCP zugewiesen wird. Hierbei muss es sich um ein anderes Subnetz als die drahtgebundenen NICs handeln, das über https://askubuntu.com/questions/624830/ubuntu-using-wrong-nic-for-internet-connection ermittelt wurde

  2. Fügen Sie die Standardzeitserver hinzu, die mit der Standarddatei geliefert werden, ntp.confund stellen Sie sicher, dass beide ntp.confDateien (Client und Server) auf das Subnetz 10.1.2.0 zugreifen. Starten Sie alles neu und warten Sie zehn Minuten, bis der NTP die Synchronisierung startet.

Sie können auch die lokale Uhr als Master konfigurieren, wie hier beschrieben: https://www.borngeek.com/2008/04/03/ueber-ntp-on-a-private-network/ eckes vor 6 Jahren 0
@eckes meinst du mit `# verwende den lokalen Uhrenserver 127.127.1.0 bevorzuge fudge 127.127.1.0 stratum 10`? Ich habe verschiedene Hinweise gefunden, die darauf hindeuten, dass der Fudge der lokalen Uhr nicht funktioniert, und bei meinem Experiment nicht funktionierte. Ich fand die lokale Uhr zu einem Master, was die Synchronisierung überhaupt nicht unterstützt, da der Stratum-Level des Servers immer noch zu niedrig ist, um für den NTP-Client akzeptabel zu sein. mark2017 vor 6 Jahren 0
Sie sollten in Erwägung ziehen, * this * als akzeptierte Antwort zu kennzeichnen, wenn sie genauer darstellt, wie Sie das Problem gelöst haben. Twisty Impersonator vor 6 Jahren 0
@TwistyImpersonator Danke gemacht, da es genau darstellt, wie das Problem gelöst wurde. Auch neu für den Superuser, der die Knicke noch ausarbeitet. Eigentlich dachte ich, es sei bereits als Antwort markiert, da der Superuser-Workflow darauf hinwies, dass ich meine eigene Frage "beantwortet" habe. mark2017 vor 6 Jahren 0
Übrigens, ich bevorzuge Corony, die Konfiguration wird nicht nur sauberer, sondern auch die Dokumentation ist zentraler. eckes vor 6 Jahren 0
1
Stef
Überprüfen Sie dies auch für ein relevantes Arbeitstool - http://www.tldp.org/LDP/sag/html/ntp-toolkit.html Stef vor 6 Jahren 1
Dank des Tools ntpdate -d 10.1.1.51 wird angezeigt, dass das Problem darin liegt, dass der Stratum-Level des Servers zu hoch ist, da er wahrscheinlich vom Internet isoliert ist. Ich muss also prüfen, wie ich beide Crossover-Kabel anschließen kann in und wifi auf dem NTP-Server aktiviert. Das Internet wird das WLAN herunterfahren und es dem NTP-Server ermöglichen, sich mit höheren Schichtservern zu synchronisieren, aber dann möchte ich den NTP-Client über ein Cross-Over-Kabel verbinden. Bisher beide gleichzeitig aktiviert zu haben, scheint nicht gut zu spielen. mark2017 vor 6 Jahren 0
In der Tat haben sie vielen Dank verdient :) OK, ich habe es gelöst, ich musste die beiden Netzwerkkarten richtig konfigurieren, ich werde die Antwort mit Details aktualisieren. mark2017 vor 6 Jahren 0
Bitte zitieren Sie die wesentlichen Teile der Antwort aus den Referenzlinks, da die Antwort ungültig werden kann, wenn sich die verlinkten Seiten ändern. DavidPostill vor 6 Jahren 3
@DavidPostill, eigentlich habe ich dies aus Versehen als Antwort markiert. Der entsprechende Befehl aus dem ntp-toolkit (unter diesen Links zu finden) zum Testen der Verbindung ist "ntpdate -d 10.1.1.51". Er zeigt an, dass die Schicht des NTP-Servers hier zu hoch war (dies liegt daran, dass er von der Verbindung getrennt wird) Internet, Lösung ist die akzeptierte Antwort). mark2017 vor 6 Jahren 0