OpenNTPD

Aus wiki.archlinux.de

OpenNTPD ist eine freie Implementation des Network Time Protocols und wird im Rahmen des OpenBSD-Projektes entwickelt. Der Service kann sowohl dazu verwendet werden die Systemzeit abzugleichen als auch selbst die Zeit bereitzustellen.

Installation

OpenNTPD ist als openntpd in extra verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S openntpd

Damit OpenNTPD automatisch gestartet wird, muss der Service entsprechend konfiguriert werden.

systemctl enable openntpd  # Für den automatischen Start vormerken …
systemctl start openntpd   # … und direkt starten

Ein Neustart ist dabei nicht erforderlich.

Konfiguration

Die Standardkonfiguration kann dazu genutzt werden die Zeit des lokalen Rechner mit verfügbaren NTP-Servern zu synchronisieren. Die Konfigurationseinstellungen finden üblicherweise in /etc/ntpd.conf statt.

Um eine Synchronisation mit einem definierten Server zu konfigurieren wird die Option server verwendet. Es können alle NTP-Server verwendet werden, die entsprechend konfiguriert wurden. Eine Liste mit Servern in der Nähe kann unter www.pool.ntp.org/zone/@ eingesehen werden.

server ntp.example.org

Sollte ein DNS-Eintrag mehrere IP-Adressen beinhalten, so kann statt server servers verwendet werden. In diesem Fall werden alle IP-Adressen zur Synchronisation verwendet. Standardmäßig ist pool.ntp.org konfiguriert.

pool.ntp.org

Die Anzahl der server- bzw. servers-Direktiven ist nicht begrenzt, so dass mehrere Quellen konfiguriert werden können.

Sollte der Server auf dem sich OpenNTPD befindet gleichzeitig als Zeitserver für andere Clients dienen, so kann dies mit Hilfe der Option listen konfiguriert werden. Zum Beispiel bringt listen on * OpenNTPD dazu, auf allen angeschlossenen Interfaces zu lauschen und mit listen on 127.0.0.1 würde er nur am loopback-Interface lauschen.

Der Zeitserver startet mit der Auslieferung der eigenen Zeit an Clients erst, nachdem er selbst die korrekte Zeit besitzt. Die Synchronisation kann dabei einige Zeit in Anspruch nehmen. Ein manuelles Setzen der korrekten Systemzeit vor dem Start von OpenNTPD kann diese Wartezeit merklich verringern.

Fehlerbeseitigung

Error adjusting time

Sollte sich die Zeit nicht korrekt synchronisieren und im Log folgendes stehen, konnte die Zeit nicht synchronisiert werden.

openntpd adjtime failed: Invalid argument

Mittels ntpd -s -d lässt sich das System manuell synchronisieren und man sieht eventuell auch den Grund für die Nichterreichbarkeit der Zielserver. Einen weiteren Hinweis kann die Ausgabe des systemd-Logs liefern.

systemctl status openntpd

Der korrekte Start sollte in etwa folgendes ausgeben:

openntpd.service - OpenNTP Daemon
  Loaded: loaded (/usr/lib/systemd/system/openntpd.service; enabled)
  Active: active (running) since Sa 2013-11-09 01:27:57 CET; 17h ago
 Process: 140 ExecStart=/usr/bin/ntpd -s (code=exited, status=0/SUCCESS)
  CGroup: /system.slice/openntpd.service
          ├─146 /usr/bin/ntpd -s
          └─159 /usr/bin/ntpd -s

Siehe auch

  • NTP – Eine weitere Implementierung

Weblinks