GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwenden Sie NTP, um die Zeit zu synchronisieren

Mit dem Networktime Protocol (NTP) können Sie das Datum und die Uhrzeit Ihres Systems ganz einfach auf dem neuesten Stand halten.

Eine genaue Uhr auf Ihrem Server stellt sicher, dass Zeitstempel in E-Mails, die von Ihrem Computer gesendet werden, korrekt sind. Eine genaue Uhr ist besonders hilfreich, wenn Sie die Protokolle zu einer bestimmten Tageszeit anzeigen müssen.

Wenn Sie die Systemuhr nicht gelegentlich selbst einstellen, weicht die Uhrzeit langsam von einer absolut genauen Einstellung ab. Dann ist NTP nützlich.

Was ist NTP?

Mit NTP können Sie Ihre Systemzeit automatisch mit einem Remote-Server synchronisieren. NTP kann verwendet werden, um die Uhr auf einem Computer mit einem Remote-Server zu aktualisieren. Dadurch bleibt die Zeit Ihres Geräts genau, indem es mit Servern synchronisiert wird, von denen bekannt ist, dass sie genaue Zeiten haben. NTP hält auch die Uhren auf mehreren Computern synchron, wodurch es einfacher wird, Protokolleinträge für ein Ereignis auf mehreren Servern abzugleichen.

Es ist einfach, einen NTP-Server einzurichten, um die Uhr Ihres Geräts regelmäßig anzupassen. Es ist auch möglich, es etwas komplizierter zu machen, wenn Sie Ihre Uhr auf die Millisekunde genau statt nur auf die Sekunde benötigen.

Installieren

Als erstes muss der NTP-Server installiert werden. Holen Sie sich das Paket, indem Sie Folgendes ausführen:

Ubuntu-Betriebssysteme / Debian:

sudo aptitude update
sudo aptitude install ntp

CentOS:

sudo yum install ntp

Nachdem Sie NTP installiert haben, können Sie sicherstellen, dass der Dienst beim Booten ausgeführt wird, indem Sie den folgenden Befehl ausführen:

sudo /sbin/chkconfig ntpd on

Fedora/RHEL:

sudo yum install ntp

Nachdem Sie NTP installiert haben, können Sie sicherstellen, dass der Dienst beim Booten ausgeführt wird, indem Sie den folgenden Befehl ausführen:

sudo chkconfig ntpd on

Dienst starten

Führen Sie den folgenden Befehl aus, um sicherzustellen, dass der NTP-Dienst nach der Installation gestartet wird:

Ubuntu-Betriebssysteme / Debian / CentOS / RHEL :

sudo /etc/init.d/ntp start

Fedora :

sudo /etc/init.d/ntpd start

Wie bei Linux®-Diensten üblich, können Sie den NTP-Dienst stoppen oder neu starten, indem Sie den vorhergehenden Befehl mit stop ausführen oder restart als Argument anstelle von start .

Schnellstart

Die meisten Leute wollen einfach nur NTP zum Laufen bringen und müssen ihre Uhr nicht mit einer Genauigkeit im Millisekundenbereich synchronisieren. In diesem Fall brauchen Sie nichts weiter zu tun. Bei der Installation von NTP wurden Standardserver für die Synchronisierung eingerichtet, sodass NTP Ihre Uhr automatisch synchronisiert. Herzlichen Glückwunsch zu Ihrer guten Arbeit!

Die .ntpconf-Datei

Wenn Sie NTP verwenden möchten, um mehrere Ihrer eigenen Computer zu synchronisieren, oder wenn Sie andere NTP-Server als die Standardserver auswählen möchten, finden Sie die NTP-Konfigurationsdatei unter /etc/ntp.conf .

Einige Einstellungen können geändert werden, aber die einzigen Einstellungen, die für die meisten Benutzer von Interesse sind, sind Servereinträge. Verwenden Sie die Standardeinstellungen für Ihre spezielle Linux-Distribution.

Bei mehr als einem Servereintrag fragt Ihr NTP-Server alle Server ab und wählt einen Zeitpunkt aus, auf den sich die meisten abgefragten Server einigen. Da NTP drei oder mehr Server verwendet, ist Ihre Uhr genauer, als wenn sie nur einen verwendet.

