Red Hat Linux 9: Red Hat Linux Handbuch benutzerdefinierter Konfiguration | ||
---|---|---|
Zurück | Kapitel 18. Dynamic Host Configuration Protocol (DHCP) | Vor |
Sie können einen DHCP-Server mit der Konfigurationsdatei /etc/dhcpd.conf konfigurieren.
DHCP verwendet auch die Datei /var/lib/dhcp/dhcpd.leases, um die Lease-Datenbank des Clients zu speichern. Nähere Informationen finden Sie im Abschnitt 18.2.2.
Der erste Schritt zur Konfiguration eines DHCP-Servers ist die Erstellung einer Konfigurationsdatei, die die Netzwerk-Daten für die Clients speichert. Man kann globale Optionen für alle Clients einstellen oder für jedes Client-System individuelle Optionen wählen.
Die Konfigurationsdatei kann beliebige Leerzeichen oder Tabs sowie leere Zeilen für eine einfachere Formatierung enthalten. Die Schlüsselwörter beachten keine Groß- und Kleinschreibung und Zeilen, die mit einer Raute beginnen (#), gelten als Kommentare.
Derzeit sind zwei Modi der DNS-Aktualisierungen implementiert — der Ad-Hoc DNS und Interim DHCP-DNS Interaktionsentwurf. Wenn diese beiden Schemata als Teil des IETF Standardprozess angenommen werden, erscheint ein dritter Modus — die standardmäßige DNS-Aktualisierungsmethode. Der DHCP-Server muss für den Gebrauch einer der beiden aktuellen Methoden konfiguriert werden. Version 3.0b2pl11 und ältere Versionen verwendeten den Ad-Hoc Modus, der inzwischen jedoch an Bedeutung verloren hat. Wenn Sie das gleiche Verhalten beibehalten möchten, fügen Sie am Anfang der Konfigurationsdatei die folgende Zeile hinzu:
ddns-update-style ad-hoc; |
Um den empfohlenen Modus zu verwenden, fügen Sie am Anfang der Konfigurationsdatei die folgende Zeile hinzu:
ddns-update-style interim; |
Lesen Sie auf der man-Seite dhcpd.conf die Details über die verschiedenen Methoden.
In der Konfigurationsdatei gibt es zwei Kategorien von Angaben:
Parameter — geben an, wie eine Funktion ausgeführt wird, ob eine Funktion ausgeführt wird oder welche Optionen der Netzwerkkonfiguration an den Client gesendet werden sollen.
Deklarationen — beschreiben die Topologie des Netzwerks, die Clients, bietet den Clients Adressen an oder wendet eine Reihe von Parametern auf eine Gruppe von Deklarationen an.
Einige Parameter müssen mit dem Schlüsselwort Option gestartet werden und werden als Optionen bezeichnet. Mit Optionen konfiguriert man DHCP-Optionen; während man mit Parametern nicht- optionale Werte konfiguriert oder das Verhalten des DHCP-Servers steuert.
Parameter (einschließlich Optionen), die vor einem Segment in geschweiften Klammern angegeben werden ({ }), gelten als globale Parameter. Die allgemeinen Parameter werden auf alle Segmente darunter angewandt.
![]() | Wichtig |
---|---|
Wenn Sie die Konfigurationsdatei verändern, kommen die Änderungen erst zum Tragen, wenn Sie den DHCP-Daemon neu starten, und zwar mit dem Befehl service dhcpd restart. |
Im Beispiel 18-1 werden die Optionen routers, subnet-mask, domain-name, domain-name-servers und time-offset für alle darauffolgenden host Statement Deklarationen verwendet.
Wie Sie im Beispiel 18-1 sehen können, können Sie ein subnet angeben. Sie müssen eine subnet Angabe für jedes Subnet Ihres Netzwerks machen. Tun Sie dies nicht, kann der DHCP-Server nicht starten.
In unserem Beispiel gibt es für jeden DHCP-Client im Subnet allgemeine Optionen und einen Range. Die Zuweisung der IP-Adresse an die Clients erfolgt innerhalb des Range.
subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.1.254; option subnet-mask 255.255.255.0; option domain-name "example.com"; option domain-name-servers 192.168.1.1; option time-offset -18000; # Eastern Standard Time range 192.168.1.10 192.168.1.100; } |
Beispiel 18-1. Subnet-Deklaration
Alle Subnets, die ein gemeinsames physisches Netzwerk verwenden, sollten in der Datei shared-network, wie in Beispiel 18-2 gezeigt, angegeben werden. Parameter, die in shared-network angegeben sind, aber nicht in der subnet Deklaration enthalten sind, werden als allgemeine Parameter betrachtet. Die Bezeichnung des shared-network sollte ein aussagekräftiger Titel für das Netzwerk sein, z.B. Test-Labor, wenn alle Subnets innerhalb eines Test-Labors beschrieben werden sollen.
shared-network name { option domain-name "test.redhat.com"; option domain-name-servers ns1.redhat.com, ns2.redhat.com; option routers 192.168.1.254; more parameters for EXAMPLE shared-network subnet 192.168.1.0 netmask 255.255.255.0 { parameters for subnet range 192.168.1.1 192.168.1.31; } subnet 192.168.1.32 netmask 255.255.255.0 { parameters for subnet range 192.168.1.33 192.168.1.63; } } |
Beispiel 18-2. Gemeinsam genutzte Netzwerk-Deklaration
Wie in Beispiel 18-3 gezeigt, kann die Gruppen-Vereinbarung verwendet werden, um allgemeine Parameter für eine Gruppe von Vereinbarungen anzuwenden. Sie können gemeinsam genutzte Netzwerke, Subnets, Hosts oder andere Gruppen als Gruppe zusammenfassen.
group { option routers 192.168.1.254; option subnet-mask 255.255.255.0; option domain-name "example.com"; option domain-name-servers 192.168.1.1; option time-offset -18000; # Eastern Standard Time host apex { option host-name "apex.example.com"; hardware ethernet 00:A0:78:8E:9E:AA; fixed-address 192.168.1.4; } host raleigh { option host-name "raleigh.example.com"; hardware ethernet 00:A1:DD:74:C3:F2; fixed-address 192.168.1.6; } } |
Beispiel 18-3. Gruppen-Vereinbarung
Um einen DHCP-Server zu konfigurieren, der dynamische IP-Adressen in einem Subnet an ein System vergibt, ändern Sie Beispiel 18-4 entsprechend Ihren Werten. Es bezeichnet die Standard- Vergabe-Dauer, die maximale Vergabe-Dauer und Netzwerk-Konfigurationswerte für die Clients. In diesem Beispiel wird die IP-Adresse in der range 192.168.1.10 und 192.168.1.100 Client-Systemen zugeordnet.
default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.254; option domain-name-servers 192.168.1.1, 192.168.1.2; option domain-name "example.com"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; } |
Beispiel 18-4. Range-Parameter
Um einem Client anhand der MAC-Adresse der Netzwerkkarte eine IP-Adresse zuzuordnen, verwenden Sie den Parameter hardware ethernet, der in der host Deklaration enthalten ist. Wie in Beispiel 18-5 gezeigt, legt die host apex Deklaration fest, dass die Netzwerkkarte mit der MAC-Adresse 00:A0:78:8E:9E:AA immer die IP-Adresse 192.168.1.4 zugewiesen bekommt.
Beachten Sie, dass Sie auch den optionalen Parameter host-name benutzen können, um einem Client einen Hostnamen zuzuordnen.
host apex { option host-name "apex.example.com"; hardware ethernet 00:A0:78:8E:9E:AA; fixed-address 192.168.1.4; } |
Beispiel 18-5. Statische IP-Adresse, die DHCP verwendet
![]() | Tipp | |
---|---|---|
Sie können zunächst die Musterkonfigurationsdatei unter Red Hat Linux 9 benutzen und dann Ihre eigenen Anpassungen für die Konfiguration hinzufügen. Kopieren Sie diese an die richtige Stelle mit dem Befehl
|
Eine vollständige Liste der Options-Statements und deren Anwendung finden Sie auf der dhcp-options man-Seite.
/var/lib/dhcp/dhcpd.leases die Vergabe-Datenbank des DHCP-Client. Diese Datei sollte nicht manuell geändert werden. In der Vergabe-Datenbank werden automatisch alle DHCP-Vergabedaten aller zuletzt zugeordneten IP-Adressen gespeichert. Die Daten enthalten die Vergabedauer, wem die IP-Adresse zugeordnet wurde sowie Anfangs- und Enddaten für die Vergabe und die MAC-Adresse der Netzwerkkarte, von der die Vergabe abgerufen wurde.
Alle Zeitangaben in der Vergabe-Datenbank sind Greenwich Mean Time (GMT) und nicht Ortszeit.
Datei wird umbenannt in dhcpd.leases~ und die temporäre Vergabe-Datei wird gespeichert unter dhcpd.leases.
Der DHCP-Daemon könnte gelöscht werden oder das System abstürzen, nachdem die Vergabe-Datenbank in Backup-Datei umbenannt, die neue Datei jedoch noch nicht gespeichert wurde. In diesem Fall gibt es keine dhcpd.leases Datei, die zum Starten erforderlich ist. Erstellen Sie keine neue Vergabe-Datei, wenn dies passiert. Wenn Sie dies tun, gehen alle alten Vergaben verloren, was zu Problemen führt. Sie sollten stattdessen die dhcpd. leases~ Backup-Datei in dhcpd.leases umbenennen und dann den Daemon starten.
![]() | Wichtig |
---|---|
Bevor Sie den DHCP-Server zum ersten Mal starten, muss die dhcpd.leases Datei existieren, ansonsten wird es nicht funktionieren. Sollte die Datei nicht existieren, können Sie diese mit dem Befehl touch /var/lib/dhcp/dhcpd.leases erstellen. |
Um DHCP zu starten, geben Sie den Befehl/sbin/service dhcpd start ein. Um den DHCP-Server anzuhalten, geben Sie den Befehl /sbin/service dhcpd stop ein. Wenn Sie wünschen, dass der Daemon automatisch beim Booten startet, finden Sie unter Kapitel 14 nähere Informationen über den Umgang mit den Diensten.
Wenn mehrere Netzwerkschnittstellen in Ihrem System vorhanden sind, Sie aber möchten, dass der DHCP-Server nur auf einer Schnittstelle startet, können Sie den DHCP-Server entsprechend konfigurieren. Fügen Sie in der Datei /etc/sysconfig/dhcpd den Namen dieser Schnittstelle zu der Liste von DHCPDARGS hinzu:
# Command line options here DHCPDARGS=eth0 |
Dies ist sinnvoll, wenn Sie einen Rechner mit Firewall und zwei Netzwerk-Karten haben. Eine der Netzwerk-Karten kann als DHCP-Client konfiguriert werden, um eine IP-Adresse aus dem Internet abzurufen. Die andere Netzwerkkarte kann als DHCP-Server für das interne Netzwerk hinter der Firewall benutzt werden, wodurch das System sicherer wird, da Benutzer über das Internet keine Verbindung zu dem Daemon aufnehmen können.
In /etc/sysconfig/dhcpd können noch andere Befehlszeilenoptionen festgelegt werden, wie zum Beispiel:
-p <portnum> — Legt die udp Port-Nummer fest, auf die dhcpd warten soll. Der Standard-Port ist 67. Der DHCP-Server überträgt Antworten an DHCP-Clients mit einer Port-Nummer, die um eins größer ist als der festgelegte udp-Port. Wenn Sie z.B. den Standard-Port 67 annehmen, wartet der Server am Port 67 auf Anfragen und Antworten für den Client auf Port 68. Wenn Sie hier einen Port festlegen und den DHCP Relay Agent verwenden, müssen Sie den gleichen Port festlegen, an dem der DHCP Relay Agent wartet. Weitere Informationen finden Sie im Abschnitt 18.2.4.
-f — Führt den Daemon als Vordergrundprozess aus und wird meistens für das Debuggen verwendet.
-d — Protokolliert den DCHP Server Daemon im Standard-Fehlerdeskriptor und wird meistens für das Debuggen verwendet. Ist dies nicht festgelegt, wird das Protokoll in der Datei /var/log/messages geschrieben.
-cf filename — Legt den Speicherplatz für die Konfigurationsdatei fest. Die standardmäßige Speicherstelle ist /etc/dhcpd.conf.
-lf filename — Legt die Speicherstelle für die Vergabe Datenbank-Datei fest. Ist die Vergabe Datenbank-Datei bereits vorhanden, ist es sehr wichtig, dass bei jedem Start des DHCP-Servers dieselbe Datei verwendet wird. Es wird empfohlen, diese Option nur für Debugging-Aufgaben in nicht- produktiven Computern zu verwenden. Die Standard-Speicherstelle ist /var/lib/dhcp/dhcpd.leases.
-q — Druckt beim Starten des Daemons nicht die gesamte Copyright Info.
Mit dem DHCP Relay Agent (dhcrelay) können Sie DHCP- oder BOOTP-Anfragen des Subnets, die keinen DHCP-Server haben, auf einen oder mehrere DHCP-Server anderer Subnets übertragen.
Wenn ein DHCP-Client Daten anfragt, gibt der DHCP Relay Agent die Anfrage an die Liste der DHCP-Server weiter, die angegeben wurden, als der DHCP Relay Agent gestartet wurde. Wenn ein DHCP- Server antwortet, wird die Antwort als Broadcast oder Unicast auf das Netzwerk übertragen, das die ursprüngliche Anfrage gesendet hat.
Der DHCP Relay Agent wartet auf DHCP-Anfragen an allen Schnittstellen, es sei denn, die Schnittstellen werden in /etc/sysconfig/dhcrelay mit der Anweisung INTERFACES angegeben.
Um den DHCP Relay Agent zu starten, geben Sie den Befehl service dhcrelay start ein.
Zurück | Zum Anfang | Vor |
Dynamic Host Configuration Protocol (DHCP) | Zum Kapitelanfang | Konfigurieren eines DHCP-Clients |