Installation und Konfiguration eines NTP Servers unter Debian

Heute schauen wir uns einmal die Installation von einem NTP Server unter Debian an. Der Debian-Server soll als NTP-Zeitserver im Netzwerk laufen und sich seine Uhrzeit von Zeitservern aus dem Internetz holen.

Update der Paketquellen und Installation von NTP

Alles beginnt mit der Installation des benötigten Paketes.

sudo apt update && sudo apt install ntp -y

Anpassung der Interfaces, auf dem der Dienst horcht

Im ersten Schritt bearbeiten wir die Datei /etc/default/ntp.

NTPD_OPTS='-4 -g -U 0'

Nun müssen die die Datei /etc/ntp.conf bearbeiten. Es macht Sinn, wenn man sich die Standard-Datei vor dem Einpflegen von Änderungen einmal wegkopiert, um später nochmal in die Beispiele schauen zu können.

cp /etc/ntp.conf /etc/ntp.conf.default

Nun müssen in der Datei einige Einstellungen gesetzt werden, wir gehen diese einmal der Reihe nach durch.

driftfile

Die erste Einstellung, die in meiner Konfigurationsdatei steht, ist die Option

driftfile /var/lib/ntp/ntp.drift

Diese Datei wird verwendet, um die Abweichung der lokalen Systemzeit zur Referenzsekunde mitzuschreiben. Wo die Datei liegt ist relativ egal, daher lasse ich sie an Standard-Pfad liegen.

Weitere Standard-Optionen

Nun kommt ein Block an Befehlen, der 1:1 aus der default-Datei übernommen wurde.

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

Die Zeitserver, die abgefragt werden

Nun kommt eine Liste von Servern (oder von Server-Pools), die als Referenz für die Uhrzeit genutzt werden sollen. Sollen hier zum Beispiel die Server der Physikalisch-Technischen Bundesanstalt in Braunschweig genommen werden, sähe die Liste wie folgt aus:

server ptbtime1.ptb.de iburst
server ptbtime2.ptb.de iburst
server ptbtime3.ptb.de iburst

Möchte man hier stattdessen Pools benutzen, müssten die folgenden Zeilen genutzt werden:

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

Beschränkungen und Erlaubtliste

Nun muss definiert werden, welche Systeme auf den NTP Server zugreifen dürfen. Es macht Sinn, diesen Zugriff einzuschränken, um ungewollte Anfragen und ggf. sogar Änderungen abzufangen und direkt zu unterbinden.
Als erstes erlauben wir einen Zugriff per Client auf die IPv4-Adresse des Servers, allerdings dürfen keine Änderungen oder Anpassungen gemacht werden.
Danach erlauben wir den Zugriff lokal über die 127.0.0.1, dies ist für manche Dienste oder Anwendungen notwendig. Eine Anpassung lokal stellt in meinen Augen kein Problem dar, da ja nur ein Administrator dies machen kann (sollte ;)).
In den weiteren Zeilen erlauben wir bestimmte IPv4-Adressen, die auf den NTP zugreifen dürfen und sich mit dem System abgleichen dürfen.

restrict -4 default kod notrap nomodify nopeer noquery limited
restrict 127.0.0.1
restrict 1.2.3.1 notrap nomodify nopeer
restrict 1.2.3.2 notrap nomodify nopeer
restrict 1.2.3.3 notrap nomodify nopeer
restrict 1.2.3.4 notrap nomodify nopeer
restrict 1.2.3.5 notrap nomodify nopeer
restrict 1.2.3.6 notrap nomodify nopeer
restrict 1.2.3.7 notrap nomodify nopeer

Eine Beschreibung der Optionen findet man direkt auf der Seite des NTP-Projekts: doc.ntp.org

Definition der Interfaces

Als letzten Bereich in der Konfiguration wird nun noch definiert, auf welchen Interfaces das System überhaupt lauschen soll. Dies wurde zwar auch schon über die /etc/default/ntp gesetzt, kann aber nicht schaden.

interface ignore ipv6
interface listen ipv4

Abschließenden Arbeiten und Kontrolle

Sind nun alle Einstellungen gesetzt, starten wir den NTP-Dienst einmal mit

systemctl restart ntp

durch und prüfen, ob eine Synchronisierung mit den eingetragenen Servern gemacht wird.

root@Server:/etc# ntpq -pn 127.0.0.1
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+192.53.103.108  .SHM.            1 u   50   64  377   15.044    0.248   0.199
+192.53.103.104  .PTB.            1 u   44   64  377   14.130   -0.225   0.019
*192.53.103.103  .PTB.            1 u   60   64  377   15.021    0.221   0.040

Sie benötigten persönliche Unterstützung oder haben nicht die richtige Lösung für Ihr Problem gefunden?

Dieser Blog wird von mir, Jan Kappen, in seiner Freizeit betrieben, hier beschreibe ich Lösungen für Probleme aller Art oder technische Anleitungen mit Lösungsansätzen.

Die berufliche Unabhängigkeit

Ich bin seit Januar 2020 vollständig selbstständig und habe meine eigene Firma gegründet, die Building Networks mit Sitz in Winterberg im schönen Sauerland. Hier stehe ich als Dienstleister gerne für Anfragen, Support oder Projekte zur Verfügung.

Die Firma Building Networks bietet Ihnen:

  • Hilfe und Support per Telefon, Fernwartung oder persönlich vor Ort
  • Projekt-Unterstützung
  • Ausgezeichnete Kompetenz zu den Themen
    • Microsoft Hyper-V
    • Microsoft Failover Clustering & HA
    • Storage Spaces Direct (S2D) & Azure Stack HCI
    • Veeam Backup & Recovery
    • Microsoft Exchange
    • Microsoft Exchange Hybrid Infrastruktur
    • Microsoft Active Directory
    • Microsoft Office 365
    • Ubiquiti
    • 3CX VoIP PBX
    • Fortinet Network Security
    • Baramundi Software
    • ...

Ich freue mich über Ihren Kontakt, weitere Informationen finden Sie auf der Webseite meiner Firma unter Building-Networks.de

Jan

Jan Kappen arbeitet seit 2005 in der IT. Er hat seine Ausbildung 2008 abgeschlossen und war bis 2018 als IT-Consultant im Bereich Hyper-V, Failover Clustering und Software Defined Storage unterwegs. Seit 2015 wurde er jährlich von Microsoft als Most Valuable Professional (MVP) im Bereich "Cloud & Datacenter Management" ausgezeichnet für seine Kenntnisse und die Weitergabe seines Wissens. Jan ist häufig auf Konferenzen als Sprecher zu finden, weiterhin bloggt er viel. Von September 2018 bis Dezember 2019 war Jan als Senior Network- und Systemadministrator bei einem großen mittelständischen Unternehmen im schönen Sauerland angestellt. Im Januar 2020 hat er den Sprung in die Selbstständigkeit gewagt und ist seitdem Geschäftsführer der Firma Building Networks in Winterberg. In seiner Freizeit kümmert er sich um das Freifunk-Netzwerk in Winterberg und Umgebung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert