Lokale oder öffentliche NTP-Server?

11

Für ein relativ großes Netzwerk (Tausende von Hosts) - Was sind die Argumente für und gegen die Ausführung eines lokal verwalteten (Pools von) NTP-Servern (möglicherweise regelmäßig über einen öffentlichen NTP-Server festgelegt) und die Verwendung aller anderen Hosts im Netzwerk? dass (Pool von) NTP-Servern im Vergleich dazu, dass alle Hosts öffentliche NTP-Server einfach direkt verwenden, beispielsweise über ntp.pool.org?

Was ist heute, abgesehen von den Vor- und Nachteilen, eine typische Best Practice?

BeeOnRope
quelle
Hausaufgabenfrage? Es scheint, als würde ein Netzwerkadministrator für ein Netzwerk mit Tausenden von Hosts bereits NTP verwenden.
JamesBarnett
2
Die Frage ist nicht, ob Sie NTP verwenden sollen, sondern ob Sie Ihr eigenes NTP verwenden oder öffentliche verwenden möchten.
Ian Varley
Hah, es ist lange her, dass ich irgendwelche Hausaufgaben hatte :) Ich bin kein persönlicher Netzwerkadministrator mit Tausenden von Hosts - aber die Frage kam auf und ich interessiere mich für die vorhandenen Best Practices.
BeeOnRope

Antworten:

12

Die beste Vorgehensweise besteht darin, einen eigenen Pool von NTP-Servern auszuführen, die für die Synchronisierung von öffentlichen NTP-Servern eingerichtet sind. Für den Fall, dass Ihre Organisation den Internetzugang verlieren sollte, möchten Sie nicht, dass Ihre Uhren schief laufen. Außerdem ist es unhöflich, Tausende von Hosts auf öffentliche Server zu setzen, wenn Sie einen Spiegel bedienen könnten (und sollten).

Wenn Sie eine sichere Computeranforderung haben, sollten Sie Ihre eigenen unabhängigen NTP-Hosts betreiben. Für den Betrieb dieser Systeme benötigen Sie spezielle Hardware.

EDIT: Da es eine Diskussion darüber gab, hier ist einige Hardware:

Jede Hardware, die PPS unterstützt, scheint auf einem modernen ntpd zu funktionieren . Dies schließt einige GPS-Geräte ein, obwohl dies selten zu sein scheint, mindestens so selten wie serielle GPS-Geräte heutzutage. Es gibt jedoch Hardware-Geräte, die explizit für diese Funktion verkauft werden, einschließlich eines Produkts namens TSync-PCIe. Nach Angaben des Herstellers:

Die TSync-PCIe bietet verschiedene Konfigurationen eines synchronisierten Timecode-Lese- / Generator-Pakets, das Flexibilität und einfache Integration des präzisen Timings in eine eingebettete Computeranwendung bietet. Wählen Sie zwischen Synchronisation mit IRIG (und anderen ähnlichen Zeitcodes), GPS (interne oder externe Empfänger) oder Precise Time Protocol (PTP / IEEE-1588v2). - Site Link: http://i564f.6o.to

ewindisch
quelle
1
+1 für die Erwähnung der Hardware-Uhr. Im Internet gibt es Anweisungen , wie Sie einen billigen Garmin 18 LVC an eine Linux-Box anschließen können, um Ihre eigene Stratum 0-Quelle zu erstellen.
Chris S
Obwohl all diese Anweisungen das eigene Hardware-Hacking beinhalten, um eine Schnittstelle zu erstellen.
Phil Hollenback
@Phil, Leute, die nach einer billigen GPS-Schicht-0-Quelle suchen, sind wahrscheinlich bereit, ein bisschen Hardware-Hacking zu betreiben. Wenn Sie etwas Leichtes wollen, geben Sie das Geld dafür heraus, wie alle anderen auch.
Chris S
Ja, es scheint nur eine ziemlich einfache Aufgabe zu sein, einen Timecode von einem GPS-Gerät zu erhalten, also würde ich naiv annehmen, dass es sich um eine einfache Verbindung handelt.
Phil Hollenback
8

Selbst in einem kleinen Netzwerk verwende ich einen lokalen NTP-Dienst, der selbst von einem externen aktualisiert wird. Ein Grund ist rein historisch und geht auf die Zeit zurück, als die einzige Verbindung zum Internet über DFÜ-Modems bestand. Das andere ist, wenn der NTP-Dienst aus irgendeinem Grund falsch ist, würde ich es vorziehen, wenn alle Computer immer noch konsistent sind, was eher der Fall ist, wenn alle von einer einzigen Quelle aktualisiert werden.

