Zeitserver installieren [NTP]

ntp_logo

Wer einen eigenen Server hat, kann diesen als NTP-Zeitserver recht einfach für andere Systeme zur Synchronisierung der Uhrzeit zur Verfügung stellen. Leider stehen immer weniger freie Zeitserver zur Verfügung, obwohl kaum Ressourcen für den Betrieb benötigt werden.

Je mehr die Community unterstützen, desto besser.

 

Zur Installation auf Debian (als root per SSH):

1. Zuerst sollte sichergestellt sein, dass der Zeit-Dienst 'ntp' installiert ist, alternativ wird es nachgeholt:

apt-get install ntp

 

2. Editieren der Datei '/etc/ntp.conf', die Statistik aktivieren und Zeitabweichungen loggen, nützlich für einen Neustart:

  1. driftfile /var/lib/ntp/ntp.drift
  2. statsdir /var/log/ntpstats/
  3. filegen loopstats file loopstats type day enable
  4. filegen peerstats file peerstats type day enable
  5. filegen clockstats file clockstats type day enable

 

Hinzufügen der Hardware-Uhr vom eigenen Server als Notlösung, wenn kein externer Zeitserver erreichbar ist:

  1. server 127.127.1.0
  2. fudge 127.127.1.0 stratum 10

 

Da wir einen Zeitserver zur Verfügung stellen möchten, sollte hier nicht die Pool-Adresse als Zeitquelle genutzt werden. Wir suchen uns anhand dieser Stratum2-Liste mindestens 3 Server aber maximal 7 Server aus. Sofern beim Notify kein 'Yes' steht, brauchen wir auch keine E-Mail an den Serverinhaber schreiben. Es ist ein Kann, kein Muss! Je nach Standort des Servers wählt man die 'nächsten' Server in der Umgebung aus:

  1. server ntp1.de
  2. server time6.ostseehaie.de **IPv6-NTP**
  3. server ntp.alks.org
  4. server de.ntp.f-box.org
  5. server ntp1.time.bendig.name

 

Weitere Einstellungen sind nicht notwendig und die 'ntp.conf' kann auf den Standardwerten belassen werden:

  1. restrict -4 default kod notrap nomodify nopeer noquery
  2. restrict -6 default kod notrap nomodify nopeer noquery
  3.  
  4. restrict 127.0.0.1
  5. restrict ::1
  6.  
  7. #restrict 192.168.123.0 mask 255.255.255.0 notrust
  8.  
  9. #broadcast 192.168.123.255
  10.  
  11. #disable auth
  12. #broadcastclient

 

Das wars soweit zur Konfiguration. Der Zeitserver wird gestartet bzw. neu gestartet:

  1. /etc/init.d/ntp start
  2. /etc/init.d/ntp restart

 

Der Zeitserver ist fertig. Es dauert anfangs ein paar Minuten bis die Zeitsyncronisation startet.

 

Falls der Server mehrere IP-Adressen besitzt und man nur eine bestimmte IPv4/IPv6 Adresse nutzen möchte, kann man das wie folgt konfigurieren. Dazu bearbeitet man unter '/etc/default/' die Datei 'ntp':

NTPD_OPTS='-g -I 1.2.3.4 -I 1001:2002:30:40:0:0:1:1 -I 127.0.0.1'

  1. 1.2.3.4 /* mit der eigenen IPv4-Adresse ersetzen */
  2. 1001:2002:30:40:0:0:1:1 /* mit der eigenen und !vollständigen! IPv6-Adresse ersetzen */
  3. 127.0.0.1 /* localhost, erklärt sich von selbst ;) */

 

Die IP-Konfiguration des Zeitservers ist abgeschlossen, es folgt ein Neustart von 'ntp':

/etc/init.d/ntp restart

 

Überprüfung, ob die richtigen IP-Adressen gesetzt wurden:

netstat -npl | grep ntp

Ausgabe:

  1. udp 0 0 1.2.3.4:123 0.0.0.0:* 2673/ntpd
  2. udp 0 0 127.0.0.1:123 0.0.0.0:* 2673/ntpd
  3. udp6 0 0 1001:2002:30:40::1::123 :::* 2673/ntpd
  4. udp6 0 0 ::1:123 :::* 2673/ntpd

Alternativ kann man auch einen Blick in die '/var/log/syslog' wagen, dort ist ersichtlich, auf welchen IP´s der NTP gestartet wurde.

 

Letztendlich wollen wir unseren Server noch veröffentlichen und anderen Servern / Clients zur Verfügung stellen. Ab hier gibt es 2 Wege, in der Stratum2-Liste Liste zu landen.

 

1. Weg über das NTP Pool Project

Registrierung auf der Seite Manage Server | NTP Pool Project vornehmen und den Server hinzufügen. Leider wird der Server dann nur 'intern' gelistet, landet aber nicht auf der Stratum2-Liste. Allerdings wird hier auf der Verwaltungsseite die Statistik angezeigt. Jeder neue Zeitserver beginnt mit einer Score von -5 und steigt mit der Zeit bis zu der Score 20 auf. Ist dieser Wert erreicht, ist das die beste Voraussetzung für einen guten Zeitserver. Hier kann man auch noch die verwendete Bandbreite einstellen, um den Traffic zu kontrollieren und die eigene Anbindung des Servers einstellen. Diese Einstellung ist recht hilfreich, denn danach richtet sich die Anzahl der Anfragen von den Clients, die die Pool-Adresse als Zeitquelle nutzen.

Als nächstes gehen wir auf die Seite NTP Support | Main WebHome. Es erfolgt eine weitere Registrierung. Nach erfolgreicher Bestätigung, können wir unseren Server auch dort hinzufügen und die Daten vom Zeitserver eintragen und veröffentlichen. Wie das genau geht, kann auf der NTP Support | Server WebHome nachgelesen werden.

 

2. Weg über den NTP Support

Alternativ kann man die 1. Registrierung auf Manage Server | NTP Pool Project weglassen und registriert sich nur auf NTP Support | Main WebHome. Hier befolgt man die Schritte wie bei Weg 1 und fügt den Server hinzu. Allerdings sieht man hier keine 'Statistik', welche Score der Server hat. Alternativ übernimmt der Support die Registrierung im Verwaltungsbereich. Dazu sollte man sich aber erstmal genauer belesen.

 

Da die beiden Seiten Manage Server | NTP Pool Project und NTP Support | Main WebHome zwei verschiedene Projekte sind, ist diese 'doppelte' Registrierung notwendig, aber kein Muss!

 

Beide Wege sind möglich. Der 1. Weg ist mit der Statistik recht übersichtlich. Dann heisst es warten und Uhren stellen ;)