Wie hält man die interne Uhr von Debian synchronisiert (mit NTP-Servern)?

Wie hält man die interne Uhr von Debian synchronisiert (mit NTP-Servern)?

Ich habe einen Heimserver, auf dem eine aktuelle Debian 7.5 (Wheezy)-Installation läuft. Ich habe gerade entdeckt, dass die interne Uhr des Servers auf ± 3 Minuten eingestellt istin der Zukunft.

Ich wusste, dass ich NTP verwenden konnte, um Debian (und die interne Uhr des Motherboards) mit NTP zu synchronisieren, also installierte ich NTP, indem ich den Schritten folgte, die in der französischenDebian Wiki(DieEnglische Seiteist weniger detailliert).

Um die interne Uhr zu synchronisieren, habe ich folgenden Befehl verwendet:

ntpdate -B -q 192.168.0.254

Die Uhr wurde erfolgreich umgestellt. Dies ist jedoch nur eine vorübergehende Lösung, daher habe ich den NTP-Daemon installiert und in der /etc/ntp.confDatei einen lokalen Server hinzugefügt:

# pool.ntp.org maps to about 1000 low-stratum NTP servers.  Your server will
# pick a different set every time it starts up.  Please consider joining the
# pool: <http://www.pool.ntp.org/join.html>

# added
server 192.168.0.254

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

Ist das die richtige Lösung? Tatsächlich war ich überrascht, dass der ntpDaemon noch nicht installiert war. Ich frage mich, ob die Standardinstallation von Debian einen Daemon installiert, um die interne Uhr zu synchronisieren. Werden alle Debian-Installationen zeitversetzt, bis ihre Administratoren sie installieren ntpd?

Bitte sagen Sie mir, dass der ntpDaemon nicht nutzlos sein wird, weil Debian über einen integrierten Synchronisierungsmechanismus verfügt.

Antwort1

Debian erwartet, dass Sie ntp selbst installieren, wenn Sie Ihre Uhr synchronisieren möchten. Im Grunde müssen Sie dazu nur Folgendes tun apt-get install ntp. Die Standardinstallation ohne weitere Aufgaben ist ziemlich minimal.

Ich glaube, dass zumindest die GNOME-Desktop-Aufgabe es standardmäßig installiert (sowie viele andere Pakete). Ich bin mir nicht sicher, ob dies auch bei den anderen Desktops der Fall ist.

Es ist keine andere Methode zur Zeitsynchronisierung installiert und wird standardmäßig ausgeführt.

Antwort2

Für Debian GNU/Linux 10 (Buster) und die nächsten Hauptversionen:

Das systemd-timesyncd(auch bekannt als: timesyncd, auch bekannt als: SystemD-TimeSyncD) ist eine leichtere und einfachere Alternative zu ntpd.

Zeigen Sie die Statusinformationen des laufenden TimeSyncD NTP-Daemons in Debian an:
cmd: systemctl status systemd-timesyncd
Sie bemerken/sehen vielleicht, dass Statusin der Zeile „Informationen“ steht:Leerlauf".
Wenn Activein der Informationszeile NICHT "aktiv(läuft)", dann starten Sie es:
cmd:systemctl start systemd-timesyncd

Wenn Sie „SYSTEMD-TIMESYNCD“ noch NICHT aktiviert haben, aktivieren und starten Sie es:
cmd: systemctl enable systemd-timesyncd.service
cmd:systemctl start systemd-timesyncd.service

Wenn SystemD-TimeSyncD nicht aktiviert wird, müssen Sie möglicherweise NTPD entfernen, falls es früher installiert wurde:
cmd:apt purge ntp

Dieser neue systemd-timesyncdDaemon kann auch SNTP-Client-Funktionen ausführen.

PROBLEM:
Wenn Sie die lokale Zeit auf einem Debian-Computer anzeigen und die lokale Zeit nicht korrekt ist:
cmd: date
Status anzeigen vonSystemuhr synchronisiert(SCS), ausführen:
entweder cmd: timedatectl
oder cmd: timedatectl status
Möglicherweise bemerken/sehen Sie die folgende Ausgabe von obenZeitdatumctlBefehl: SCS funktioniert nicht oder die Zeit ist nicht synchronisiert, d. h.: Der Debian-Computer erhält und aktualisiert NICHT die richtigen Zeitinformationen und zeigt sie NICHT an:

Systemuhr synchronisiert:NEIN
     NTP-Dienst:aktiv

FINDEN SIE NTP-SERVER IN DER NÄHE DES STANDORTS IHRES COMPUTERS:

Dienste zur Bereitstellung von Zeitinformationen werden auf NTP-SERVERN ausgeführt.

Wenn sich Ihr Debian-Computer in den USA befindet oder Sie einen NTP-Server in den USA verwenden möchten, gehen Sie zu dieser Site:
    https://tf.nist.gov/tf-cgi/servers.cgi
Wählen Sie mindestens zwei NTP-Server aus, die geografisch näher am physischen Standort Ihres Debian-Computers liegen.
Wählen Sie den Typ IPv4 für die IP-Adresse(n). Wenn Ihr Debian-Computer nur IPv6 oder auch IPv6 verwendet, wählen Sie den Typ IPv6 für die IP-Adresse(n).

AKTUALISIEREN SIE "TIMESYNCD.CONF":

cmd:nano /etc/systemd/timesyncd.conf

Fügen Sie dann die folgenden 3 Zeilen hinzu, falls diese nicht vorhanden sind intimesyncd.conf:

[Zeit]
NTP=132.163.96.1
FallbackNTP=132.163.96.2,132.163.96.3,132.163.96.4,132.163.96.6

