Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
linux:ntp [02.03.2024 19:50. ] – [Dokumentation] django | linux:ntp [03.07.2024 19:56. ] (aktuell) – [Rolle] 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. |
| |
===== 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. |
| |
==== Installation und Client-Konfiguration ==== | ==== Installation und Client-Konfiguration ==== |
Setzen wir einen neue virtuellen Host unter Arch Linux neu auf, oder wollen wir bei einem bestehenden Host die Konfiguration aktualisieren, verwenden wir wie zuvor schon angeschnitten **[[https://www.ansible.com/|Ansible]]** als Orchstrierungswerkzeug. So ist sichergestellt dass zum einen all unsere Hosts entsprechend gleich aufgebaut, konfiguriert und betrieben werden. | Setzen wir einen neue virtuellen Host unter Arch Linux neu auf, oder wollen wir bei einem bestehenden Host die Konfiguration aktualisieren, verwenden wir wie zuvor schon angeschnitten **[[https://www.ansible.com/|Ansible]]** als Orchestrierungswerkzeug. So ist sichergestellt dass zum einen all unsere Hosts entsprechend gleich aufgebaut, konfiguriert und betrieben werden. |
| |
=== Rolle === | === Rolle === |
└── vars</code> | └── vars</code> |
| |
Wie wir sehen ist die Rolle durchaus überschaubar, im Task **''main.yaml''** verweisen wir lediglich auf den eigentlichen Task **''chrony-.yml''**. | Wie wir sehen ist die Rolle durchaus überschaubar, im Task **''main.yaml''** verweisen wir lediglich auf den eigentlichen Task **''chrony.yml''**. |
$ vim ~/ansible/roles/chrony_client/tasks/main.yml | $ vim ~/ansible/roles/chrony_client/tasks/main.yml |
<file yaml roles/chrony_client/tasks/main.yml>--- # Playbook/Rolle zur Konfiguration des NTP-Clients | <file yaml roles/chrony_client/tasks/main.yml>--- # Playbook/Rolle zur Konfiguration des NTP-Clients |