Inhalt

7. DHCP und DHCPD

DHCP ist eine Abkürzung für »Dynamic Host Configuration Protocol«. Mit DHCP wurde das Konfigurieren von Netzwerken mit sehr vielen Hosts sehr vereinfacht. Anstatt jeden Host einzeln zu konfigurieren, werden alle typischen hostspezifischen Parameter durch einen DHCP Server bereitgestellt.

Immer wenn ein Host bootet, sendet er ein Broadcast Paket ins Netz. Dieses Paket ist eine Konfigurationsanfrage an alle DHCP Server des Netzsegmentes.

DHCP ist sinnvoll, um Dinge wie z.B. die IP Adresse, die Netzmaske und das Gateway jedem Client zuzuweisen.

7.1 DHCP Client Setup für Benutzer von LinuxConf (u.a. RedHat)

Sind Sie als »root« eingeloggt, starten Sie das Programm so:

linuxconf
Das Programm wird mit allen RedHat Versionen mitgeliefert und arbeitet sowohl mit X11 als auch auf der Konsole. Es ist unter
http://www.solucorp.qc.ca
verfügbar und kann auch mit SuSE und Caldera genutzt werden.

Select Networking
----------------->Basic Host Information
----------------->Select Enable
----------------->Set Config Mode DHCP

7.2 DHCP Client Setup für Benutzer von Yast2 (u.a. SuSE)

Sind Sie als »root« eingeloggt, starten Sie das Programm so:

yast2
Das Programm wird mit allen aktuellen SuSE Versionen mitgeliefert und arbeitet sowohl mit X11 als auch auf der Konsole.

Wählen Sie "Netzwerk/Erweitert"
------->Wählen Sie "Hostname und DNS"
------->Wenn gewünscht wählen Sie "Hostname über DHCP ändern"
------->Wenn gewünscht wählen Sie "Nameserver und Suchliste 
        über DHCP aktualisieren"

7.3 DHCP Server Setup für Linux

Falls er nicht bereits installiert ist, kann der Daemon dhcpd von folgender Adresse bezogen werden:

ftp.isc.org:/isc/dhcp

Beachten Sie bitte: im Kernel muß »Multicasting« aktiviert sein.

Editieren Sie die Datei /etc/rc.d/rc.local, um sicherzustellen, daß diese einen Routing-Eintrag für »255.255.255.255« enthält.

Zitat aus der dhcpd README:

"In order for dhcpd to work correctly with picky DHCP clients (e.g., Windows 95), it must be able to send packets with an IP destination address of 255.255.255.255. Unfortunately, Linux insists on changing 255.255.255.255 into the local subnet broadcast address (in this case, the address would be 192.5.5.223). This results in a DHCP protocol violation. While many DHCP clients don't notice the problem, some (e.g., all Microsoft DHCP clients) will recognize the violation. Clients that have this problem will appear not to see DHCPOFFER messages from the server."
Führen Sie als root folgendes Kommando aus:

route add -host 255.255.255.255 dev eth0

Sollte die Fehlermeldung

255.255.255.255: Unknown host

auftreten, dann tragen Sie folgenden Eintrag in Ihre /etc/hosts ein:

255.255.255.255 dhcp

Ist dieser eingefügt, führen Sie folgendes Kommando aus:

route add -host dhcp dev eth0

Optionen des dhcpd

Jetzt ist es notwendig, den dhcpd zu konfigurieren. Dazu ist es notwendig, die Datei /etc/dhcpd.conf zu editieren bzw. zu erstellen. Alternativ kann die Konfiguration mit z.B. linuxconf durchgeführt werden.

Für die manuelle Konfiguration sollten die folgenden Schritte durchgeführt werden. Ich schlage vor, die Konfiguration mindestens einmal manuell durchzuführen. Das kann bei der Diagnose von Problemen helfen.

Der einfachste Weg beim Zuweisen der IP Adressen ist, sie zufällig zuzuordnen. Ein Beispiel für eine Konfigurationsdatei dieses Setuptypes:

# Beispiel /etc/dhcpd.conf
# (hier können die eigenen Kommentare eingefügt werden)
default-lease-time 1200;
max-lease-time 9200;
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 "mydomain.org";
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
range 192.168.1.150 192.168.1.200;
}

Dieses Beispiel erlaubt dem DHCP Server, einem Client IP Adressen im Bereich von 192.168.1.10-192.168.1.100 oder 192.168.1.150-192.168.1.200 zuzuweisen.

Wenn der Client keine größeres Zeitfenster anfordert, vergibt der DHCP Server eine IP Adresse für 1200 Sekunden. Das maximal erlaubte Zeitfenster für die Adreßzuordnung durch den Server beträgt 9200 Sekunden. Auf Anfrage sendet der Server dem Client die folgenden Parameter:

Um Windows Clients einen WINS Server zuzuordnen, ist in der dhcpd.conf folgende Option notwendig:

option netbios-name-servers 192.168.1.1;

Natürlich kann man IP Adressen auch entsprechend der MAC Adressen der Clientrechner zuordnen. Die Einträge in der Konfigurationsdatei sehen so aus:

host haagen {
  hardware ethernet 08:00:2b:4c:59:23;
  fixed-address 192.168.1.222;
}

Dieses Beispiel ordnet die IP Adresse 192.168.1.222 dem Client mit der Ethernet Adresse 08:00:2b:4c:59:23 zu.

Start des Servers

In den meisten Fällen wird bei der DHCP Installation die Datei dhcpd.leases nicht erzeugt. Vor dem Serverstart muß sichergestellt werden, daß diese vorhanden ist. Dazu reicht ein:

touch /var/state/dhcp/dhcpd.leases

Um den DHCP Server manuell zu starten, gibt man ein:

/usr/sbin/dhcpd

Damit würde der dhcpd für das Device eth0 gestartet. Alternativ kann er über die Bootskripte gestartet werden. Um ihn für ein anderes Device zu starten, wird dieses wie im nächsten Beispiel einfach auf der Kommandozeile übergeben:

/usr/sbin/dhcpd eth1

Um die Konfiguration auf Fehler zu testen, kann dhcpd im Debugmodus gestartet werden:

/usr/sbin/dhcpd -d -f

Jetzt kann ein Client gebootet werden und auf der Konsole des Servers sollten einige Debugmessages erscheinen.


Inhalt