NTP unter Debian / Ubuntu
Dieser Artikel behandelt die Installation, Konfiguration und Verwendung des NTP-Services und gibt zudem vorher einen kurzen Überblick über NTP sowie die Bedeutung der Uhrzeit im Computerbereich.
Bedeutung von NTP: Durch verschiedene, hardwareseitige Geräte oder VM's kommt es bei den allermeisten Computern früher oder später zu Differenzen der tatsächlichen Uhrzeit. Je nach Dauer der Nicht-Korrektur und der Eigenschaften der Hardware von einigen wenigen Sekunden bis hin zu mehreren Minuten im Monat. Der NTP-Daemon synchronisiert die aktuelle Uhrzeit des Clients mit Hilfe eines Zeitservers, so dass der Client immer über eine möglichst aktuelle Uhrzeit verfügt.
Eine genaue Uhrzeit ist zum Beispiel auf Mail- oder Webservern wichtig, da an die Uhrzeit häufig noch andere Dinge gekoppelt sind. Beispielsweise könnte eine Mail auf einem Mailserver mit einer vorgehenden Uhr weitergereicht werden, und ein anderer Mailserver erhält damit eine Mail „aus der Zukunft“ – Dies könnte zum Ablehnen der Mail aus Spamverdachtsgründen resultieren. Auch Clients profitieren von einer genauen Uhrzeit. Wenn die lokale Uhr nachgeht, erhält man plötzlich nur noch e-Mails „aus der Zukunft“, da es zum Beispiel anstelle 14:38:47 Uhr schon 14:39:52 Uhr ist. Auch beim Bearbeiten von Datenbanken, oder generell beim Arbeiten mit Daten kann es aufgrund einer falschen Uhrzeit zu Inkonsistenzen kommen.
Die meisten Computer verfügen nicht über einen hinreichend stabilen Taktgeber, wie einen thermostatgesteuerten Quarzoszillator oder einen Oszillator auf Rubidium-Basis und verfügen für gewöhnlich auch nicht über eine ausreichend stabile Energiequelle, um derlei Hardware zuverlässig zu betreiben, daher kommt es früher oder später unweigerlich zu einer Differenz zwischen lokaler Systemzeit und einer Referenzzeit (beispielsweise vom Funksender DCF77, der das westliche Europa mit einer exakten Referenzzeit versorgt).
Abhilfe gegen dieses Problem bietet sehr zuverlässig NTP, mittels welchem mithilfe des NTP-Services die lokale Uhrzeit mit einer genauen Referenzzeit synchronisiert werden kann.
Zeit Synchronisation mit NTP
Im ersten Schritt wird der NTP Dienst sowie das Tool ntpdate installiert.
# apt-get update # apt-get upgrade # apt-get install ntp ntpdate
Konfiguration NTP
In der Datei /etc/ntp.conf werden die Parameter des NTP-Services definiert. Es wird hier davon ausgegangen, dass der Rechner nicht als Server für andere Rechner dienen soll, sondern nur seine eigene Zeit synchronisieren soll.
# vim /etc/ntp.conf
In einem Zeitserver-Pool sind mehrere Zeitserver vereint, bei jeder Anfrage wird zufallsgesteuert ein Zeitserver aus diesem Pool befragt. Dies hat zum Einen den Vorteil, dass die Ausfallsicherheit erhöht wird (wenn ein Server nicht antworten sollte, wird einfach ein anderer Server verwendet), und zum Anderen wird so die Last der weltweiten Anfragen besser verteilt. Um den schweizerischen NTP-Zeitserverpool zu verwenden, ist folgendes in der „/etc/ntp.conf“ zu definieren:
server 0.ch.pool.ntp.org server 1.ch.pool.ntp.org server 2.ch.pool.ntp.org server 3.ch.pool.ntp.org # Wahlweise geht auch # server ch.pool.ntp.org # Damit wird der gesamte CH-Pool auf einmal angesprochen
Somit werden alle vier Anlaufstellen des schweizerischen NTP-Zeitserverpools verwendet. Man kann hier jedoch auch einen einzigen Server gezielt eintragen.
server ntp.blackgate.org # Es wird der eigene private Server abgefragt.
Es ist jedoch nicht ratsam, einen einzigen Server zur Synchronisation anzugeben, sondern immer einen Pool zu verwenden. Wenn man in einem Netzwerk allerdings einen eigenen Zeitserver betreibt, kann man diesen natürlich auch als einzigen Server angeben, ansonsten sollte man immer einen Zeitserver-Pool verwenden.
Zum Schluss sollte nun zum übernehmen der Konfiguration der ntp Dienst noch neugestartet, beziehungsweise erst einmal gestartet werden.
# service ntp restart
oder..
# service ntp start
Der NTP-Services synchronisiert dann bereits schon nach wenigen Minuten das erste Mal mit den definierten NTP-Server und stellt so automatisch die richtige Uhrzeit ein.
(Optional) Manuelles NTP-Zeitupdate:
# watch ntpq -cpe -cas
Zeit Synchronisation mit cronyd