NTP steht für Network Time Protocol.
Es wird verwendet, um die Zeit auf Ihrem Linux-System mit einem zentralen NTP-Server zu synchronisieren.
Ein lokaler NTP-Server im Netzwerk kann mit einer externen Zeitquelle synchronisiert werden, um alle Server in Ihrer Organisation mit einer genauen Uhrzeit zu synchronisieren.
Ich. NTP-Server konfigurieren
1. NTP-Server installieren
Installieren Sie zunächst das NTP-Paket auf Ihrem Server mit dem entsprechenden Paketverwaltungstool, das in Ihrer Linux-Distribution verfügbar ist.
Verwenden Sie beispielsweise unter RedHat oder CentOS yum, um ntp wie unten gezeigt zu installieren:
yum install ntp
2. Einrichten von Beschränkungswerten in ntp.conf
Modifizieren Sie die Datei /etc/ntp.conf, um sicherzustellen, dass sie die folgenden zwei Beschränkungszeilen enthält.
# Permit time synchronization with our time source, but do not # permit the source to query or modify the service on this system. restrict default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery
Die erste Zeile "restrict" erlaubt anderen Clients, Ihren Zeitserver abzufragen. Diese Einschränkungszeile hat die folgenden Parameter
- noquery verhindert das Dumping von Statusdaten von ntpd.
- notrap verhindert den Kontrollnachrichten-Trap-Dienst.
- nomodify verhindert alle ntpq-Abfragen, die versuchen, den Server zu modifizieren.
- nopeer verhindert alle Pakete, die versuchen, eine Peer-Assoziation aufzubauen.
- Kod – Kiss-o-Death-Paket soll gesendet werden, um unerwünschte Anfragen zu reduzieren
Der Wert -6 in der zweiten Zeile ermöglicht es, die DNS-Auflösung auf die IPV6-Adressauflösung zu erzwingen. Weitere Informationen zur Liste der Zugriffsparameter finden Sie in der Dokumentation zu „man ntp_acc“
3. Nur bestimmte Clients zulassen
Um nur Maschinen in Ihrem eigenen Netzwerk zu erlauben, sich mit Ihrem NTP-Server zu synchronisieren, fügen Sie die folgende Einschränkungszeile zu Ihrer /etc/ntp.conf-Datei hinzu:
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
Wenn der Localhost vollen Zugriff zum Abfragen oder Ändern haben muss, fügen Sie die folgende Zeile zu /etc/ntp.conf
hinzurestrict 127.0.0.1
4. Lokale Uhr als Backup hinzufügen
Fügen Sie die lokale Uhr zur Datei ntp.conf hinzu, damit der NTP-Server Zeit von seiner lokalen Systemuhr bereitstellt, wenn der NTP-Server vom Internet getrennt wird.
server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 10
In der obigen Zeile wird Stratum verwendet, um die Zeit basierend auf der Entfernung mit dem Server zu synchronisieren. Ein Stratum-1-Zeitserver fungiert als primärer Netzwerkzeitstandard. Ein Stratum-2-Server ist über das Netzwerk mit dem Stratum-1-Server verbunden. Somit erhält ein Stratum-2-Server seine Zeit über NTP-Paketanfragen von einem Stratum-1-Server. Ein Stratum-3-Server erhält seine Zeit über NTP-Paketanfragen von einem Stratum-2-Server und so weiter.
Auch Stratum 0 Geräte werden immer als Referenzuhr verwendet.
5. NTP-Protokollparameter einrichten
Geben Sie die Driftdatei und den Speicherort der Protokolldatei in Ihrer Datei ntp.conf
andriftfile /var/lib/ntp/ntp.drift logfile /var/log/ntp.log
driftfile wird verwendet, um zu protokollieren, wie weit Ihre Uhr von dem entfernt ist, was sie sein sollte, und langsam sollte ntp diesen Wert mit fortschreitender Zeit verringern.
6. Starten Sie den NTP-Server
Nachdem Sie die entsprechenden Werte in der Datei ntp.conf eingerichtet haben, starten Sie den ntp-Dienst:
service ntpd start
II. Konfigurieren Sie den NTP-Client für die Synchronisierung mit dem NTP-Server
7. Ändern Sie ntp.conf auf dem NTP-Client
Diese Einrichtung sollte auf Ihrem NTP-Client erfolgen (nicht auf dem NTP-Server)
Um die Zeit Ihres lokalen Linux-Clientcomputers mit dem NTP-Server zu synchronisieren, bearbeiten Sie die Datei /etc/ntp.conf auf der Clientseite. Hier ist ein Beispiel dafür, wie die Beispieleinträge aussehen. Im folgenden Beispiel geben Sie mehrere Server als Zeitserver an, was hilfreich ist, wenn einer der Zeitserver ausfällt.
server 0.rhel.pool.ntp.org iburst server 1.rhel.pool.ntp.org iburst server 2.rhel.pool.ntp.org iburst server 3.rhel.pool.ntp.org iburst
iburst:Nach jeder Abfrage wird ein Burst von acht Paketen statt einem gesendet. Wenn der Server nicht antwortet, werden Pakete im 16-Sekunden-Intervall gesendet. Wenn der Server antwortet, werden alle 2 Sekunden Pakete gesendet.
Bearbeiten Sie Ihre NTP.conf, um die entsprechenden Einträge für Ihren eigenen NTP-Server widerzuspiegeln.
server 19.168.1.1 prefer
bevorzugen:Wenn diese Option angegeben ist, wird dieser Server gegenüber anderen Servern bevorzugt. Eine Antwort des bevorzugten Servers wird verworfen, wenn sie sich erheblich von den Antworten anderer Server unterscheidet.
8. Starten Sie den NTP-Daemon
Sobald die ntp.conf mit den richtigen Einstellungen konfiguriert ist, starten Sie den ntp-Daemon.
/etc/init.d/ntp start
Sie werden sehen, dass das NTP langsam beginnt, die Zeit Ihres Linux-Rechners mit dem NTP-Server zu synchronisieren.
9. Überprüfen Sie den NTP-Status
Überprüfen Sie den Status von NTP mit dem Befehl ntpq. Wenn Sie Verbindungsverweigerungsfehler erhalten, antwortet der Zeitserver nicht oder der NTP-Daemon/Port ist nicht gestartet oder hört nicht zu.
# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *elserver1 19.168.1.1 3 u 300 1024 377 1.225 -0.071 4.606
10. Lokales Datum und Uhrzeit einstellen
Der Befehl ntpdate kann verwendet werden, um das lokale Datum und die Uhrzeit einzustellen, indem der NTP-Server abgefragt wird. Normalerweise müssen Sie dies nur einmal tun.
Ihr Jitter-Wert sollte niedrig sein, ansonsten überprüfen Sie die Abweichung von der Uhr in der Driftdatei. Möglicherweise müssen Sie aufgrund des Unterschieds auch zu einem anderen NTP-Server wechseln. Dieser Befehl synchronisiert die Uhrzeit manuell mit Ihrem NTP-Server.
ntpdate –u 19.168.1.1
Nach dieser anfänglichen Synchronisierung kommuniziert der NTP-Client kontinuierlich mit dem NTP-Server, um sicherzustellen, dass die Ortszeit die genaue Zeit widerspiegelt.
Sie können auch den folgenden Befehl verwenden, um den aktuellen Status von ntpd abzurufen.
# ntpdc -c sysinfo system peer: thegeekstuff.com system peer mode: client leap indicator: 00 stratum: 4 precision: -23 root distance: 0.00279 s root dispersion: 0.06271 s reference ID: [19.168.1.1] reference time: d70bd07b.f4b5cf2b Wed, Apr 30 2014 15:41:47.955 system flags: auth monitor ntp kernel stats jitter: 0.000000 s stability: 0.000 ppm broadcastdelay: 0.000000 s authdelay: 0.000000 s