John Gardeniers
quelle
Dies ist der Weg imho. Obwohl es auf jeden Fall eine gute Sache ist, die "richtige" Zeit zu haben, kann es für Geräte in einem LAN tatsächlich wichtiger sein, eine konsistente Zeit zwischen ihnen zu haben, auch wenn diese von der richtigen Zeit abweicht. Dinge wie die Kerberos-Authentifizierung schlagen fehl, wenn die Zeit zwischen Servern und Clients nicht synchron ist, und eine konsistente Zeit kann für Dinge wie Protokollüberwachung, CCTV-Aufzeichnungen (z. B. Kamera und PVR fügen beide einen Zeitstempel hinzu) usw. wichtig sein.
Rob Moir
7

Best Practice: Richten Sie zwei (oder mehr) NTP-Hosts an Ihrem Standort ein und vergleichen Sie sie. Lassen Sie sie mit mindestens 4 (vorzugsweise bis zu 8) externen Servern von 0.pool.ntp.org bis 3.pool.ntp.org synchronisieren. Wenn Sie mehr als 4 verwenden, sollten Sie die Häufigkeit anpassen, mit der die Poolmitglieder abgefragt werden.

Hier ist eine bearbeitete Version meiner ntp.conf:

server 0.us.pool.ntp.org minpoll 8 maxpoll 14
server 1.us.pool.ntp.org minpoll 8 maxpoll 14
server 2.us.pool.ntp.org minpoll 8 maxpoll 14
server 3.us.pool.ntp.org minpoll 8 maxpoll 14

peer ntp2.example.com

driftfile /var/db/drift.ntp
logfile /var/log/ntp.log
logconfig +sysall +syncall

Sie können die Argumente minpoll und maxpoll weglassen. Ich füge sie hinzu, damit ich auf diesen Servern etwas leichter bin. Die Werte sind 2 ^ n Sekunden, wobei n das Argument ist; Diese Werte sind höher als die Standardwerte (6 und 10), da ich bereits 12 verschiedene Server zwischen meinen drei NTP-Hosts abfrage.

Wenn Sie sich sehr um Genauigkeit bemühen, können Sie auch Folgendes hinzufügen:

server tick.usno.navy.mil prefer minpoll 10 maxpoll 16

Dies wird die Atomuhr der Marine abfragen. Beachten Sie die hohen Abrufzeiten, da sie ziemlich stark ausgelastet sind und die Benutzer aufgefordert haben, sich auf ihrem Server (eigentlich einem 3-Knoten-Cluster) zu entspannen.

Chris S.
quelle
Was passiert damit, wenn die externen NTP-Server nicht synchron sind?
Warren Dew
1. Das passiert nicht oder zumindest nicht in einem wichtigen Maßstab. 2. Es hängt davon ab, was genau um wie viel "nicht synchron" ist. Wenn ein einzelner externer Server weit entfernt ist, wird er nicht verwendet. Die Wahrscheinlichkeit, dass alle 4 um einen verrückten Betrag abweichen, ist astronomisch gering. Wenn Sie sich mit Genauigkeit befassen, verwenden Sie den USNO-Servercluster. Aufgrund des geringen Jitters ist die Zeit vorzuziehen.
Chris S
3

Wie bereits erwähnt, ist für Tausende von internen Hosts die Bereitstellung eigener Zeitserver der richtige Weg. Aus Gründen wie (wie bereits erwähnt):

  • Struktur: Konfigurieren Sie die Zeiteinstellung nach Ihren Wünschen. mit so vielen Quellen wie möglich
  • Robustheit: Konfigurieren Sie das NTP-System so, dass es nach Bedarf robust ist. Verwendung eigener GPS- und / oder NTP-Quellen mit unterschiedlichen Routen
  • Höflichkeit: freundliche Rücksichtnahme auf die Organisation externer Zeitquellen; weniger Last für sie
  • Leistung: Begrenzung des externen NTP-Netzwerkverkehrs auf wenige Hosts (kleines Problem)
  • Sicherheit: Begrenzung des externen NTP-Netzwerkverkehrs auf einige wenige gehärtete Hosts

Soweit Best Practices:

Unter http://www.ntp.org/ntpfaq/NTP-s-config-adv.htm finden Sie hier eine empfohlene Struktur nur für NTP-Quellen.

 1a  1b     1c  1d     1e  1f      outside
. \ / ...... \ / ...... \ / ..............
   2a ---p--- 2b ---p--- 2c        inside
  /|\        /|\        /|\
 / | \      / | \      / | \
3a 3b 3c   3e 3f 3g   3h 3i 3j

Key: 1 = stratum-1, 2 = stratum-2, 3 = stratum-3, p = peer

Weitere Informationen zum Einrichten eines NTP-Servers finden Sie unter http://www.pool.ntp.org/join/configuration.html . Beispiele sind:

  • Richten Sie ungefähr 5 Server ein
  • Verwenden Sie das Standard-NTPD
  • Verwenden Sie nicht den LOCAL Clock-Treiber
  • Verwenden Sie NTP-Zeitquellen, die geografisch / netzwerknah zu Ihnen liegen, und niedrige Schichtzahlen
Lars Nordin
quelle
Beachten Sie den Kommentar nach diesem Eintrag in den FAQ, dass es unerwünscht ist, Stratum 3-Server abhängig von einem einzelnen Stratum 2-Server zu haben. Anstatt dem obigen Diagramm genau zu folgen, sollten Linien von jedem Stratum 3-Server zu jedem Stratum 2-Server vorhanden sein.
Paul Gear
1

Ich denke, die meisten großen Netzwerke verwenden einen kleinen Pool dedizierter interner NTP-Server. Der NTP-Verkehr ist ziemlich gering, sodass Sie wahrscheinlich nicht viele Server benötigen, um eine große Organisation zu bedienen.

Wie bei allen Netzwerkdiensten besteht der Vorteil des Betriebs Ihrer eigenen NTP-Server darin, dass Sie mehr Kontrolle erhalten und mehr Entscheidungen treffen können. Wenn Sie beispielsweise die Netzwerkverbindung zur Außenwelt verlieren, können Ihre Computer weiterhin mit Ihrem internen NTP-Server kommunizieren, und Sie müssen sich keine Sorgen machen, dass alle erneut eine Verbindung zu externen Servern herstellen müssen.

Wenn Sie Tausende von Servern haben, sollten Sie auch in Betracht ziehen, Ihren eigenen dedizierten Zeitserver zu betreiben, beispielsweise von einem GPS-Gerät oder über eine dedizierte Atomuhr . Ich bin mir nicht sicher, wie viel das heutzutage kostet, aber es kann nicht teuer sein im Vergleich zu den Tausenden von Systemen, die Sie bereits unterstützen. Dann haben Sie einen genauen Zeitdienst, der völlig unabhängig von Ihrer Verbindung zur Außenwelt ist.

Ein weiterer zu berücksichtigender Punkt ist, dass das Betreiben eigener ntp-Server höflicher ist. Auf diese Weise haben Sie nur wenige Maschinen, die externe Anfragen stellen, im Gegensatz zu Tausenden. Ich bin sicher, die Administratoren der öffentlich zugänglichen NTP-Server würden das zu schätzen wissen. Außerdem wird der externe Netzwerkverkehr geringfügig (sehr geringfügig) reduziert, was wahrscheinlich eine gute Sache ist.

Auch wenn Sie Ihre eigenen NTP-Server betreiben, können Sie Ihre Firewall ein wenig straffen, da nur wenige Computer an Port 123 eine Verbindung nach außen herstellen, anstatt viele Computer. Das könnte nützlich sein.

ntp ist einfach einzurichten und erfordert nach dem Ausführen nur sehr wenig Wartung. Jedes Unternehmen, mit dem ich jemals zusammengearbeitet habe, hat seine eigenen NTP-Server eingerichtet, und das hat einwandfrei funktioniert.

Phil Hollenback
quelle
0

In diesem Fall empfiehlt es sich, einen eigenen NTP-Server oder einen Pool nach Bedarf auszuführen und aus dem geografisch nächstgelegenen NTP-Pool zu ziehen. Dies reduziert die Belastung, die die öffentlich zugänglichen NTP-Server tragen müssen, bietet Ihnen jedoch dennoch ein hohes Maß an Genauigkeit. Wenn Sie noch mehr Genauigkeit benötigen, können Sie von den Stratum 1-Servern ziehen, dies erhöht jedoch die Last, die der Pool tragen muss. Sie sollten dies daher nur tun, wenn Sie bereit sind, einen Server zum Pool beizutragen.

Schreiber
quelle
0

Ein guter Grund für den Betrieb Ihrer eigenen NTP-Server in einem großen Netzwerk besteht darin, sicherzustellen, dass sich alle Computer auf die richtige Zeit einigen. Viele Systeme mit eigenen Einstellungen für externe Zeitserver (oder alle, die unterschiedliche Mitglieder von pool.ntp.org verwenden) können zu kleinen Zeitunterschieden auf Systemen führen, die zu Problemen führen können.

Der andere gute Grund ist, dass ein eigener NTP-Server bedeutet, dass die synchronisierte Zeit von einigen (überwachten!) Servern verfügbar bleibt, wenn die externe Verbindung ausfällt oder mit Datenverkehr gesättigt ist.

Alle meine Meinung als Zeitgenosse.

Koos van den Hout
quelle