Das Hinzufügen der iBurst-Option nach der Serveradresse beschleunigt die NTPtime-Synchronisierung geringfügig. Dies ist zwar hilfreich, aber nicht unbedingt erforderlich.

Die dynamische Option teilt NTP mit, dass es einen konfigurierten Server später erneut versuchen kann, wenn er irgendwann nicht verfügbar ist. Die dynamische Option ist nützlich, wenn NTP auf einem Computer ausgeführt wird, der nicht immer Zugriff auf das Internet hat. Auf einem Computer mit einer dedizierten Verbindung ist dies nicht erforderlich.

NTP-Sicherheit

Schützen Sie sich vor NTP-Serverangriffen, indem Sie disable monitor hinzufügen zu Ihrer /etc/ntp.conf Datei. Das Deaktivieren der Überwachung verhindert unerwünschte Fernabfragen, die Befehle von älteren Versionen von NTP verwenden, wie z. B. monlist .

Mehrere Server synchronisieren

Wenn Sie mehr als einen Computer zum Synchronisieren haben, ist es am besten, einen als Master-NTP-Server festzulegen. Richten Sie den Master-Server so ein, dass er sich mit einem externen NTP-Server verbindet, und lassen Sie dann die anderen Computer mit dem Master synchronisieren. Dieses Setup reduziert die Anzahl der ausgehenden Verbindungen und garantiert, dass alle Ihre Computer ihre Zeit auf den gleichen Wert eingestellt haben. Diese Konfiguration erfordert Änderungen an den Servereinstellungen in der ntp.conf Dateien auf jedem Rechner.

Richten Sie alle externen Server ein, die Sie auf dem Mastercomputer verwenden möchten. Wenn Sie beispielsweise die NTP-Pool-Server verwenden möchten, können Sie die Serverwerte in der Master-ntp.conf festlegen Datei nach:

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

Zeigen Sie auf die ntp.conf zu Ihrem Master-Server auf jedem anderen Computer, der die Zeit synchronisieren muss. Beispiel:Ihr Master-Server ist main.example.com , würden Sie die ntp.conf ändern Dateien auf den sekundären Rechnern, sodass die Servereinträge wie folgt lauten:

server main.example.com iburst

Nachdem Sie die Serverparameter eingestellt und sichergestellt haben, dass die iptables-Einträge keine Verbindungen zu Ihrem NTP-Hauptserver blockieren, starten Sie die NTP-Dienste auf jedem Computer neu, damit sie synchronisiert werden.

IPtables anpassen

NTP verwendet den UDP-Port 123, um seine Geschäfte zu führen, indem es entweder eine Verbindung zu einem anderen NTP-Server herstellt oder eingehende Verbindungen akzeptiert. Wenn iptables den eingehenden Datenverkehr auf dem Haupt-NTP-Server in Ihrem Cluster filtert, müssen Sie Port 123 öffnen zu UDP-Datenverkehr, damit die anderen Server sich damit verbinden können. Sie können Port 123 öffnen für UDP-Verkehr mit den folgenden iptables-Argumenten:

-I INPUT -p udp --dport 123 -j ACCEPT
-I OUTPUT -p udp --sport 123 -j ACCEPT

Auswahl eines NTP-Servers

Wenn Sie eine oder mehrere Maschinen über NTP synchronisieren, möchten Sie, dass mindestens eine davon ihre Zeit von einem zuverlässigen externen Server aus einstellt. Viele öffentliche Server da draußen werden entweder direkt von einer Atomuhr synchronisiert (was eine absolut genaue Zeit garantiert) oder von einem anderen Server, der mit einer Atomuhr synchronisiert.

Öffentliche NTP-Serverlisten

Die beste Quelle für Listen öffentlicher NTP-Server ist NTP ServersWebHome auf der mainNTP-Site. Die Site enthält eine Beschreibung der verfügbaren Server, und die Seitenleiste enthält Links zu drei Ebenen von NTP-Servern:Primär, Sekundär und Pool.

Die Entscheidung, von welchem ​​Servertyp synchronisiert werden soll, hängt davon ab, wie genau Ihre Server sein müssen.

NTP-Pool-Server

Für die meisten Benutzer sind die Pool-Server die beste Wahl. Pool-Server sind Maschinen, die sich bereit erklärt haben, ihren NTP-Server der Öffentlichkeit zur Verfügung zu stellen. Sie synchronisieren normalerweise von einem sekundären NTP-Server, sodass ihre Zeit genau, aber nicht unbedingt auf die nächste Millisekunde genau ist.

Die meisten Benutzer brauchen ihre Maschinenzeit nicht auf die Millisekunde genau; Sie wollen nur wissen, wie spät es ist. Verwenden Sie die Poolserver, es sei denn, Sie benötigen punktgenaue Genauigkeit.

Die Nutzung der NTP-Pool-Server ist so einfach wie das Setzen der Servereinträge in Ihrer ntp.conf Datei nach:

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

Um sicherzustellen, dass Sie sich nur mit Pool-Servern in Ihrem eigenen Land oder Ihrer eigenen Region verbinden, besuchen Sie die Seite Pool-Server für spezifischere Adressen. Für die meisten Menschen sind die obigen Einträge mehr als ausreichend. Diese Adressen rotieren zwischen einer riesigen Liste von freiwilligen NTP-Servern weltweit, sodass die Last auf einem einzelnen Rechner nie zu groß wird.

Wenn Sie zum NTP-Pool beitragen möchten, nachdem Sie Ihren NTP-Server eingerichtet haben, finden Sie Einzelheiten dazu auf der Pool-Website.

Primäre und sekundäre Server

Die anderen beiden Ebenen von NTP-Servern sind primäre und sekundäre Server. Ein primärer Server erhält seine Zeit direkt von einer Atomuhr (oder von GPS-Satelliten, die Atomuhren verwenden). Atomuhren sind teuer, daher gibt es nicht viele primäre Server. Sie müssen keinen primären Server verwenden, es sei denn, Sie suchen nach extremer wissenschaftlicher Genauigkeit.

Ein sekundärer Server erhält seine Zeit normalerweise von einem primären Server. Wenn Sie eine Genauigkeit bis auf die Millisekunde wünschen, sollten Sie drei sekundäre Server in Ihrer ntp.conf haben funktioniert gut.

Sie können sehen, welche öffentlichen Server in jeder Ebene verfügbar sind, indem Sie eine der Listen auf der NTP ServersWebHome auswählen. Bevor Sie einen Server auswählen und verwenden, überprüfen Sie die Details für diesen Server wie folgt:

  • ISO: Die ISO-Spalte listet das Herkunftsland dieses bestimmten Servers auf.
  • Zugriffsrichtlinie: Das Feld AccessPolicy gibt an, welche Zugriffsrichtlinie für diesen Server gilt. Freier Zugang bedeutet, dass der Server von der Öffentlichkeit verwendet werden kann, vorbehaltlich aller Benachrichtigungsanforderungen, die der Server hat.
  • Benachrichtigen: Das Feld Benachrichtigen für sekundäre Server listet die Einstellungen des Serveradministrators auf, ob er benachrichtigt werden soll, bevor Sie mit seinem NTP-Server synchronisieren. Administratoren, die benachrichtigt werden möchten, versuchen normalerweise, den Datenverkehr zu ihrem Server zu verwalten, seien Sie also sicher und respektieren Sie ihre Wünsche bezüglich der Benachrichtigung. Beachten Sie, dass primäre Server immer so behandelt werden, als ob sie vor der Verwendung eine Benachrichtigung anfordern.
  • Servicebereich: Wenn Sie einen primären oder sekundären Server ausgewählt haben, den Sie verwenden möchten, klicken Sie auf seinen Hostnamen in der Liste, um weitere Details für diesen Server anzuzeigen. Unter den aufgeführten Details ist der Servicebereich Feld, das die geografische oder demografische Gruppe beschreibt, der sie dienen möchten. Wenn dieses Feld Öffentlich ist , müssen Sie sich nicht in einer bestimmten Region befinden, um den Server zu verwenden. Wenn sie einen spezifischeren Servicebereich auflisten, achten Sie darauf, die diesbezüglichen Wünsche des Serveradministrators zu respektieren.

