Eigenen NTP-Server unter Linux installieren und betreiben
Vorwort zur Anleitung:
Diese Anleitung hat einen einfachen Schwierigkeitsgrad.
Installation von Linux und Kenntnisse in der Befehlszeile sind vorausgesetzt.
Ein NTP-Server (Network Time Protocol-Server) ist ein Server, der die genaue Zeit aus einer verlässlichen Quelle bezieht und diese über das Netzwerk an andere Geräte verteilt. NTP dient dazu, die Systemzeit von Computern, Servern, Routern und anderen Geräten zu synchronisieren, um sicherzustellen, dass alle Geräte innerhalb eines Netzwerks die gleiche Zeit anzeigen.
NTP-Server können die Zeit von verschiedenen Quellen beziehen, wie z.B.:
• Atomuhren: Hochpräzise Uhren, die als Referenzquelle für die genaue Zeit dienen.
• GPS-Satelliten: Viele NTP-Server synchronisieren sich mit GPS-Systemen, die präzise Zeitinformationen liefern.
• Andere NTP-Server: Ein NTP-Server kann auch die Zeit von einem anderen, verlässlichen NTP-Server beziehen, der als «Stratum 1»-Server bekannt ist, und diese Zeit an weitere Server weitergeben.
Das Ziel von NTP ist es, die Uhrzeiten auf allen Geräten in einem Netzwerk so genau wie möglich abzugleichen, was für viele Anwendungen wichtig ist, wie etwa für die korrekte Zeitstempelung von Log-Dateien, die Synchronisation von Datenbanken und die Sicherheit (z.B. bei der Validierung von Zertifikaten).
Vorbereitungen / Anforderungen:
Anforderungen
Schwierigkeitsgrad-Installation: Einfach
Schwierigkeitsgrad-Anwendung: Einfach
Erforderliche Kenntnisse: Linux-Befehlszeile
Systemvoraussetzungen:
Basis: Debian
Betriebssystem: Ubuntu Server (Headless)
Festplattenspeicher: Mindestens 10 GB
CPU: Mindestens 1 CPU
RAM: Mindestens 512 MB
Internetverbindung: Verfügbar
Die Systemanforderungen wurden in einer virtualisierten Umgebung getestet.
Tipp:
Wenn du mit Virtualisierung, z.B. ProxMox, vertraut bist, kannst du deine eigenen Server effizient und stromsparend betreiben!
Getestet auf:
Ubuntu-Server 22.04
Ubuntu-Server 24.10
Installationsablauf:
1. Durchführung von System-Upgrade
2. Statische IP-Adresse festlegen und anwenden
3. (Optional) Hostnamen festlegen
4. Installation und Einstellungen
5. Systembedienung
6. Resümee
Optionale Schritte können weggelassen werden, da sie lediglich unterstützende Funktionen bieten, wie zum Beispiel die Zusammenfassung von Servern in einem Rechenzentrum.
Für den Betrieb in einem Rechenzentrum sollten die optionalen Abläufe jedoch aus Gründen des beruflichen Stolzes in Betracht gezogen werden.
1. Durchführung von System-Upgrade
Vor jeder Installation ist ein System-Update erforderlich:
$> ssh DEINUSER@192.168.1.X
# Stelle eine SSH-Verbindung zu deinem Server her
$> sudo apt update
# Aktualisiere die Paketquellen
$> sudo apt upgrade -y
# Starte das System-Upgrade
$> sudo apt autoclean
# Optional: Entferne überflüssige Pakete
$> sudo apt autoremove
# Optional: Bereinige das System von Abhängigkeiten
2. Statische IP-Adresse festlegen und anwenden
Ein NTP-Server benötigt eine statische IP-Adresse. Alternativ kann auch eine per DHCP zugewiesene feste Adresse verwendet werden, jedoch sollte diese niemals geändert werden.
Es besteht die Möglichkeit, sich selbst vom Server auszuschließen, wenn die IP-Adresse nicht korrekt konfiguriert ist.
$> ip addr
# Liste alle Netzwerkadapter und Informationen auf
$> sudo su
# Wechsel in die Super-User-Shell
$> cd /etc/netplan
# Wechsle ins Netplan-Verzeichnis
$> ls -l
# Zeige alle Dateien im Netplan-Verzeichnis an
$> for i in $( ls ); do mv $i $i.bak; done
# Sichere alle bestehenden Konfigurationen als Backup
$> touch /etc/netplan/01_static_ip.yaml
# Erstelle eine neue Konfigurations-Datei
$> nano /etc/netplan/01_static_ip.yaml
# Öffne die neue Konfigurations-Datei
network:
version: 2
renderer: networkd
ethernets:
ens18: #Edit this line according to your network interface name.
dhcp4: no
addresses:
- 192.168.1.150/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4 # Öffne die Datei mit einem Texteditor (Copy-Paste)
# Ersetze ens18 durch den Namen deines Netzwerk-Adapters (siehe Ausgabe von ip addr).
# Ändere die IP-Adresse und die Netzmaske nach Bedarf.
# Passen die DNS-Adressen an, falls erforderlich.
# Überprüfe und passe ggf. die Routen (Gateway) an.
Speichern und Verlassen
• Speichern der Datei: Ctrl + O
• Editor verlassen: Ctrl + X
$> netplan generate && netplan apply
# Wende die neuen Netzwerkeinstellungen an
🚨 Der Server wechselt nun zu einer neuen IP-Adresse, was dazu führt, dass deine SSH-Sitzung unterbrochen wird.
3. (Optional) Hostnamen festlegen
Durch das Ändern des Hostnamens der Server-Station vergibst du einen eindeutigen Namen für das System.
In unserem Fall könnte der Hostname beispielsweise „S4-NTP-Server“ lauten.
Die Hosts-Datei wird verwendet, um auf Server-Ebene IP-Adressen Namen zuzuordnen, die intern genutzt werden. Wenn du den Hostnamen änderst, muss auch der entsprechende Eintrag in der Hosts-Datei aktualisiert werden. Bei produktiven Systemen sollte diese Kleinigkeit unbedingt beachtet werden, da sie ein Zeichen von Berufsethos und Professionalität ist. Für Tests und Experimente ist dies jedoch nicht zwingend erforderlich.
Der neue Hostname muss zwingen der gleiche sein wie auch im Hosts-File.
$> ssh DEINUSER@192.168.1.X
# Wiederherstellen der SSH-Verbindung
$> sudo hostnamectl set-hostname DEINHOSTNAME
# Einen neuen Host-Namen setzen
$> sudo nano /etc/hosts
# Hosts-Datei öffnen und ändere den markierten Bereich
127.0.0.1 localhost
127.0.1.1 DEINHOSTNAME
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ……..