» SelfLinux » Linux im Netzwerk » Dynamic Host Configuration Protocol » Abschnitt 2 SelfLinux-0.12.1
zurück   Startseite Kapitelanfang Inhaltsverzeichnis GFDL   weiter

SelfLinux-Logo
Dokument Dynamic Host Configuration Protocol  Autor
 Formatierung
 GFDL
 

6 DHCP-Server (www.isc.org)

Die Installation des Servers sollte in den gängigen Distributionen kein Problem sein. Bei Debian z.B. sieht sie folgendermaßen aus:

root@linux # apt-get install dhcp3-server

Bei Debian befindet sich nach der Installation die Konfigurationsdatei /etc/dhcp3/dhcpd.conf auf dem System.

Die Datei ist gut kommentiert, und man sollte sie den eigenen Bedürfnissen anpassen (Domain-Name, IP-Adressen usw.)

Falls man den Server in der Testphase nur von Hand starten möchte, sollte man die Links in den entsprechenden Runleveln löschen.
Debian:

root@linux # update-rc.d -f dhcp3-server remove

Nach der Testphase kann man diese wieder aktivieren, bei Debian z.B. folgendermaßen:

root@linux # update-rc.d dhcp3-server defaults

6.1 Eine erste Konfigurationsdatei

Alles, was man nicht versteht, kommentiert man zunächst einmal aus. Ich habe das meiste der Übersichtlichkeit halber gelöscht.

minimal dhcp.conf file
     
#
# Beispielkonfigurationsdatei für ISC dhcpd3
# Debian 3.0 Woody
#

# Optionsdefinitionen für alle unterstützten
# Netzwerke...
# option domain-name "local.invalid";

subnet 192.168.0.0 netmask 255.255.255.0 {
  range dynamic-bootp 192.168.0.31 192.168.0.40;
}
     
     

Nun kann der DHCP-Server den DHCP-Clients zehn Adressen dynamisch zuweisen.


6.2 Testen des Servers

Auf einem Debian-System sollte nochmals geprüft werden, ob in /etc/default/dhcp3-server das richtige Interface angegeben ist (z.B. eth0).

Danach kann man zum Testen (Debuggen) übergehen.

Starten des Servers:

root@linux # /etc/init.d/dhcp start

bzw.

root@linux # /etc/init.d/dhcp3-server start

Es empfiehlt sich, mit tail -f /var/log/syslog den Startvorgang zu verfolgen, um zu sehen, ob der Server korrekt läuft. "ps ax" bzw. "pidof dhcpd3"

Der folgende Aufruf ist zum Debuggen besser geeignet:

root@linux # dhcpd3 -d -f

Bitte unbedingt die Fehlermeldungen beachten!

Auch ein Blick in die Dateien unter /var/log lohnt sich!

Wird auf einem zweitem Rechner, z.B. de Knoppix (Debian von CD), getestet, so verwendet man pump:

root@linux # pump -s

Auf dem Server kann die Anfrage mit

root@linux # tcpdump -e

verfolgt werden.

Dabei muss der Client eine Anfrage absetzen, die vom Server beantwortet wird.

tcpdump Ausgabe
     
(ist leider eine lange Zeile mit \ getrennt)
09:47:32.690249 0:48:54:12:4c:df Broadcast ip 342: \
0.0.0.0.bootpc > 255.255.255.255.bootps:  \
xid:0x1c97abed [|bootp] [tos 0x10]

09:47:32.700021 8:0:46:49:60:8d 0:48:54:12:4c:df \
ip 62: lapwoody.local.invalid > 192.168.0.40: \
icmp: echo request (DF)
     
     

Der erste Abschnitt ist die Broadcast-Anfrage des Clients. Danach folgt die Antwort des Servers, in der dieser dem Client eine IP-Adresse mitteilt.

Anmerkung: Wer die Pakete mit ganzem Inhalt sehen möchte, kann für die Aufzeichnung auch ngrep verwenden.

Nun sollte ein einfacher DHCP-Server laufen.


6.3 Der Server bekommt weitere Fähigkeiten

Als Nächstes sollten die sinnvollen Standard-Angaben wieder aktiviert werden. Die Optionen, die nicht "ausgeklammert" sind, gelten als Vorgaben für alle späteren Angaben.

config-datei
     
ddns-update-style none;
# Wir haben unseren DHCP- nicht mit einem
# DNS-Server kombiniert.

option domain-name "local.invalid";
option domain-name-servers 192.168.0.1;
# Unsere Domain und die Nameserver

default-lease-time 600;
max-lease-time 7200;
# Wann müssen die Adressen, die wir verteilt haben,
# erneuert werden? Die Laufzeit ist in Sekunden angegeben,
# d.h. alle DHCP-Rechner sollten nach 10 min anfangen,
# sich neue Adressen zu holen. Falls die Adresse innerhalb
# von 2 Stunden nicht erneuert werden konnte, liegt
# irgendein Fehler vor und der Client-Rechner sollte
# seine IP-Adressen nicht mehr benutzen.

authoritative;
# Regelt, welcher DHCP-Server Priorität hat. :-)
# Aktivieren, sobald wir fertig sind.
     
     

6.4 Weitere Möglichkeiten mit DHCP

Es gibt globale Angaben, die von lokalen Angaben überschrieben werden können.

Einige Optionen aus: "man dhcpd.conf" und "man dhcp-conf" (offizielle Optionen sind in RFC 2132 beschrieben):

config-datei
     
option domain-name "local.invalid";
option domain-name-servers 192.168.0.1, 192.168.0.2;
     
     

Übertragung des Domain-Namens und der DNS-Server.

config-datei
     
option routers 192.168.0.1;
     
     

Angabe des Default-Gateway.



zurück   Seitenanfang Startseite Kapitelanfang Inhaltsverzeichnis GFDL   weiter