Ist es möglich, ntpd
die Schichtstufe einer Netzwerkquelle so zu konfigurieren , dass sie verfälscht wird?
Auf den ersten Blick dachte ich, dass die fudge
Direktive dies erreichen könnte, aber nach dem Durchsuchen der ntp.conf(5)
Manpages stellte ich fest, dass diese Direktive nur für Referenzuhren gilt.
Ein paar Details:
Ich habe einen lokalen Server ntpd
als primäre Zeitquelle für Clients im LAN. Dieser Server zeigt auf den Pool von ntp.org und verwaltet normalerweise eine Schichtstufe 3.
Zusätzlich zu meinem Hauptserver habe ich ein Netzwerkgerät eines Drittanbieters, dessen Hauptaufgabe darin besteht, Wanduhren drahtlos über zu synchronisieren. HF-Übertragung. Die Gerätespezifikation besagt, dass es sich um einen "RFC2030-kompatiblen Zeitserver" handelt, ansonsten handelt es sich jedoch um eine Black Box. Ich habe das Gerät so konfiguriert, dass es meinen Hauptserver als einzige Zeitquelle verwendet:
Black-Box-Konfiguration http://www.freeimagehosting.net/uploads/21bafb12bd.png
Mein Problem trat auf, als ich ntpd
auf meinem PC so konfigurierte , dass sowohl mein Haupt-NTP-Server als auch der drahtlose Sender als Zeitquelle verwendet wurden. Bei der Abfrage meines lokalen ntpd stellte ich fest, dass die "Black Box" (10.xxZ) die bevorzugte Zeitquelle war:
$ ntpq -pn
remote refid st t when poll reach delay offset jitter
==============================================================================
x10.x.x.X 69.164.222.108 3 u 48 64 177 0.501 370.029 1.530
*10.x.x.Z 10.x.x.Z 2 u 50 64 377 1.354 -23.681 14.179
Da Server 10.x.x.Z
‚s nur Zeitquelle ist Server 10.x.x.X
(die Schicht 3), es sollte Stratum seine 4. Ich glaube , dass der Hersteller seinen Stratumlevel hartcodiert wird.
Gibt es eine Möglichkeit, meinen Computer dazu zu bringen, den "guten" (10.xxX) Server trotz seiner höheren Schichtstufe zu bevorzugen? Ich habe auch die prefer
Direktive in meiner lokalen ntp.conf
Datei ausprobiert , aber ohne Erfolg gewinnt immer die kleine Blackbox: /
Auf meinem lokalen Computer wird Mac OS X 10.6 ausgeführt.
$ ntpq -c rv | grep version
version="ntpd [email protected] Mon May 18 19:38:25 UTC 2009 (1)",
Antworten:
Nach einigen weiteren Recherchen scheint es nicht möglich zu sein, das Schichtniveau einer Netzwerkquelle zu "fudgen" . Also ging ich weiter und versuchte es mit Dtoubelis Antwort . Zu meiner Überraschung war es nicht immer die bevorzugte Zeitquelle, meinen lokalen Zeitserver einfach zu einer Schichtstufe 2 (gleich dem Gerät eines Drittanbieters) zu machen. Mein lokales ntpd würde sie beide immer noch als "falsche Ticks" regieren. Aus welchem Grund bin ich mir nicht sicher, aber ich vermute, weil sie die einzigen zwei Zeitquellen waren und ihre Zeiten so weit weg waren.
Das größte Problem hierbei ist die Tatsache, dass mein Gerät eines Drittanbieters keine sehr konstante Zeit zu haben scheint, sondern sogar stark schwankt. Die Lösung für mein Problem bestand darin, mehrere andere genaue Zeitquellen (pool.ntp.org) zu meinem hinzuzufügen
/etc/ntp.conf
. Jetzt wird mein lokaler Server immer als bevorzugte Zeitquelle ausgewählt, oftmals trotz einer höheren Schichtstufe als einige der Server im Pool.quelle
Sie können versuchen, Ihr lokales ntpd in Schicht 2 auszuführen. Anstatt es auf pool.ntp.org zu verweisen, erstellen Sie einfach eine Liste mit 5-7 Stratum 1-Servern und fügen Sie diese direkt zur Konfiguration hinzu. Mit dem Referenzserver in Schicht 1 wird Ihr Server in Schicht 2 ausgeführt. Dann
prefer
funktioniert Ihre Option möglicherweise.Meiner Erfahrung nach ist das Schichtniveau jedoch nicht immer der entscheidende Faktor bei der Wahl der Primärquelle. Ich denke, Latenz und Jitter haben ebenfalls einen signifikanten Einfluss. Ich hatte mehrmals bemerkt, dass ein Server mit niedrigerer Schicht als primäre Quelle gewählt wurde, obwohl mehrere Server mit höherer Schicht nur verfügbar waren, weil er die niedrigste Latenz hatte. Aus diesem Grund kann ich nicht garantieren, dass der vorgeschlagene Ansatz funktioniert.
quelle
Ich habe eine "High Stratum (10)" - Hardware-GPS-Zeitquelle in unserem lokalen Netzwerk, die mir einen Falsetick-Status (x) in ntpq gibt. Ich habe festgestellt, dass die Verwendung von
server [x.x.x.x] true
(x = IP-Adresse) in ntp.conf die Falsetick-Überprüfung umgeht. so dass es ein möglicher Kandidat sein kann. Die Schichtnummer bedeutet anscheinend nicht immer eine höhere Priorität.quelle
Wenn Ihnen dieser Server 10.xxZ als Referenz nicht gefällt, sollte dies den Trick tun:
Dies ist nützlich, wenn der Server nur zu Überwachungszwecken verwendet werden soll. Alternativ können Sie auch Folgendes konfigurieren:
Daher wird 10.xxZ nicht verwendet, wenn 10.xxX verfügbar ist.
quelle
Ein Grund, warum es bevorzugt wird, ist, dass Ihr anderer Zeitserver in letzter Zeit nicht erreichbar war. Siehe die Reichweitenspalte?
quelle