Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
linux:ntp [22.02.2024 12:24. ] – [Checking chrony Source Statistics] django | linux:ntp [21.03.2024 08:41. ] (aktuell) – [Orchestrierung - Installation und Konfiguration des chronyd mit Hilfe von Ansible] Typofixing django |
---|
| {{htmlmetatags>metatag-robots=() |
| metatag-keywords=(Ansible,Arch Linux,ntp, chrony, timeserver,stratum,chronyc,chronyd) |
| metatag-description=(NTP-Zeitserver mit chrony unter Arch Linux einrichten und nutzen) |
| }} |
====== NTP-Zeitserver mit chrony unter Linux einrichten und nutzen ====== | ====== NTP-Zeitserver mit chrony unter Linux einrichten und nutzen ====== |
{{:linux:hourglass.png?nolink&100 |Bild: stilisierte Sanduhr}} Basis für eine zuverlässige Kommunikation zwischen netzwerkbasierten Diensten und Servern ist unter anderem eine exakte Zeitmessung. Nur so kann gewährleistet werden das Systemkomponenten wie z.B. systemd-Timer und Cronjobs zur richtigen Zeit gestartet werden und laufen. Einzelne Systeme können mit Hilfe des **N**etwork **T**ime **P**rotocol kurz **NTP** ihre Systemzeiten mit einem zentralen Zeitserver oder einem Pool von Servern zu synchronisieren. NTP wurde 1985 von David L. Mills entwickelt und wurde als [[https://tools.ietf.org/html/rfc958|RFC 958]] definiert um eine zuverlässige Zeitgabe über Netzwerke mit variabler Paketlaufzeit über das verbindungslose Protokolls **UDP** zu ermöglichen und bekam von der Internet Assigned Numbers Authority den UDP-Ports **123** zugewiesen. Das **RFC958** wurde in den letzten Jahren mehrfach überarbeitet und ergänzt und wurde letztmalig mit **[[https://www.rfc-editor.org/rfc/rfc9109|RFC 9109 - Network Time Protocol Version 4: Port Randomization]]** ergänzt. | {{:linux:hourglass.png?nolink&100 |Bild: stilisierte Sanduhr}} Basis für eine zuverlässige Kommunikation zwischen netzwerkbasierten Diensten und Servern ist unter anderem eine exakte Zeitmessung. Nur so kann gewährleistet werden das Systemkomponenten wie z.B. systemd-Timer und Cronjobs zur richtigen Zeit gestartet werden und laufen. Einzelne Systeme können mit Hilfe des **N**etwork **T**ime **P**rotocol kurz **NTP** ihre Systemzeiten mit einem zentralen Zeitserver oder einem Pool von Servern zu synchronisieren. NTP wurde 1985 von David L. Mills entwickelt und wurde als [[https://tools.ietf.org/html/rfc958|RFC 958]] definiert um eine zuverlässige Zeitgabe über Netzwerke mit variabler Paketlaufzeit über das verbindungslose Protokolls **UDP** zu ermöglichen und bekam von der Internet Assigned Numbers Authority den UDP-Ports **123** zugewiesen. Das **RFC958** wurde in den letzten Jahren mehrfach überarbeitet und ergänzt und wurde letztmalig mit **[[https://www.rfc-editor.org/rfc/rfc9109|RFC 9109 - Network Time Protocol Version 4: Port Randomization]]** ergänzt. |
==== Chrony unter Arch Linux installieren ==== | ==== Chrony unter Arch Linux installieren ==== |
Bei der Installation des chrony-Paketes verwenden wir unter **[[https://archlinux.org/|Arch Linux]]** den Paketmanager **''pacman''**. | Bei der Installation des chrony-Paketes verwenden wir unter **[[https://archlinux.org/|Arch Linux]]** den Paketmanager **''pacman''**. |
- Als User: <code> $ sudo pacman -S chrony -y </code> | - Als User: <code> $ sudo pacman -S chrony</code> |
- Als Nutzer mit Root-Rechten entsprechend: <code> $ sudo pacman -S chrony -y </code> | - Als Nutzer mit Root-Rechten entsprechend: <code> # pacman -S chrony</code> |
| |
===== Paketinhalt ===== | ===== Paketinhalt ===== |
++++ | ++++ |
===== Dokumentation ===== | ===== Dokumentation ===== |
Eine ausführliche Onlinedokumentation des Chrony Projekts findet sich auf der entsprechnden Projektseite → https://chrony-project.org/documentation.html Bei der Installation des aktuellen chrony-Paketes z.B. unter Arch Linux finden sich im Verzeichnis **''/usr/share/doc/chrony/''** auch entsprechende FAQs, READMEs, NEWS und Beispiele. | Eine ausführliche Onlinedokumentation des Chrony Projekts findet sich auf der entsprechenden Projektseite → https://chrony-project.org/documentation.html Bei der Installation des aktuellen chrony-Paketes z.B. unter Arch Linux finden sich im Verzeichnis **''/usr/share/doc/chrony/''** auch entsprechende FAQs, READMEs, NEWS und Beispiele. |
# tree /usr/share/doc/chrony/ | # tree /usr/share/doc/chrony/ |
<code>/usr/share/doc/chrony// | <code>/usr/share/doc/chrony// |
# chronyc tracking | # chronyc tracking |
| |
<code>Reference ID : C3C98961 (defiant.tlercher.de) | <code>Reference ID : 3E800112 (ntp1.noris.net) |
Stratum : 3 | Stratum : 3 |
Ref time (UTC) : Wed Feb 21 17:44:33 2024 | Ref time (UTC) : Thu Feb 22 12:24:14 2024 |
System time : 0.000000083 seconds slow of NTP time | System time : 0.000030264 seconds slow of NTP time |
Last offset : +0.000929279 seconds | Last offset : +0.000049906 seconds |
RMS offset : 0.000310979 seconds | RMS offset : 0.000355495 seconds |
Frequency : 23.866 ppm fast | Frequency : 23.667 ppm fast |
Residual freq : +0.279 ppm | Residual freq : +0.017 ppm |
Skew : 0.179 ppm | Skew : 0.322 ppm |
Root delay : 0.019519085 seconds | Root delay : 0.016084936 seconds |
Root dispersion : 0.001197367 seconds | Root dispersion : 0.002525240 seconds |
Update interval : 1025.2 seconds | Update interval : 64.5 seconds |
Leap status : Normal</code> | Leap status : Normal</code> |
| |
| |
===== Orchestrierung - Installation und Konfiguration des chronyd mit Hilfe von Ansible ===== | ===== Orchestrierung - Installation und Konfiguration des chronyd mit Hilfe von Ansible ===== |
Natürlich wird man im Jahr 2024 nicht mehr ernsthaft, manuell Server aufsetzen und betreiben wollen. Vielmehr wird amn auf ein Orchestrierungswerkzeug wie z.B. **[[linux:ansible:start|Ansible]]** zurückgreifen. | Natürlich wird man im Jahr 2024 nicht mehr ernsthaft, manuell Server aufsetzen und betreiben wollen. Vielmehr wird man auf ein Orchestrierungswerkzeug wie z.B. **[[linux:ansible:start|Ansible]]** zurückgreifen. |
| |
Wir werden uns nun nachfolgend sowohl die Client- wie auch die Server-Installation und -konfiguration genauer betrachten. | Wir werden uns nun nachfolgend sowohl die Client- wie auch die Server-Installation und -konfiguration genauer betrachten. |