|
Über DHCP, das Dynamic Host Configuration Protocol, kann sich ein System mit einem Netzwerk verbinden und die für die Kommunikation mit diesem Netzwerk nötigen Informationen beziehen. FreeBSD verwendet die DHCP-Implementation von ISC (Internet Software Consortium), daher beziehen sich alle implementationsspezifischen Informationen in diesem Abschnitt auf die ISC-Distribution.
Dieser Abschnitt beschreibt sowohl die Client- als auch die Serverseite des DHCP-Systems von ISC. Das Clientprogramm dhclient ist in FreeBSD integriert, das Serverprogramm kann über den Port net/isc-dhcp3-server installiert werden. Weiter Informationen finden Sie in dhclient(8), dhcp-options(5) sowie dhclient.conf(5).
Der DHCP-Client dhclient beginnt von einem Clientrechner aus über den UDP-Port 68 Konfigurationsinformationen anzufordern. Der Server antwortet auf dem UDP-Port 67, indem er dem Client eine IP-Adresse zuweist und ihm weitere wichtige Informationen über das Netzwerk, wie Netzmasken, Router und DNS-Server mitteilt. Diese Informationen werden als DHCP-Lease bezeichnet und sind nur für eine bestimmte Zeit, die vom Administrator des DHCP-Servers vorgegeben wird, gültig. Dadurch fallen verwaiste IP-Adressen, deren Clients nicht mehr mit dem Netzwerk verbunden sind, automatisch an den Server zurück.
DHCP-Clients können sehr viele Informationen von einem DHCP-Server erhalten. Eine ausführliche Liste finden Sie in dhcp-options(5).
Der ISC-DHCP-Client ist seit FreeBSD 3.2 vollständig in FreeBSD integriert. Sowohl während der Installation als auch im Basissystem steht der DHCP-Client zur Verfügung. In Netzen mit DHCP-Servern wird dadurch die Konfiguration von Systemen erheblich vereinfacht.
DHCP wird von sysinstall unterstützt. Wenn Sie eine Netzwerkkarte mit sysinstall konfigurieren, lautet die zweite Frage “Do you want to try DHCP configuration of the interface?”. Wenn Sie diese Frage bejahen, wird dhclient aufgerufen, und die Netzkarte wird automatisch eingerichtet.
Um DHCP beim Systemstart zu aktivieren, müssen Sie zwei Dinge erledigen:
Stellen Sie sicher, dass bpf in Ihren Kernel kompiliert ist. Dazu fügen Sie die Zeile device bpf (pseudo-device bpf unter FreeBSD 4.X) in Ihre Kernelkonfigurationsdatei ein und erzeugen einen neuen Kernel. Weitere Informationen zur Kernelkonfiguration finden Sie in Kapitel 8 des Handbuchs.
Das Gerät bpf ist im GENERIC-Kernel bereits enthalten. Für die Nutzung von DHCP muss also kein angepasster Kernel erzeugt werden.
Anmerkung: Wenn Sie um die Sicherheit Ihres Systems besorgt sind, sollten Sie wissen, dass bpf auch zur Ausführung von Paketsniffern erforderlich ist (obwohl diese dennoch als root ausgeführt werden müssen). bpf muss vorhanden sein, damit DHCP funktioniert. Sind Sie sehr sicherheitsbewusst, sollten Sie bpf aus Ihrem Kernel entfernen, wenn Sie DHCP nicht verwenden.
Fügen Sie folgende Zeile in /etc/rc.conf ein:
ifconfig_fxp0="DHCP"
Anmerkung: Ersetzen Sie fxp0 durch den Eintrag für die Netzkarte, die Sie dynamisch einrichten wollen. Lesen Sie dazu auch Abschnitt 11.8.
Wenn Sie dhclient an einem anderen Ort installiert haben, oder zusätzliche Flags an dhclient übergeben wollen, fügen Sie auch folgende (entsprechend angepasste) Zeilen ein:
dhcp_program="/sbin/dhclient" dhcp_flags=""
Der DHCP-Server dhcpd ist als Teil des Ports net/isc-dhcp3-server verfügbar. Dieser Port enthält die komplette ISC-DHCP-Distribution, inklusive der Dokumentation.
/etc/dhclient.conf
dhclient benötigt die Konfigurationsdatei /etc/dhclient.conf. Diese Datei enthält normalerweise nur Kommentare, da die Vorgabewerte zumeist ausreichend sind. Lesen Sie dazu auch dhclient.conf(5).
/sbin/dhclient
dhclient ist statisch gelinkt und befindet sich in /sbin. Weitere Informationen finden Sie in dhclient(8).
/sbin/dhclient-script
Bei dhclient-script handelt es sich um das FreeBSD-spezifische Konfigurationsskript des DHCP-Clients. Es wird in dhclient-script(8) beschrieben und kann meist unverändert übernommen werden.
/var/db/dhclient.leases
Der DHCP-Client verfügt über eine Datenbank, die alle derzeit gültigen Leases enthält und als Logdatei erzeugt wird. Weitere Informationen finden Sie in dhclient(8).
Das DHCP-Protokoll wird vollständig im RFC 2131 beschrieben. Eine weitere, lehrreiche Informationsquelle existiert unter http://www.dhcp.org/.
Dieser Abschnitt beschreibt die Einrichtung eines FreeBSD-Systems als DHCP-Server. Dazu wird die DHCP-Implementation von ISC (Internet Software Consortium) verwendet.
Der DHCP-Server ist nicht im Basissystem von FreeBSD enthalten, daher müssen Sie als Erstes den Port net/isc-dhcp3-server installieren. Lesen Sie Kapitel 4, wenn Sie weitere Informationen zur Portssammlung benötigen.
Stellen Sie sicher, dass bpf(4) in Ihren Kernel kompiliert ist. Dazu fügen Sie die Zeile device bpf (pseudo-device bpf unter FreeBSD 4.X)in Ihre Kernelkonfigurationsdatei ein und erzeugen einen neuen Kernel. Die Kernelkonfiguration wird in Kapitel 8 beschrieben.
Das Gerät bpf ist im GENERIC-Kernel bereits enthalten. Für die Nutzung von DHCP muss also kein angepasster Kernel erzeugt werden.
Anmerkung: Wenn Sie um die Sicherheit Ihres Systems besorgt sind, sollten Sie wissen, dass bpf auch zur Ausführung von Paketsniffern erforderlich ist (obwohl diese dennoch als root ausgeführt werden müssen). bpf muss vorhanden sein, damit DHCP funktioniert. Sind Sie sehr sicherheitsbewusst, sollten Sie bpf aus Ihrem Kernel entfernen, wenn Sie DHCP nicht verwenden.
Danach müssen Sie die vom Port net/isc-dhcp3-server erzeugte Vorlage für dhcpd.conf anpassen. Die bei der Installation erzeugte Datei /usr/local/etc/dhcpd.conf.sample sollten Sie nach /usr/local/etc/dhcpd.conf kopieren, bevor Sie Veränderungen vornehmen.
dhcpd.conf besteht aus Festlegungen zu Subnetzen und Rechnern und lässt sich am besten an einem Beispiel erklären:
option domain-name "example.com"; option domain-name-servers 192.168.4.100; option subnet-mask 255.255.255.0; default-lease-time 3600; max-lease-time 86400; ddns-update-style none; subnet 192.168.4.0 netmask 255.255.255.0 { range 192.168.4.129 192.168.4.254; option routers 192.168.4.1; } host mailhost { hardware ethernet 02:03:04:05:06:07; fixed-address mailhost.example.com; }
Nachdem Sie dhcpd.conf fertig konfiguriert haben, können Sie den DHCP-Server starten:
# /usr/local/etc/rc.d/isc-dhcpd.sh start
Sollten Sie die Konfiguration Ihres Servers einmal verändern müssen, reicht es nicht aus, ein SIGHUP-Signal an dhcpd zu senden, weil damit die Konfiguration nicht erneut geladen wird (im Gegensatz zu den meisten Daemonen). Sie müssen den Prozess vielmehr mit dem Signal SIGTERM stoppen, um ihn anschließend neu zu starten.
/usr/local/sbin/dhcpd
dhcpd ist statisch gelinkt und befindet sich in /usr/local/sbin. Lesen Sie auch die mit dem Port installierte Hilfeseite dhcpd(8), wenn Sie weitere Informationen zu dhcpd benötigen.
/usr/local/etc/dhcpd.conf
dhcpd benötigt die Konfigurationsdatei /usr/local/etc/dhcpd.conf, damit der Server den Clients seine Dienste anbieten kann. Diese Datei 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 Hilfeseite dhcpd.conf(5) enthält weitere Informationen.
/var/db/dhcpd.leases
Der DHCP-Server hat eine Datenbank, die alle vergebenen Leases enthält. Diese wird als Logdatei erzeugt. Weitere Informationen finden Sie in der vom Port installierten Hilfeseite dhcpd.leases(5).
/usr/local/sbin/dhcrelay
dhcrelay wird in komplexen Umgebungen verwendet, in denen ein DHCP-Server eine Anfrage eines Clients an einen DHCP-Server in einem separaten Netzwerk weiterleitet. Wenn Sie diese Funktion benötigen, müssen Sie den Port net/isc-dhcp3-relay installieren. Weitere Informationen zu diesem Thema finden Sie in dhcrelay(8).
Zurück | Zum Anfang | Weiter |
NIS/YP - Network Information Service | Nach oben | DNS - Domain Name Service |
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>.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 17:56:55