Blog-Seite

Jeder Beitrag auf dieser Blogseite soll den Umgang mit dem Network Time Protocol vereinfachen.

alle Artikel
4 min Lesezeit

Voraussetzungen für die Installation von NTP mittels Tarball

Bevor mit der eigentlichen Installation begonnen werden kann, benötigen wir ein paar Vorbereitungen. Als aller erstes benötigen wir die aktuellste Version von NTP. Diese kann von der Seite Seite „Current versions of NTP"  heruntergeladen werden. Da wir zusätzlich zu den normalen Einstellungen auch das Auto-Key Verfahren benutzen wollen, sollten die Entwicklerwerkzeuge installiert sind.

Entfernen vorhandener NTP Installationen

Um keine Konflikte mit einer noch vorhandenen NTP Installation und unserer selbst kompillierten Version zu verursachen, muss eine eventuell vorhandene Installation gelöscht werden. Dies kann für RPM-basierte Betriebssysteme, mittels dem Befehl: rpm -e --nodeps ntp erfolgen. Ebenfalls ist zu prüfen, ob im Verzeichnis usr/local/bin noch NTP Binaries vorhanden sind. Die Überprüfung kann schnell mittels des Befehles: ls -al /usr/local/bin/ntp* durchgeführt werden. Sofern Binaries gefunden wurden, müssen diese entfernt werden.

Sourcen herunterladen und Ordnerstruktur für die Kompilierung anlegen

Für die eigentliche Kompilierung lege ich zu erst einen Ordner im Home-Verzeichnis vom Benutzer root an mkdir -p /root/software_archiv/ntp. Im Anschluss wechsle ich in diesen gerade angelegten Ordner cd /root/software_archiv/ntp/. In meinem Beispiel habe ich die Version ntp-4.2.8p15 als Tarball heruntergeladen und entpackt diesen wie folgt tar -xzvf ntp-4.2.8p15.tar.gz. Nach dem Entpacken kann ich in den Ordner ntp-4.2.8.p15 wechseln cd ntp-4.2.8p15.

Erstellen der Konfiguration mit folgenden Variablen

Für die Konfiguration benötigen wir die folgenden Variablen: 

  • --enable-RAWDCF (Diese Variable stellt die Unterstützung des DCF77 Rohsignals sicher. Denn wir wollen auch einen NTP Stratum 1 Server betreiben.)
  • --enable-step-slew (Diese Variable ermöglicht es dem NTP Daemon (ntpd), die Geschwindigkeit der Systemuhr moderat zu reduzieren und somit eine vorgehende Uhr an die korrekte Uhrzeit anzupassen.)
  • --enable-ntpdate-step (Diese Variable ermöglicht es, dass auch das Kommando ntpdate, die Geschwindigkeit der Systemuhr moderat reduzieren kann und somit eine vorgehende Uhr an die korrekte Uhrzeit anpaßt.)
  • --enable-LOCAL-CLOCK (Diese Variable ermöglicht es, dass auch der lokale Systemzeitgeber als Referenzuhr herangezogen wird.)
  • --enable-MEINBERG (Diese Variable ermöglicht den Einsatz von DCF77 Empfängern des Herstellers Meinberg. Dieses ist wichtig für unseren NTP Stratum 1 Server.)
  • --enable-timing-stats (Diese Variable ermöglicht das Schreiben von Timing-Statistiken, die Auskunft über die Prozess-Verarbeitungszeiten von ntpd erteilen.)

Das fertige Konfigurationsbeispiel sieht wie folgt aus:

./configure \

--enable-RAWDCF\

--enable-step-slew\

--enable-ntpdate-step\

--enable-LOCAL-CLOCK\

--enable-timing-stats\

--enable-MEINBERG

Kompilieren

Mittels des des Befehls make wird der Vorgang des Kompilieren gestartet.

Installieren

Mittels des des Befehls make install wird der Vorgang der Installation gestartet.

Log- und PID-Verzeichnisse

Zum Abschluss muss noch einmal geprüft werden, dass das alle benötigten Ordner (Verzeichnisse) vorhanden sind. Sollten diese nicht vorhanden sein, müssen diese noch angelegt werden. Hinsichtlich der Berechtigung auf die Verzeichnisse ist wichtig, dass diese nur für den Benutzer root volle Zugriffsrechte bereitstellen. Nachfolgend die Liste der benötigten Verzeichnisse und deren Bedeutung.

  • NTP Konfigurationsdateien - /etc/ntpd/
  • NTP Schlüsselverzeichnis für Zertifikate - /etc/ntpd/keys/
  • Das PID-file Verzeichnis - /var/run/ntpd/
  • Das Logverzeichnis für ntpd.log - /var/log/
  • Verzeichnis für das ntp Driftfile - /var/lib/ntp/drift/
  • Verzeichnis für die ntp Statistiken - /var/lib/ntp/stats/