Geben Sie in der Zeile „NTP=“ nur einen Server an.
Geben Sie in der Zeile „FallbackNTP=“ mehrere Server an.
Oben zeige ich NTP-Server aus „Colorado, USA“ an, da sich mein Debian-Computer in Kalifornien, USA, befindet, das in der Nähe von Colorado, USA, liegt.

Wenn der DNS-Client (oder DNS-Server/Daemon) Ihres Computers/Geräts startetnachder TimeSyncD NTP-Client (oder NTP-Server/Daemon), dann sollten Sie in den Zeilen "NTP=" oder "FallbackNTP=" die IP-Adresse des NTP-Servers verwenden.
Wenn jedoch der DNS-Client (oder DNS-Server/Daemon) Ihres Computers/Geräts startetVorder TimeSyncD NTP-Client (oder NTP-Server/Daemon), dann können Sie in den Zeilen "NTP=" oder "FallbackNTP=" den Hostnamen des NTP-Servers (auch bekannt als: Servername) verwenden, zum Beispiel: time-a-b.nist.govanstelle seiner IP-Adresse 132.163.96.1.
Und beachten Sie auch, selbst wenn der DNS-Client (oder DNS-Server/Daemon) Ihres Computers/Geräts startetnachBeim TimeSyncD NTP-Client (oder NTP-Server/Daemon) können Sie den Hostnamen des NTP-Servers weiterhin in den Zeilen „NTP=“ oder „FallbackNTP=“ verwenden, da der TimeSyncD NTP-Client und der lokale NTP-Server/Daemon erneut versuchen werden, die Zeit abzurufen/zu synchronisieren, sodass dies beim zweiten oder nächsten Mal erfolgreich sein wird.
Wenn Ihr Debian-Computer/Gerät keinen DNS-Client (oder DNS-Server/Daemon) hat, müssen Sie die IP-Adresse des NTP-Servers verwenden.

Sie müssen die oben angezeigten NTP-Server ändern, basierend auf dem tatsächlichen Standort IHRES Debian-Computers.

Beispiel: Wenn sich Ihr Debian-Computer in Europa befindet,
gehen Sie hierhin:
    https://www.pool.ntp.org/zone/europe
Die obige Website listet auch andere NTP-Server für andere Standorte auf.

Da weltweit viele Server, normale Desktop-/Laptop- usw. Clientcomputer, Netzwerkgeräte, Smartphones usw. NTP-Server verwenden,
sind NTP-Server häufig überlastet.
Daher kann es sein, dass NTP-Server die Antwort auf die Abfrage Ihres Computers/Geräts verzögern oder einige Zeit benötigen.

Bitte spenden Sie dem NTP-Serverbetreiber, damit er sich schnellere/bessere Server leisten kann.

NEUE EINSTELLUNGEN AKTIVIEREN:

Führen Sie nach dem Erstellen oder Aktualisieren der timesyncd.confDatei die folgenden Befehle aus:
cmd: timedatectl show-timesync --all(neue NTP-Konfiguration überprüfen)
cmd: systemctl restart systemd-timesyncd (lokalen TimeSyncD NTP-Daemon neu starten)
cmd: timedatectl set-ntp true(NTP-Nutzung aktivieren und starten)

Jetzt können Sie den Status der synchronisierten Systemuhr anzeigen. Führen Sie unten einen der folgenden Befehle aus:
cmd: timedatectloder timedatectl status
Sie sollten die folgenden Zeilen sehen:

Systemuhr synchronisiert:Ja
     NTP-Dienst:aktiv

cmd: timedatectl timesync-status(Verbindungsinformationen zum TimeSyncD NTP-Dienst anzeigen)

Wenn Sie den Befehl ausführen systemctl status systemd-timesyncd, sollte „…Zum ersten Mal mit Zeitserver synchronisiert…“ angezeigt werden.

Führen Sie dateden Befehl aus. Er sollte die richtige Zeit anzeigen, diesmal:
cmd: date
Die angezeigte Zeit sollte mit der richtigen Zeit übereinstimmen und auf Ihrer vorab ausgewählten Zeitzone basieren.

(Manchmal kann es vorkommen, dass der Zeitserver die richtige Zeitantwort verzögert sendet. Haben Sie also Geduld.)

ERLEDIGT.


ANDERE EINSTELLUNGEN/INFO:

cmd: timedatectl list-timezones(Zeitzonen anzeigen)
cmd: timedatectl set-timezone America/Los_Angeles(tun Sie dies, wenn Sie die Zeitzone auf einstellen möchten PST, also UTC-08:00)
cmd: timedatectl set-timezone UTC(tun Sie dies, wenn Sie die Zeitzone auf einstellen möchten UTC. Diese UTCZeit ist immer und überall gleich. Jede andere Zeitzone wird aus dieser UTCZeit durch Addition oder Subtraktion bestimmter Zahlen berechnet.)

Wie kann ich aktuelle IP-Adressen anzeigen oder abrufen, die von einem NTP-Server (auch bekannt als: Hostname) oder einem NTP-Pool-Server verwendet werden?
cmd:nslookup 1.europe.pool.ntp.org

Wenn Sie eine Firewall (auch bekannt als: nftables, iptables usw.) aktiviert haben, sollten Sie in den NTP-bezogenen UDP-Regeln (mehrere) IP-Adressen von NTP-Servern angeben, um Missbrauch über NTP zu reduzieren.

Antwort3

Offenbar timedatectlist bei SystemD eine andere Infrastruktur vorhanden (obwohl die alte Methode immer noch funktioniert).

Sehen Sie, was die Jungs von Arch dazu schreiben:https://wiki.archlinux.org/index.php?title=Systemd-timesyncd&oldid=797636#:~:text=systemd-timesyncd%20is,clock%20to%20it

verwandte Informationen