Update to r53407:

Update the NTP section of the handbook.

Reviewed by:	bcr
Differential Revision:	https://reviews.freebsd.org/D21806
This commit is contained in:
Bjoern Heidotting 2019-09-30 20:21:09 +00:00
parent 620c35749c
commit 09cf3470cd
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=53444

View file

@ -5,7 +5,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/network-servers/chapter.xml,v 1.103 2011/12/24 15:51:18 bcr Exp $
basiert auf: r53262
basiert auf: r53407
-->
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
@ -4489,26 +4489,10 @@ Starting smbd.</screen>
(<acronym>NTP</acronym>) bietet die Möglichkeit, die exakte
Uhrzeit in einem Netzwerk zur Verfügung zu stellen.</para>
<para>Mit &man.ntpd.8; enthält &os; ein Werkzeug, das andere
<para>&os; enthält &man.ntpd.8;, das andere
<acronym>NTP</acronym>-Server abfragen kann um die Uhrzeit
auf diesem Computer zu synchronisieren, oder um selbst die
Uhrzeit für andere Computer im Netzwerk bereitzustellen. Die
Server, die abgefragt werden, können lokal oder von einem
<acronym>ISP</acronym> zur Verfügung gestellt werden. Darüber
hinaus gibt es eine <link
xlink:href="http://support.ntp.org/bin/view/Servers/WebHome">
Liste von öffentlich zugänglichen
<acronym>NTP</acronym>-Servern</link>. Falls Sie sich für
einen solchen öffentlichen Server entscheiden, wählen Sie
einen nahegelegenen Server und prüfen Sie die
Nutzungsbedingungen.</para>
<para>Die Auswahl von mehreren <acronym>NTP</acronym>-Servern
wird empfohlen, falls sich ein Server nicht erreichbar ist
oder sich als unzuverlässig herausstellt.
<application>ntpd</application> verwendet die Antworten
anderer Server, um zuverlässige Server zu bestimmen, die dann
bevorzugt abgefragt werden.</para>
Uhrzeit für andere Computer im Netzwerk bereitzustellen.</para>
<para>Dieser Abschnitt beschreibt die Konfiguration von
<application>ntpd</application> unter &os;. Zusätzliche
@ -4518,106 +4502,247 @@ Starting smbd.</screen>
<sect2>
<title><acronym>NTP</acronym> konfigurieren</title>
<indexterm>
<primary>NTP</primary>
<secondary>ntp.conf</secondary>
</indexterm>
<indexterm><primary>NTP</primary></indexterm>
<para>&os; enthält mit <application>ntpd</application> ein
Werkzeug, das zur Synchronisation der Uhrzeit verwendet werden
kann. Um <application>ntpd</application> beim Booten zu
aktivieren, fügen Sie den Eintrag
<literal>ntpd_enable="YES"</literal> in
<filename>/etc/rc.conf</filename> ein. Zusätzliche Variablen
können ebenfalls in <filename>/etc/rc.conf</filename> gesetzt
werden. Weitere Details finden Sie in &man.rc.conf.5; und
&man.ntpd.8;.</para>
kann. Die Konfiguration von <application>Ntpd</application>
erfolgt über Variablen in &man.rc.conf.5; und
<filename>/etc/ntp.conf</filename>, und wird in den folgenden
Abschnitten beschrieben.</para>
<para>Das Programm liest <filename>/etc/ntp.conf</filename>
um herauszufinden, welche <acronym>NTP</acronym>-Server
abgefragt werden müssen. Hier ist ein einfaches Beispiel
einer <filename>/etc/ntp.conf</filename>:</para>
<para><application>Ntpd</application> kommuniziert über UDP mit
mit seinen Peers. Sämtliche Firewalls zwischen
Ihrem Rechner und seinen NTP-Peers müssen so konfiguriert
sein, dass UDP-Pakete auf Port 123 ein- und ausgehen
können.</para>
<example>
<title>Beispiel einer
<filename>/etc/ntp.conf</filename></title>
<sect3>
<title><filename>/etc/ntp.conf</filename></title>
<programlisting>server ntplocal.example.com prefer
server timeserver.example.org
server ntp2a.example.net
<indexterm><primary>NTP</primary>
<secondary>ntp.conf</secondary>
</indexterm>
driftfile /var/db/ntp.drift</programlisting>
</example>
<para><application>Ntpd</application> liest
<filename>/etc/ntp.conf</filename> um herauszufinden,
welche <acronym>NTP</acronym>-Server abgefragt werden
sollen. Die Auswahl mehrerer <acronym>NTP</acronym>-Server
wird empfohlen, falls einer der Server nicht erreichbar ist
oder sich seine Uhr als unzuverlässig erweist. Wenn
<application>ntpd</application> Antworten erhält, bevorzugt
es zuverlässige Server gegenüber weniger zuverlässigen. Die
abgefragten Server können lokal im Netzwerk, von einem
<acronym>ISP</acronym> bereitgestellt oder aus einer
<link
xlink:href="http://support.ntp.org/bin/view/Servers/WebHome">Liste
öffentlich zugänglicher <acronym>NTP</acronym>-Server</link>
ausgewählt werden. Wenn Sie einen öffentlichen
<acronym>NTP</acronym>-Server auswählen, wählen Sie einen
geografisch nahen <acronym>NTP</acronym>-Server und
überprüfen Sie dessen Nutzungsrichtlinien. Das
Schlüsselwort <literal>pool</literal> wählt einen oder
mehrere Server aus einem Pool von Servern aus. Eine
<link
xlink:href="http://support.ntp.org/bin/view/Servers/NTPPoolServers">
Liste mit öffentlich zugänglichen
<acronym>NTP</acronym>-Pools</link> ist ebenfalls
verfügbar, sortiert nach geografischen Gebieten. Darüber
hinaus bietet &os; einen vom Projekt gespendeten Pool,
<literal>0.freebsd.pool.ntp.org</literal>.</para>
<example>
<title>Beispiel für
<filename>/etc/ntp.conf</filename></title>
<para>Das Format dieser Datei wird in &man.ntp.conf.5;
beschrieben. Die Option <literal>server</literal> legt die zu
verwendenden Server fest, wobei jeder Server in einer eigenen
Zeile steht. Wenn ein Server mit der Option
<literal>prefer</literal> versehen ist, wird dieser Server
bevorzugt verwendet. Eine Antwort von einem bevorzugten
Server wird verworfen, wenn sie signifikant von den Antworten
anderer Server abweicht, ansonsten wird sie akzeptiert. Die
Option <literal>prefer</literal> sollte nur für sehr
zuverlässige und genaue <acronym>NTP</acronym>-Server
verwendet werden, die über eine spezielle Hardware zur
Zeitüberwachung verfügen.</para>
<para>Dies ist ein einfaches Beispiel für eine
<filename>ntp.conf</filename>-Datei. Die Einträge können
so übernommen werden, wie sie sind. Die Datei enthält die
notwendigen Einschränkungen für den Betrieb an einer
öffentlich zugänglichen Netzwerkverbindung.</para>
<para>Die Option <literal>driftfile</literal> legt fest, in
welcher Datei die Abweichungen der Systemuhr protokolliert
werden. <application>ntpd</application> verwendet diese
Datei, um die Systemzeit automatisch anzupassen, selbst wenn
kurzzeitig kein <acronym>NTP</acronym>-Server zur
Synchronisation verfügbar ist. Weiterhin werden in dieser
Datei Informationen über frühere Anworten von
<acronym>NTP</acronym>-Server. Da diese Datei interne
Informationen für <acronym>NTP</acronym> enthält, sollte sie
nicht verändert werden.</para>
<programlisting># Disallow ntpq control/query access. Allow peers to be added only
# based on pool and server statements in this file.
restrict default limited kod nomodify notrap noquery nopeer
restrict source limited kod nomodify notrap noquery
<para>In der Voreinstellung ist der
<acronym>NTP</acronym>-Server für alle Rechner im Netzwerk
erreichbar. Die Option <literal>restrict</literal> in
<filename>/etc/ntp.conf</filename> steuert, welche Rechner
auf den Server zugreifen können. Wenn Sie beispielsweise
alle Rechner vom Zugriff auf den
<acronym>NTP</acronym>-Server ausschließen wollen, fügen Sie
folgende Zeile in <filename>/etc/ntp.conf</filename>
ein:</para>
# Allow unrestricted access from localhost for queries and control.
restrict 127.0.0.1
restrict ::1
<programlisting>restrict default ignore</programlisting>
# Add a specific server.
server ntplocal.example.com iburst
<note>
<para>Dieser Eintrag verhindert auch den Zugriff von anderen
<acronym>NTP</acronym>-Servern. Besteht die
Notwendigkeit, sich mit einem externen
<acronym>NTP</acronym>-Server zu synchronisieren, muss
dieser Server explizit zugelassen werden. Weitere
Informationen finden Sie in &man.ntp.conf.5;.</para>
</note>
# Add FreeBSD pool servers until 3-6 good servers are available.
tos minclock 3 maxclock 6
pool 0.freebsd.pool.ntp.org iburst
<para>Wenn Sie nur Rechnern innerhalb des Netzwerks die
Synchronisation mit dem Server erlauben, gleichzeitig
aber verhindern wollen, dass diese den Server
konfigurieren oder als Server für andere Rechner dienen
können, fügen Sie folgende Zeile ein:</para>
# Use a local leap-seconds file.
leapfile "/var/db/ntpd.leap-seconds.list"</programlisting></example>
<programlisting>restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap</programlisting>
<para>Das Format dieser Datei ist in &man.ntp.conf.5;
beschrieben. Die folgenden Erläuterungen geben einen
Überblick über die Schlüsselwörter, die in dem obigen
Beispiel benutzt werden.</para>
<para><systemitem class="ipaddress">192.168.1.0</systemitem>
ist die lokale Adresse des Netzwerks, <systemitem
class="netmask">255.255.255.0</systemitem> ist die Netzmaske
des Netzwerks.</para>
<para>In der Voreinstellung ist ein
<acronym>NTP</acronym>-Server für jeden Host im Netzwerk
zugänglich. Das Schlüsselwort <literal>restrict</literal>
steuert, welche Systeme auf den Server zugreifen dürfen.
Es werden mehrere <literal>restrict</literal>-Einträge
unterstützt, die jeweils die vorherigen Anweisungen
verfeinern. Die im Beispiel gezeigten Werte gewährem dem
lokalen System vollen Abfrage- und Kontrollzugriff, während
entfernte Systemen nur die Möglichkeit gegeben wird, die
Zeit abzufragen. Weitere Details finden Sie im Abschnitt
<literal>Access Control Support</literal> von
&man.ntp.conf.5;.</para>
<para>Das Schlüsselwort <literal>server</literal> gibt einen
einzelnen Server zur Abfrage der Zeit an. Die Datei kann
das Schlüsselwort <literal>server</literal> mehrmals
enthalten, wobei pro Zeile jeweils ein Server aufgeführt
ist. Das Schlüsselwort <literal>pool</literal> gibt einen
Pool von Servern an. <application>Ntpd</application> fügt
bei Bedarf einen oder mehrere Server aus diesem Pool hinzu,
um die Anzahl der mit dem Wert
<literal>tos minclock</literal> Peers zu erreichen. Das
Schlüsselwort <literal>iburst</literal> weist
<application>ntpd</application> an, einen Burst von acht
schnellen Paketen mit dem Server auszutauschen, wenn der
Kontakt zum ersten Mal hergestellt wird, um so die
Systemzeit schneller zu synchronisieren.</para>
<para>Es werden mehrere <literal>restict</literal>-Einträge
untstützt. Weitere Details finden Sie im Abschnitt
<literal>Access Control Support</literal> von
&man.ntp.conf.5;.</para>
<para>Das Schlüsselwort <literal>leapfile</literal> gibt den
Pfad einer Datei an, die Informationen über Schaltsekunden
enthält. Die Datei wird automatisch durch &man.periodic.8;
aktualisiert. Der angegebene Pfad muss mit dem in der
Variable <literal>ntp_db_leapfile</literal> aus
<filename>/etc/rc.conf</filename> übereinstimmen.</para>
</sect3>
<para>Sobald <literal>ntpd_enable="YES"</literal> in
<filename>/etc/rc.conf</filename> hinzugefügt wurde,
kann <application>ntpd</application> direkt
gestartet werden:</para>
<sect3>
<title>NTP-Einträge in
<filename>/etc/rc.conf</filename></title>
<indexterm><primary>NTP</primary>
<secondary>rc.conf</secondary>
</indexterm>
<screen>&prompt.root; <userinput>service ntpd start</userinput></screen>
<para>Um <application>ntpd</application> beim Booten zu
starten, Sie in <filename>/etc/rc.conf</filename>
den Eintrag <literal>ntpd_enable="YES"</literal> hinzu.
Danach kann <application>ntpd</application> direkt gestartet
werden:</para>
<screen>&prompt.root; <userinput>service ntpd start</userinput></screen>
<para>Lediglich <literal>ntpd_enable</literal> wird benötigt
um <application>ntpd</application> benutzen zu können. Die
unten aufgeführten <filename>rc.conf</filename>-Variablen
können bei Bedarf ebenfalls verwendet werden.</para>
<para>Ist <literal>ntpd_sync_on_start="YES"</literal>
konfiguriert, setzt <application>ntpd</application> die
Uhrzeit beim Systemstart, unabhängig davon wie hoch die
Abweichung ist. Normalerweise protokolliert
<application>ntpd</application> eine Fehlermeldung und
beendet sich selbst, wenn die Uhr um mehr als 1000 Sekunden
abweicht. Diese Option ist besonders auf Systemem ohne
batteriegepufferte Echtzeituhr nützlich.</para>
<para>Setzen Sie <literal>ntpd_oomprotect="YES"</literal>, um
<application>ntpd</application>-Daemon davor zu schützen,
vom System beendet zu werden, das versucht, sich von einer
Out of Memory (<acronym>OOM</acronym>) Situation zu
retten.</para>
<para>Mit <literal>ntpd_config=</literal> setzen Sie den Pfad
auf eine alternative
<filename>ntp.conf</filename>-Datei.</para>
<para>In <literal>ntpd_flags=</literal> können bei Bedarf
weitere Werte enthalten sein. Vermeiden Sie jedoch die
Werte, die intern von
<filename>/etc/rc.d/ntpd</filename> verwaltet werden:
<itemizedlist spacing='compact'>
<listitem>
<para><literal>-p</literal> (Pfad zur PID-Datei)</para>
</listitem>
<listitem>
<para><literal>-c</literal> (Setzen Sie stattdessen
<literal>ntpd_config=</literal>)</para>
</listitem>
</itemizedlist></para>
</sect3>
<sect3>
<title><application>Ntpd</application> und der nicht
privilegierte <literal>ntpd</literal>-Benutzer</title>
<para>In &os; kann <application>Ntpd</application> als nicht
privilegierter Benutzer gestartet und ausgeführt werden.
Dies erfordert das Modul &man.mac.ntpd.4;. Das Startskript
<filename>/etc/rc.d/ntpd</filename> untersucht zunächst die
NTP Konfiguration. Wenn möglich, lädt es das
<literal>mac_ntpd</literal>-Modul und startet dann
<application>ntpd</application> als nicht privilegierten
Benutzer <literal>ntpd</literal> (Benutzer-ID 123). Um
Probleme mit dem Datei- und Verzeichniszugriff zu
vermeiden, wird das Startskript
<application>ntpd</application> nicht automatisch als
Benutzer <literal>ntpd</literal> starten, falls die
Konfiguration irgendwelche Datei-bezogenen Optionen
enthält.</para>
<para>Falls einer der folgenden Werte in
<literal>ntpd_flags</literal> vorhanden ist, muss eine
manuelle Konfiguration vorgenommen werden, damit der Daemon
vom <literal>ntpd</literal>-Benutzer ausgeführt werden
kann:
<itemizedlist spacing='compact'>
<listitem><para>-f oder --driftfile</para></listitem>
<listitem><para>-i oder --jaildir</para></listitem>
<listitem><para>-k oder --keyfile</para></listitem>
<listitem><para>-l oder --logfile</para></listitem>
<listitem><para>-s oder --statsdir</para></listitem>
</itemizedlist></para>
<para>Wenn einer der folgenden Schlüsselwörter in
<filename>ntp.conf</filename> vorhanden ist, muss eine
manuelle Konfiguration vorgenommen werden, damit der Daemon
vom <literal>ntpd</literal>-Benutzer ausgeführt werden
kann:
<itemizedlist spacing='compact'>
<listitem><para>crypto</para></listitem>
<listitem><para>driftfile</para></listitem>
<listitem><para>key</para></listitem>
<listitem><para>logdir</para></listitem>
<listitem><para>statsdir</para></listitem>
</itemizedlist></para>
<para>Um <application>ntpd</application> so zu konfigurieren,
dass der Daemon als Benutzer <literal>ntpd</literal> läuft,
müssen folgende Voraussetzungen erfüllt sein:
<itemizedlist mark='none' spacing='compact'>
<listitem>
<para>Stellen Sie sicher, dass der
<literal>ntpd</literal>-Benutzer Zugriff auf alle in
der Konfiguration angegebenen Dateien und
Verzeichnisse hat.</para>
</listitem>
<listitem>
<para>Stellen Sie sicher, dass das Modul
<literal>mac_ntpd</literal> in den Kernel geladen oder
kompiliert wird. &man.mac.ntpd.4; enthält weitere
Details.</para>
</listitem>
<listitem>
<para>Setzen Sie <literal>ntpd_user="ntpd"</literal> in
<filename>/etc/rc.conf</filename>.</para>
</listitem>
</itemizedlist></para>
</sect3>
</sect2>
<sect2>