Update to r42978:

This chapter finishes up the DHCP section. It does the following:

- moves the bpf warning higher as it applies to both
- reduces some headings
- removes redundancy and does general tightening
- clarifies some sections
- modernizes the server config file and expands on the descriptions

Reviewed by:	bcr
Differential Revision:	https://reviews.freebsd.org/D6035
This commit is contained in:
Bjoern Heidotting 2016-04-21 16:48:41 +00:00
parent 614083f253
commit 78c19065ef
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48705

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: r42976
basiert auf: r42978
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="network-servers">
<!--
@ -2752,6 +2752,20 @@ result: 0 Success
wird erklärt, wie ein <acronym>DHCP</acronym>-Server zu
installieren und konfigurieren ist.</para>
<note>
<para>Unter &os; wird das Gerät &man.bpf.4; für den
<acronym>DHCP</acronym>-Server und den
<acronym>DHCP</acronym>-Client benötigt. Das Gerät ist
bereits im <filename>GENERIC</filename>-Kernel enthalten.
Benutzer, die es vorziehen einen angepassten Kernel zu
erstellen, müssen dieses Gerät behalten, wenn
<acronym>DHCP</acronym> verwendet wird.</para>
<para>Es sei darauf hingewiesen, dass <filename>bpf</filename>
es priviligierten Benutzern ermöglicht einen Paket-Sniffer
auf dem System auszuführen.</para>
</note>
<sect2>
<title>Einen <acronym>DHCP</acronym>-Client
konfigurieren</title>
@ -2760,7 +2774,8 @@ result: 0 Success
ist im Installationsprogramm von &os; enthalten, sodass ein
neu installiertes System automatisch die Adressinformationen
des Netzwerks vom <acronym>DHCP</acronym>-Server
erhält.</para>
erhält. In <xref linkend="bsdinstall-post"/> finden Sie
Beispiele für eine Netzwerkkonfiguration.</para>
<indexterm><primary><acronym>UDP</acronym></primary></indexterm>
@ -2777,9 +2792,8 @@ result: 0 Success
<acronym>DHCP</acronym>-Servers vorgegeben wird, gültig.
Dadurch fallen verwaiste <acronym>IP</acronym>-Adressen, deren
Clients nicht mehr mit dem Netzwerk verbunden sind,
automatisch an den Server zurück.</para>
<para><acronym>DHCP</acronym>-Clients können sehr viele
automatisch an den Server zurück.
<acronym>DHCP</acronym>-Clients können sehr viele
Informationen von einem <acronym>DHCP</acronym>-Server
erhalten. Eine ausführliche Liste finden Sie in
&man.dhcp-options.5;.</para>
@ -2792,19 +2806,6 @@ result: 0 Success
damit <acronym>DHCP</acronym> ordnungsgemäß
funktioniert.</para>
<note>
<para>Diejenigen, die besonders um die Sicherheit
besorgt sind, sollten wissen, dass
<filename>bpf</filename> auch zur Ausführung
von Paketsniffern erforderlich ist (obwohl diese dennoch
als <systemitem class="username">root</systemitem> ausgeführt werden
müssen). <filename>bpf</filename>
<emphasis>muss</emphasis> vorhanden sein, damit
<acronym>DHCP</acronym>
funktioniert. Sehr sicherheitsbewusste Personen,
sollten <filename>bpf</filename> aus dem Kernel
entfernen, wenn <acronym>DHCP</acronym> nicht verwendet wird.</para>
</note>
<para>Standardmässig läuft die <acronym>DHCP</acronym>-Konfiguration
bei &os; im Hintergrund oder auch
@ -2814,47 +2815,42 @@ result: 0 Success
<para><acronym>DHCP</acronym> im Hintergrund funktioniert
gut, wenn der <acronym>DHCP</acronym>-Server schnell auf
Anfragen antwortet und der
<acronym>DHCP</acronym>-Konfigurationsprozess ebenso
schnell abläuft. Jedoch kann <acronym>DHCP</acronym> eine
lange Zeit benötigen, um auf manchen Systemen fertig zu
werden. Falls Netzwerkdienste versuchen, vor
<acronym>DHCP</acronym> zum Ende zu kommen, werden diese
fehlschlagen. Durch die Verwendung von
Anfragen der Clients antwortet. Jedoch kann
<acronym>DHCP</acronym> eine lange Zeit benötigen, um auf
manchen Systemen fertig zu werden. Falls Netzwerkdienste
gestartet werden, bevor <acronym>DHCP</acronym> die
Informationen und Netzwerkadressen gesetzt hat, werden
diese fehlschlagen. Durch die Verwendung von
<acronym>DHCP</acronym> im
<firstterm>asynchronen</firstterm> Modus wird das Problem
verhindert, so dass die Startskripte pausiert werden, bis
die <acronym>DHCP</acronym>-Konfiguration abgeschlossen
ist.</para>
<para>Um sich zu einem <acronym>DHCP</acronym>-Server im Hintergrund zu verbinden,
während andere Startskripte fortfahren
(asynchroner Modus), benutzen Sie den
<quote><literal>DHCP</literal></quote>-Wert in
<filename>/etc/rc.conf</filename>:</para>
<para>Diese Zeile wird in <filename>/etc/rc.conf</filename>
verwendet, um den asynchronen Modus zu aktivieren:</para>
<programlisting>ifconfig_<replaceable>fxp0</replaceable>="DHCP"</programlisting>
<para>Um den Start zu pausieren, damit DHCP vorher
abgeschlossen werden kann, benutzen Sie den synchronen Modus
mit dem Eintrag
<quote><literal>SYNCDHCP</literal></quote>:</para>
<para>Die Zeile kann bereits vorhanden sein, wenn bei der
Installation des Systems <acronym>DHCP</acronym>
konfiguriert wurde. Ersetzen Sie
<replaceable>fxp0</replaceable> durch die entsprechende
Schnittstelle. Die dynamische Konfiguration von
Netzwerkkarten wird in <xref
linkend="config-network-setup"/> beschrieben.</para>
<programlisting>ifconfig_<replaceable>fxp0</replaceable>="SYNCDHCP"</programlisting>
<para>Um stattdessen den synchronen Modus zu verwenden, der
während des Systemstarts pausiert bis die
<acronym>DHCP</acronym>-Konfiguration abgeschlossen ist,
benutzen Sie <quote>SYNCDHCP</quote>:</para>
<note>
<para>Ersetzen Sie <replaceable>fxp0</replaceable>, das
in diesen Beispielen verwendet wurde, durch den Namen Ihrer
Netzwerkschnittstelle, so wie es in <xref linkend="config-network-setup"/> beschrieben ist.</para>
</note>
<programlisting>ifconfig_<replaceable>fxp0</replaceable>="SYNCDHCP"</programlisting>
<para>Wenn <command>dhclient</command> an einem anderen
Ort installiert wurde, oder zusätzliche Flags an
<command>dhclient</command> übergeben werden müssen, fügen
Sie folgende (entsprechend angepasste) Zeilen ein:</para>
<programlisting>dhclient_program="/sbin/dhclient"
dhclient_flags=""</programlisting>
<para>Es stehen weitere Optionen für den Client zur
Verfügung. Suchen Sie in &man.rc.conf.5; nach
<literal>dhclient</literal>, wenn Sie an Einzelheiten
interessiert sind.</para>
<indexterm>
<primary><acronym>DHCP</acronym></primary>
@ -2868,40 +2864,36 @@ dhclient_flags=""</programlisting>
<listitem>
<para><filename>/etc/dhclient.conf</filename></para>
<para><command>dhclient</command> benötigt die
Konfigurationsdatei <filename>/etc/dhclient.conf</filename>.
Diese Datei enthält normalerweise nur Kommentare, da
die Vorgabewerte zumeist ausreichend sind. Die
Konfigurationsdatei wird in &man.dhclient.conf.5;
beschrieben.</para>
<para>Die Konfigurationsdatei von
<command>dhclient</command>. Diese Datei enthält
normalerweise nur Kommentare, da die Vorgabewerte zumeist
ausreichend sind. Diese Konfigurationsdatei wird in
&man.dhclient.conf.5; beschrieben.</para>
</listitem>
<listitem>
<para><filename>/sbin/dhclient</filename></para>
<para>Weitere Informationen über <command>dhclient</command>
<para>Weitere Informationen über dieses Kommando
finden Sie in &man.dhclient.8;.</para>
</listitem>
<listitem>
<para><filename>/sbin/dhclient-script</filename></para>
<para>Bei <command>dhclient-script</command> handelt es sich
um das &os;-spezifische Konfigurationsskript des
<para>Das &os;-spezifische Konfigurationsskript des
<acronym>DHCP</acronym>-Clients. Es wird in &man.dhclient-script.8;
beschrieben und kann meist unverändert übernommen
werden.</para>
</listitem>
<listitem>
<para><filename>/var/db/dhclient.leases.
<replaceable>interface</replaceable></filename></para>
<para><filename>/var/db/dhclient.leases.<replaceable>interface</replaceable></filename></para>
<para>Der <acronym>DHCP</acronym>-Client verfügt über eine Datenbank,
die alle derzeit gültigen Leases enthält und als
Logdatei erzeugt wird. Weitere Informationen finden Sie in
&man.dhclient.8;, &man.dhcp-options.5; und
&man.dhclient.conf.5;.</para>
<para>Der <acronym>DHCP</acronym>-Client verfügt über eine
Datenbank, die alle derzeit gültigen Leases enthält und
als Logdatei erzeugt wird. Diese Datei wird in
&man.dhclient.leases.5; beschrieben.</para>
</listitem>
</itemizedlist>
</sect2>
@ -2913,192 +2905,157 @@ dhclient_flags=""</programlisting>
<para>Dieser Abschnitt beschreibt die Einrichtung eines
&os;-Systems als <acronym>DHCP</acronym>-Server. Dazu wird
die <acronym>DHCP</acronym>-Implementation von ISC (Internet
Systems Consortium) verwendet.</para>
Systems Consortium) verwendet. Diese Implementation und die
Dokumentation können als Port oder Paket
<package>net/isc-dhcp42-server</package> installiert
werden.</para>
<indexterm>
<primary><acronym>DHCP</acronym></primary>
<secondary>Server</secondary>
</indexterm>
<para>Der <acronym>DHCP</acronym>-Server
<application>dhcpd</application> ist als Teil des Ports
<package>net/isc-dhcp42-server</package> verfügbar. Dieser
Port enthält den ISC <acronym>DHCP</acronym>-Server und die
Dokumentation.</para>
<para>Der Server ist nicht im Basissystem von &os;
enthalten, daher muss der Port
<package>net/isc-dhcp42-server</package>
installiert. Lesen Sie <xref linkend="ports"/>, wenn Sie
weitere Informationen zur Ports-Sammlung benötigen.
</para>
<indexterm>
<primary><acronym>DHCP</acronym></primary>
<secondary>installieren</secondary>
</indexterm>
<para>Stellen Sie sicher, dass &man.bpf.4; im Kernel
kompiliert ist. Dazu fügen Sie die Zeile
<literal>device bpf</literal> in die
Kernelkonfigurationsdatei ein und erzeugen einen neuen
Kernel. Die Kernelkonfiguration wird in
<xref linkend="kernelconfig"/> beschrieben.</para>
<para>Das Gerät <filename>bpf</filename> ist im
<filename>GENERIC</filename>-Kernel bereits enthalten.
Für die Nutzung von <acronym>DHCP</acronym> muss also kein angepasster
Kernel erzeugt werden.</para>
<note>
<para>Diejenigen, die um die Sicherheit besorgt
sind, sollten wissen, dass
<filename>bpf</filename> auch zur Ausführung
von Paketsniffern erforderlich ist (obwohl diese dennoch
als <systemitem class="username">root</systemitem> ausgeführt werden
müssen). <filename>bpf</filename>
<emphasis>muss</emphasis> vorhanden sein, damit <acronym>DHCP</acronym>
funktioniert. Sehr sicherheitsbewusste Personen, sollten
<filename>bpf</filename> aus dem Kernel
entfernen, wenn <acronym>DHCP</acronym> nicht verwendet wird.</para>
</note>
<para>Der Port <package>net/isc-dhcp42-server</package>
installiert eine Beispiel-Konfigurationsdatei. Kopieren
Sie <filename>/usr/local/etc/dhcpd.conf.example</filename>
nach <filename>/usr/local/etc/dhcpd.conf</filename> und
nehmen Sie die Änderungen an der neuen Datei vor.</para>
<sect3>
<title>Den <acronym>DHCP</acronym>-Server einrichten</title>
<indexterm>
<primary><acronym>DHCP</acronym></primary>
<secondary>dhcpd.conf</secondary>
</indexterm>
<para><filename>dhcpd.conf</filename> besteht aus Festlegungen
zu Subnetzen und Rechnern und lässt sich am besten an
einem Beispiel erklären:</para>
<para>Diese Konfigurationsdatei umfasst Deklarationen für
Subnetze und Rechner, die den
<acronym>DHCP</acronym>-Cleints zur Verfügung gestellt wird.
Die folgenden Zeilen konfigurieren Folgendes:</para>
<programlisting>option domain-name "example.com";<co xml:id="domain-name"/>
option domain-name-servers 192.168.4.100;<co xml:id="domain-name-servers"/>
<programlisting>option domain-name "example.org";<co xml:id="domain-name"/>
option domain-name-servers ns1.example.org;<co xml:id="domain-name-servers"/>
option subnet-mask 255.255.255.0;<co xml:id="subnet-mask"/>
default-lease-time 3600;<co xml:id="default-lease-time"/>
max-lease-time 86400;<co xml:id="max-lease-time"/>
default-lease-time 600;<co xml:id="default-lease-time"/>
max-lease-time 72400;<co xml:id="max-lease-time"/>
ddns-update-style none;<co xml:id="ddns-update-style"/>
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.129 192.168.4.254;<co xml:id="range"/>
option routers 192.168.4.1;<co xml:id="routers"/>
subnet 10.254.239.0 netmask 255.255.255.224 {
range 10.254.239.10 10.254.239.20;<co xml:id="range"/>
option routers rtr-239-0-1.example.org;<co xml:id="routers"/>
}
host mailhost {
hardware ethernet 02:03:04:05:06:07;<co xml:id="hardware"/>
fixed-address mailhost.example.com;<co xml:id="fixed-address"/>
host fantasia {
hardware ethernet 08:00:07:26:c0:a5;<co xml:id="hardware"/>
fixed-address fantasia.fugue.com;<co xml:id="fixed-address"/>
}</programlisting>
<calloutlist>
<callout arearefs="domain-name">
<para>Diese Option beschreibt die Domäne, die den
Clients als Standardsuchdomäne zugewiesen wird.
Weitere Informationen finden Sie in
<para>Diese Option beschreibt die Standardsuchdomäne,
die den Clients zugewiesen wird. Weitere
Informationen finden Sie in
&man.resolv.conf.5;.</para>
</callout>
<callout arearefs="domain-name-servers">
<para>Diese Option legt eine, durch Kommata getrennte
Liste von <acronym>DNS</acronym>-Servern fest, die von den Clients
verwendet werden sollen.</para>
Liste von <acronym>DNS</acronym>-Servern fest, die von
den Clients verwendet werden sollen. Die Server
können über den Namen (<acronym>FQDN</acronym>) oder
die <acronym>IP</acronym>-Adresse spezifiziert
werden.</para>
</callout>
<callout arearefs="subnet-mask">
<para>Die den Clients zugewiesene Netzmaske.</para>
<para>Die den Clients zugewiesene Subnetzmaske.</para>
</callout>
<callout arearefs="default-lease-time">
<para>Ein Client kann eine Lease einer bestimmten Dauer
anfordern. Geschieht dies nicht, weist der Server eine
Lease mit einer vorgegebenen Ablaufdauer (in Sekunden)
zu.</para>
<para>Die Voreinstellung für die Ablaufzeit des Lease in
Sekunden. Ein Client kann diesen Wert in der
Konfiguration überschreiben.</para>
</callout>
<callout arearefs="max-lease-time">
<para>Die maximale Zeitdauer, für die der Server
Konfigurationsinformationen vergibt. Sollte ein Client
eine längere Zeitspanne anfordern, wird dennoch
nur der Wert <literal>max-lease-time</literal> in
Sekunden zugewiesen.</para>
<para>Die maximale Zeitdauer, für die der Server Leases
vergibt. Sollte ein Client eine längere Zeitspanne
anfordern, wird dennoch nur der Wert
<literal>max-lease-time</literal> zugewiesen.</para>
</callout>
<callout arearefs="ddns-update-style">
<para>Diese Option legt fest, ob der
<acronym>DHCP</acronym>-Server eine
<acronym>DNS</acronym>-Aktualisierung versuchen soll, wenn
Konfigurationsdateien vergeben oder zurückgezogen
werden. In der ISC-Implementation
<emphasis>muss</emphasis> diese Option gesetzt sein.
</para>
<para>Die Voreinstellung <option>none</option>
deaktiviert dynamische <acronym>DNS</acronym>-Updates.
Bei der Einstellung <option>interim</option>
aktualisiert der <acronym>DHCP</acronym>-Server den
<acronym>DNS</acronym>-Server, wenn ein Lease vergeben
oder zurückgezogen wurde. Ändern Sie die
Voreinstellung nicht, wenn der Server so konfiguriert
wurde, dynamische <acronym>DNS</acronym>-Updates zu
unterstützen.</para>
</callout>
<callout arearefs="range">
<para>Dadurch werden die <acronym>IP</acronym>-Adressen
festgelegt, die den Clients zugewiesen werden können.
<acronym>IP</acronym>-Adressen zwischen diesen Grenzen
sowie die einschließenden Adressen werden den Clients
zugewiesen.</para>
<para>Diese Zeile erstellt einen Pool der verfügbaren
<acronym>IP</acronym>-Adressen, die für die Zuweisung
der <acronym>DHCP</acronym>-Clients reserviert sind.
Der Bereich muss für das angegebene Netz oder Subnetz
aus der vorherigen Zeile gültig sein.</para>
</callout>
<callout arearefs="routers">
<para>Legt das Standard-Gateway fest, das den Clients
zugewiesen wird.</para>
<para>Legt das Standard-Gateway für das Netz oder
Subnetz fest, das nach der öffnenden Klammer
<literal>{</literal> gültig ist.</para>
</callout>
<callout arearefs="hardware">
<para>Die (Hardware-)MAC-Adresse eines Rechners (durch die
der <acronym>DHCP</acronym>-Server den Client erkennt, der eine Anforderung
an ihn stellt).</para>
<para>Bestimmt die
Hardware-<acronym>MAC</acronym>-Adresse eines Clients,
durch die der <acronym>DHCP</acronym>-Server den
Client erkennt, der eine Anforderung an ihn
stellt.</para>
</callout>
<callout arearefs="fixed-address">
<para>Einem Rechner soll immer die gleiche <acronym>IP</acronym>-Adresse
zugewiesen werden. Beachten Sie, dass hier auch ein
Rechnername gültig ist, da der <acronym>DHCP</acronym>-Server den
Rechnernamen auflöst, bevor er die
Konfigurationsinformationen zuweist.</para>
<para>Einem Rechner soll immer die gleiche
<acronym>IP</acronym>-Adresse zugewiesen werden. Hier
ist auch ein Rechnername gültig, da der
<acronym>DHCP</acronym>-Server den Rechnernamen
auflöst, bevor er das Lease zuweist.</para>
</callout>
</calloutlist>
<para>Nachdem <filename>dhcpd.conf</filename> fertig
konfiguriert ist, sollten Sie den <acronym>DHCP</acronym>-Server aktivieren,
indem Sie folgende Zeilen in
<filename>/etc/rc.conf</filename> aufnehmen:</para>
<para>Die Konfigurationsdatei unterstützt viele weitere
Optionen. Lesen Sie &man.dhcpd.conf.5;, die mit dem Server
installiert wird, für Details und Beispiele.</para>
<para>Nachdem <filename>dhcpd.conf</filename>
konfiguriert ist, aktivieren Sie den
<acronym>DHCP</acronym>-Server
<filename>/etc/rc.conf</filename>:</para>
<programlisting>dhcpd_enable="YES"
dhcpd_ifaces="dc0"</programlisting>
<para>Dabei müssen Sie den Geräteeintrag
<literal>dc0</literal> durch die Gerätedatei (mehrere
Gerätedateien müssen durch Leerzeichen getrennt
werden) ersetzen, die der <acronym>DHCP</acronym>-Server auf Anfragen von
<acronym>DHCP</acronym>-Clients hin überwachen soll.</para>
<para>Dabei müssen Sie <literal>dc0</literal> durch die
Gerätedatei (mehrere Gerätedateien müssen durch Leerzeichen
getrennt werden) ersetzen, die der
<acronym>DHCP</acronym>-Server auf Anfragen von
<acronym>DHCP</acronym>-Clients hin überwachen soll.</para>
<para>Danach können Sie den Server durch Eingabe des
folgenden Befehls starten:</para>
<para>Starten Sie den Server mit folgenden Befehl:</para>
<screen>&prompt.root; <userinput>service isc-dhcpd start</userinput></screen>
<para>Künftige Änderungen an der Konfiguration des Servers
erfordern, dass ein <literal>SIGTERM</literal>-Signal
anstelle von <literal>SIGHUP</literal> an
<application>dhcpd</application> gesendet wird. Es ist
jedoch definitiv einfacher, den Dienst mit &man.service.8;
neu zu starten.</para>
</sect3>
<sect3>
<title>Dateien</title>
erfordern, dass der Dienst <command>dhcpd</command> gestoppt
und anschließend mit &man.service.8; gestartet wird.</para>
<indexterm>
<primary><acronym>DHCP</acronym></primary>
@ -3109,26 +3066,20 @@ dhcpd_ifaces="dc0"</programlisting>
<listitem>
<para><filename>/usr/local/sbin/dhcpd</filename></para>
<para><application>dhcpd</application> ist statisch
gelinkt und befindet sich in
<filename>/usr/local/sbin</filename>. Weitere
Informationen zu <application>dhcpd</application>
finden Sie in &man.dhcpd.8;.</para>
<para>Weitere Informationen zu
<application>dhcpd</application> finden Sie in
&man.dhcpd.8;.</para>
</listitem>
<listitem>
<para><filename>/usr/local/etc/dhcpd.conf</filename></para>
<para><application>dhcpd</application> benötigt die
Konfigurationsdatei
<filename>/usr/local/etc/dhcpd.conf</filename>, damit
der Server den Clients seine Dienste anbieten kann.
Diese Datei muss alle Informationen enthalten, die an
<para>Die Konfigurationsdatei des Servers muss alle
Informationen enthalten, die an
die Clients weitergegeben werden soll. Außerdem
sind hier Informationen zur Konfiguration des Servers
enthalten. Die mit dem Port installierte
&man.dhcpd.conf.5; beschreibt diese
Konfigurationsdatei.</para>
enthalten. Diese Konfigurationsdatei wird in
&man.dhcpd.conf.5; beschrieben.</para>
</listitem>
<listitem>
@ -3136,26 +3087,24 @@ dhcpd_ifaces="dc0"</programlisting>
<para>Der <acronym>DHCP</acronym>-Server hat eine Datenbank, die alle
vergebenen Leases enthält. Diese wird als Logdatei
erzeugt. Die mit dem Port installierte
&man.dhcpd.leases.5; enthält eine ausführliche
erzeugt. &man.dhcpd.leases.5; enthält eine ausführliche
Beschreibung.</para>
</listitem>
<listitem>
<para><filename>/usr/local/sbin/dhcrelay</filename></para>
<para><application>dhcrelay</application> wird in
<para>Dieser Daemon wird in
komplexen Umgebungen verwendet, in denen ein
<acronym>DHCP</acronym>-Server eine Anfrage eines
Clients an einen <acronym>DHCP</acronym>-Server in einem
separaten Netzwerk weiterleitet. Wenn Sie diese
Funktion benötigen, müssen Sie den Port
Funktion benötigen, müssen Sie
<package>net/isc-dhcp42-relay</package> installieren.
Weitere Informationen zu diesem Thema finden Sie in
&man.dhcrelay.8;.</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
</sect1>