Sie sind auf Seite 1von 6

Solaris 10 Unterlagen

NTP- Dienst einrichten

Autor
Manuel Theodor Huber

Homepage
http://www.hubermanuel.ch

Datum:
22.08.2006

Version
1.1
22.08.2006 Manuel Theodor Huber

1 Inhaltsverzeichnis
Solaris 10 Unterlagen ............................................................................................................................... 1

NTP- Server einrichten ............................................................................................................................. 1

1
 Inhaltsverzeichnis ............................................................................................................................ 2

2
 Einleitung ......................................................................................................................................... 3

3
 Grundlagen..................................................................................................................................... 3

4
 Schritt für Schritt .............................................................................................................................. 4

4.1
 Einen NTP- Server einrichten ....................................................................................................... 4

4.2
 Einen NTP- Client einrichten ....................................................................................................... 4

5
 Werkzeuge zur Problemlösung...................................................................................................... 5

5.1
 ntptrace........................................................................................................................................ 5

5.2
 ntpq............................................................................................................................................... 6

5.3
 svcs................................................................................................................................................ 6

6
 Häufige Fehler / Probleme ............................................................................................................ 6

6.1
 Zeitliche Differenz zu hoch.......................................................................................................... 6


2/6
22.08.2006 Manuel Theodor Huber

2 Einleitung
In diesem Dokument wird erklärt wie Sie den NTP- Dienst in Ihrem Netzwerk einrichten können.
Im Gegensatz zum offiziellen Dokument von Sun wird hier noch auf die Testmöglichkeiten
eingegangen und mögliche Fehlerquellen aufgezeigt.

3 Grundlagen
NTP ist eines der Ältesten noch immer verwendeten TCP/IP-Protokolle. Es wurde von David
Mills an der Universität von Delaware entwickelt und 1985 als RFC 958 veröffentlicht. Unter
seiner Leitung werden Protokoll und UNIX-Implementierung ständig weiterentwickelt.
Gegenwärtig ist die Protokollversion 4 aktuell. Es benutzt den UDP Port 123.

NTP ist in UNIX-artigen Betriebssystemen in Form des Hintergrundprozesses ntpd implementiert.


Dieser synchronisiert die lokale Uhr mit Hilfe von externen Zeitsignalen, die er entweder direkt
von einem lokalen Empfänger (DCF77, GPS, Loran-C) oder per NTP von einem NTP-Server
erhält. Damit die lokale Uhrzeit nicht nur zu den zyklischen Synchronisationszeitpunkten präzise
mit dem externen Signal übereinstimmt, korrigiert der ntpd-Prozess nicht nur die Phase
sondern auch die Frequenz des lokalen Zeitgebers mit Hilfe einer Software-PLL. Um den
internen Zeitgeber mit Hilfe eines hochpräzisen Sekundensignals noch enger an einen
externen Normalzeitempfänger zu koppeln haben einige UNIX-Varianten (unter anderem
Linux und FreeBSD) die oben erwähnte Software-PLL im Kernel implementiert.

Die Zeitstempel im NTP sind 64 Bits lang. 32 Bits kodieren die Sekunden seit dem 1. Januar 1900
00:00:00 Uhr, weitere 32 Bits den Sekundenbruchteil. Auf diese Weise lässt sich ein Zeitraum
von 232 Sekunden (etwa 136 Jahre) mit einer Auflösung von 2 32 Sekunden (etwa 0,25
Nanosekunden) darstellen. Obwohl diese Skala also alle 232 Sekunden umspringt, sind NTP-
Implementierungen in der Lage, die tatsächliche Zeit festzustellen, indem sie eine ungefähre
Zeit aus anderen Quellen heranziehen. Da dies nur eine Genauigkeit von ein paar
Jahrzehnten erfordert, sollte dies im Alltag kein Problem sein.

NTP nutzt ein hierarchisches System verschiedener Strata, wobei Systeme mit dem Stratum 1
direkt mit einer sehr genauen externen Uhr (z. B. eine GPS- oder andere Funkuhr) verbunden
sind. Systeme mit dem Stratum 2 beziehen ihre Zeit von einem oder mehreren Systemen mit
Stratum 1 usw. (Achtung: Der Begriff Stratum hat hier eine andere Bedeutung als sonst in der
Telekommunikationstechnik üblich).

Quelle: Wikipedia.de

3/6
22.08.2006 Manuel Theodor Huber

4 Schritt für Schritt


In diesem Beispiel richten wir einen NTP Server und einen NTP Client ein. Wobei der NTP Server
die lokale Zeit an den NTP Client weitergibt.

4.1 Einen NTP- Server einrichten


In diesem Abschnitt wird erklärt wie man einen NTP Server konfigurieren kann.

1. Erstellen der NTP Konfigurationsdatei

