This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.
Da die interne Uhrzeit eines Computers nie ganz exakt ist, wurde mit dem Network Time Protocol (NTP) eine Möglichkeit geschaffen, die exakte Uhrzeit zu ermitteln und festzulegen.
Viele Internetdienste sind von einer exakten Uhrzeit abhängig. Ein Webserver könnte beispielsweise die Anforderung erhalten, eine Datei zu versenden, wenn sich diese in einer bestimmten Zeitspanne geändert hat. In einem lokalen Netzwerk ist es unbedingt notwendig, dass Rechner, die Dateien von einem gemeinsamen Dateiserver beziehen, ihre Uhrzeit synchronisieren, damit die Zeitstempel der Dateien konstistent bleiben. Dienste wie cron(8) führen Befehle zu einem bestimmten Zeitpunkt aus. Ist die Uhrzeit nicht korrekt, kann dies zu Problemen führen.
FreeBSD verwendet den ntpd(8)- NTP-Server, um die genaue Uhrzeit von anderen NTP-Servern abzufragen, die eigene Systemzeit zu setzen, oder um diese anderen Rechnern anzubieten.
Um die Uhrzeit zu synchronisieren, müssen ein oder mehrere NTP-Server definiert werden. Der Netzwerkadministrator oder Internetprovider hat vielleicht schon einen NTP-Server eingerichtet. Lesen Sie deren Dokumentation, um dies zu überprüfen. Es gibt im Internet eine Liste mit frei zugänglichen NTP-Servern, aus der man einen in der Nähe gelegenen Server auswählen kann. Beachten Sie aber auf jeden Fall die Nutzungsbedingungen des entsprechenden Servers, und fragen Sie um Erlaubnis, wenn dies nötig ist.
Die Auswahl von mehreren NTP-Servern kann sinnvoll sein, wenn ein Server ausfällt oder falsche Zeiten liefert. ntpd(8) verwendet die Antworten anderer Server, um zuverlässige Server zu bestimmen, die dann bevorzugt abgefragt werden.
Wenn Sie die Uhrzeit nur beim Systemstart synchronisieren wollen, benutzen Sie ntpdate(8). Für Desktoprechner, die regelmäßig neu gestartet werden und keine ständige Synchronisation benötigen, ist dies akzeptabel. In allen anderen Fällen sollten Sie jedoch ntpd(8) verwenden.
Die Ausführung von ntpdate(8) während des Systemstarts ist aber auch für Rechner, die ntpd(8) verwenden, sinnvoll. ntpd(8) passt die Systemzeit nur bei größeren Abweichungen an, während ntpdate(8) die Zeit immer synchronisiert, egal wie groß die Differenz zwischen Systemzeit und korrekter Zeit ist.
Um ntpdate(8) beim Systemstart zu aktivieren,
fügen Sie den Eintrag
ntpdate_enable="YES"
in
/etc/rc.conf
ein. Außerdem müssen
alle Server, mit denen Sie sich synchronisieren wollen,
sowie alle an ntpdate(8) zu übergebenden Optionen
in ntpdate_flags
angeben
werden.
Die Konfiguration von NTP erfolgt über die Datei
/etc/ntp.conf
, und wird in der
Hilfeseite ntp.conf(5) beschrieben. Dazu ein
einfaches Beispiel:
server ntplocal.example.com prefer server timeserver.example.org server ntp2a.example.net driftfile /var/db/ntp.drift
Die Option server
legt die zu
verwendenden Server fest, wobei jeder Server in einer eigenen
Zeile steht. Wenn ein Server mit der Option
prefer
versehen ist, wie dies hier bei
ntplocal.example.com
der Fall
ist, wird dieser Server bevorzugt verwendet. Eine Antwort von
einem bevorzugten Server wird nur dann verworfen, wenn sie
signifikant von denen anderer Server abweicht, ansonsten wird
sie ohne Abfrage weiterer Server verwendet. Die Option
prefer
wird gewöhnlich nur für
sehr zuverlässige und genaue Server verwendet, die
über eine spezielle Hardware zur Zeitüberwachung
verfügen.
Die Option driftfile
legt fest, in
welcher Datei die Abweichungen der Systemuhr protokolliert
werden. ntpd(8) verwendet diese Datei, um die Systemzeit
automatisch anzupassen, selbst wenn kurzzeitig kein NTP-Server
zur Synchronisation verfügbar ist.
Weiterhin legt die Option driftfile
fest,
wo Informationen über frühere Antworten des
verwendeten NTP-Servers gespeichert werden sollen.
Diese Datei enthält NTP-interne Informationen, sie sollte
daher von anderen Prozessen nicht verändert werden.
In der Voreinstellung ist der NTP-Server für alle
Rechner im Internet erreichbar. Die Option
restrict
in
/etc/ntp.conf
steuert, welche Rechner
auf den Server zugreifen können.
Wenn Sie alle Rechner vom Zugriff auf den NTP-Server
ausschließen wollen, fügen Sie folgende Zeile in
/etc/ntp.conf
ein:
restrict default ignore
Dieser Eintrag verhindert auch den Zugriff des Servers auf alle angegebenen Server in der lokalen Konfiguration. Besteht die Notwendigkeit, den NTP-Server mit einem externen NTP-Server zu synchronisieren, muss dieser Server dezidiert zugelassen werden. Weitere Informationen finden Sie in ntp.conf(5).
Wenn Sie nur Rechnern innerhalb des Netzwerks die Synchronisation mit dem NTP-Server erlauben, gleichzeitig aber verhindern wollen, dass diese den NTP-Server konfigurieren oder als Server für andere Rechner dienen können, fügen Sie folgende Zeile ein:
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
Bei 192.168.1.0
handelt es
sich um einen Rechner innerhalb des Netzwerks.
255.255.255.0
ist die
Netzmaske des Netzwerks.
/etc/ntp.conf
kann verschiedene
restrict
-Optionen enthalten.
Weitere Details finden Sie im Abschnitt
Access Control Support
von
ntp.conf(5).
Damit der NTP-Server beim Systemstart automatisch gestartet
wird, fügen Sie den Eintrag
ntpd_enable="YES"
in
/etc/rc.conf
ein. Um weitere
Argumente an ntpd(8) zu übergeben , passen Sie
die Option ntpd_flags
in der Datei
/etc/rc.conf
entsprechend an.
Um den NTP-Server ohne einen Systemneustart zu starten,
rufen Sie ntpd
mit den unter
ntpd_flags
in
/etc/rc.conf
festgelegten Parametern auf.
Hierzu ein Beispiel:
#
ntpd -p /var/run/ntpd.pid
ntpd(8) benötigt keine ständige
Internetverbindung. Wenn Sie sich ins Internet einwählen,
ist es sinnvoll, zu verhindern, dass NTP-Verkehr eine Verbindung
aufbauen oder aufrechterhalten kann. Benutzer von PPP können
dies in den filter
-Direktiven von
/etc/ppp/ppp.conf
festlegen.
Ein Beispiel:
set filter dial 0 deny udp src eq 123 # Prevent NTP traffic from initiating dial out set filter dial 1 permit 0 0 set filter alive 0 deny udp src eq 123 # Prevent incoming NTP traffic from keeping the connection open set filter alive 1 deny udp dst eq 123 # Prevent outgoing NTP traffic from keeping the connection open set filter alive 2 permit 0/0 0/0
Weitere Informationen finden Sie im Abschnitt
PACKET FILTERING
von ppp(8) sowie in den
Beispielen unter /usr/share/examples/ppp/
.
Einige Internetprovider blockieren Ports mit niedrigen Nummern. In solchen Fällen funktioniert NTP leider nicht, da Antworten eines NTP-Servers den Rechner nicht erreichen werden.
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.