Testen mit ntpdate

Bevor Sie einen externen NTP-Server verwenden, um Ihre Zeit zu synchronisieren, sollten Sie sicherstellen, dass Sie sich tatsächlich von Ihrem Computer aus mit dem Server verbinden können. Glücklicherweise gibt es dafür ein Tool namens ntpdate, das im NTP-Server enthalten ist .

Das ntpdate Der Befehl synchronisiert Ihre Uhr mit einem NTP-Server. Es ähnelt dem, was der NTP-Server regelmäßig tut. Der ntpd program ist ein separates Paket auf Ubuntu®-Betriebssystemen und Debian®. Die anderen Distributionen installieren ntpdate zum Zeitpunkt der ntpd-Installation. Verwenden Sie ntpdate , Ubuntu-Betriebssystem und Debian-Benutzer müssen es zuerst installieren.

sudo aptitude install ntpdate

Stellen Sie Ihre Uhr so ​​ein, dass sie zu den von Ihnen festgelegten Zeiten synchronisiert wird, indem Sie cron verwenden um ntpdate auszuführen . Führen Sie andernfalls den NTP-Server aus, da er weniger Bandbreite verbraucht und die Zeit genauer hält, indem er die Drift Ihrer Uhr im Laufe der Zeit verfolgt und entsprechend anpasst. Verwenden Sie ntpdate nur zu Testzwecken.

Das ntpdate Der Befehl wird nicht ausgeführt, wenn der NTP-Server ausgeführt wird. Wenn Sie ntpdate ausführen und eine Antwort wie „Der NTP-Socket wird verwendet“ erhalten, bedeutet dies, dass Ihr NTP-Server ausgeführt wird. Stoppen Sie es mit dem entsprechenden Befehl für Ihre Distribution:

Ubuntu-Betriebssysteme / Debian

sudo /etc/init.d/ntp stop

CentOS / Fedora / RHEL

sudo /etc/init.d/ntpd stop

Sie können jetzt ntpdate ausführen mit dem Server, mit dem Sie synchronisieren möchten, als Argument. Zum Beispiel, um ntpdate mitzuteilen Um zu versuchen, mit „pool.ntp.org“ zu synchronisieren, führen Sie den folgenden Befehl aus:

sudo ntpdate pool.ntp.org

Wenn Sie mit dem Testen fertig sind, denken Sie daran, NTP neu zu starten:

Ubuntu-Betriebssysteme / Debian

sudo /etc/init.d/ntp start

CentOS / Fedora / RHEL

sudo /etc/init.d/ntpd start

Zusammenfassung

Glücklicherweise ist die NTP-Zeitsynchronisierung ziemlich einfach durchzuführen. Nachdem Sie die Zeitserver eingestellt und den NTP-Dienst gestartet haben, verrichtet er seine Arbeit leise im Hintergrund.

Wenn NTP irgendwelche Probleme hat, protokolliert es sie im Systemprotokoll, das Sie sowieso regelmäßig überprüfen sollten.

Weitere Einzelheiten zum Einrichten eines NTP-Servers und zu den verfügbaren Optionen finden Sie auf der NTP-Dokumentationsseite. Wenn Sie mehr darüber wissen möchten, wie NTP funktioniert, besuchen Sie die Haupt-NTP-Website, dort wird alles offengelegt.


Linux
  1. Zeitsynchronisierung Linux

  2. Synchronisieren Sie die Linux-Serverzeit mit dem Netzwerkzeitserver

  3. Wie synchronisiert man die Zeit mit NTP auf dem Ubuntu-Server?

  4. Wann Sie einen dedizierten Server verwenden sollten

  5. Aktualisierungszeit:ntpdate[3108]:Der NTP-Socket wird verwendet und wird beendet

So synchronisieren Sie die Zeit richtig mit dem NTP-Server in CentOS 7

NTP-Server und Best Practices

So verwenden Sie Rsync zum Kopieren/Synchronisieren von Dateien zwischen Servern

So richten Sie die Zeitsynchronisierung mit NTP unter Ubuntu 18.04 ein

Ubuntu 19.04:NTP-Server konfigurieren

Centos 7:NTP-Server konfigurieren