# cd /etc/inet
# cp ntp.server ntp.conf

Solaris 10 liegt eine Konfigurationsdatei für den Server bei. Diese kann über die Datei
ntp.conf kopiert werden.

2. Editieren der Datei ntp.conf

Folgende Zeile suchen in der Datei ntp.conf:

server 127.127.XTYPE.0
fudge 127.127.XTYPE.0 stratum 0

Ändern in:

server 127.127.1.0
fudge 127.127.1.0 stratum 10

3. xntpd Daemon aktivieren

# svcadm enable network/ntp:default

Der Daemon wird nun bei jedem Systemstart mitgestartet.

4.2 Einen NTP- Client einrichten


Die Funktionsweise eines NTP- Clients ist einfach zu erklären. In der Konfigurationsdatei welche
im folgenden Beispiel angelegt ist befindet sich eine Multicastadresse. Der Client führt mit der
Adresse einen Multicast aus in der Hoffnung einen NTP- Server zu finden. Wird ein Server
gefunden wird die Zeit mit diesem abgeglichen.

1. Erstellen der NTP Konfigurationsdatei

4/6
22.08.2006 Manuel Theodor Huber

# cd /etc/inet
# cp ntp.client ntp.conf

Solaris 10 liegt eine Konfigurationsdatei für den Client bei. Diese kann über die Datei
ntp.conf kopiert werden.

2. xntpd Daemon aktivieren

# svcadm enable network/ntp:default

Der Daemon wird nun bei jedem Systemstart mitgestartet.

5 Werkzeuge zur Problemlösung

5.1 ntptrace
ntptrace kann zur Verbindungskontrolle mit dem NTP Server verwendet werden. Tippen Sie
hierzu folgenden Befehl ein:

# ntptrace –v testserver

ntptrace führt so einen Trace zum Server testserver aus und gibt durch die Option –v
detaillierte Informationen aus. Die Ausgabe sollte in etwa so aussehen:

server 192.168.42.100, port 123


stratum 11, precision -16, leap 00
refid 127.127.1.0 delay 0.00073, dispersion 0.00000 offset -0.027138
rootdelay 0.00000, rootdispersion 0.01042, synch dist 0.01042
refernce time: c8952e07.ae233000 Tue, Aug 22 2005 9:17:27.680
originate timestamp: c8952e28.c2123000 Tue, Aug 22 2006 9:18:00.758
transmit timestamp: c8952e28.c8d7400 Tue, Aug 22 2006 9:18:00.784

127.127.1.0: *Timeout*

Wie man aus den Angaben lesen kann, wird die IP Adresse korrekt aufgelöst. Deutlich
interessanter sind aber die Angaben über die Uhrzeit. Wie man sieht wurde ein „orginate
timestap“ erstellt, übermittelt wurde dann aber ein „transmit timestap“ welcher sich einwenig
über der „originate timestap“ Uhrzeit befindet. Somit wird die Zeitdifferenz welche durch die
Übertragung entsteht und von der Streckelänge abhängt ausgeglichen.

5/6
22.08.2006 Manuel Theodor Huber

5.2 ntpq
Mittels ntp können Sie überprüfen ob der Client den Server findet. Für eine gezielte Analyse
verwendet man am besten die Option –p. Befehl:

# ntpq –p

Die Ausgabe sollte in diesem Beispiel in etwa so aussehen:

remote refid st t when polt reach delay offset disp


=======================================================================
*testserver LOCAL(0) 11 m 59 64 376 0.75 -0.460 1.10

5.3 svcs
Der Befehl svcs sollte jedem Benutzer welcher schon einmal mit Solaris 10 gearbeitet hat
bekannt sein. Mittels svcs kann man den Status eines Dienstes überprüfen. Folgender Befehl ist
zu empfehlen:

svcs \*ntp\*

Der Befehl sollte folgende Ausgabe liefern, wenn der Dienst auf dem Client oder Server
gestartet wurde:

STATE STIME FRMI


online 8:44:07 svc:/network/ntp:default

Wenn Offline oder disabled ausgegeben wird, sollte man versuchen den Dienst zu starten.
Empfohlener Befehl:

svcadm enable /network/ntp:default

6 Häufige Fehler / Probleme

6.1 Uhrzeitliche Differenz zu hoch


Der NTP- Dienst stellt eine falsche Uhrzeit nicht ruckartig um. Er beschleunigt oder verlangsamt
die Client- Uhrzeit um sie der Server- Uhrzeit anzugleichen. Dies setzt voraus, dass die zeitliche
Differenz nicht zu gross ist. Wenn die Differenz zu gross ist gibt der NTP- Server einen Fehler aus
und fordert den Benutzer auf die Uhrzeit manuell einzustellen. Wird dies nicht getan, wird die
Uhrzeit auch nicht automatisch aktualisiert.

6/6