Linux-Arbeitskreis Hamburg |
Das Dynamic Host Configuration Protocol (DHCP) dient dazu einem Client-Rechner beim Booten seine Netzparameter zur Verfügung zu stellen.
Beim Booten weiß der Rechner nur die Nummer seiner Netzwerkkarte. Diese
Nummer ist dort in der Hardware festgelegt und wird nach einem internationalen
Standard nur ein einiges Mal vergeben.
Eine derartige Nummer ist z.B. 00.80.AD.A6.36.0E
und besteht
aus 6 2-stelligen Hexadezimalzahlen. Nur diese Nummer ist dem Client-Rechner
beim Booten bekannt. Er startet damit eine Rundfrage ins Netz, mit der Bitte
ihm doch eine Netzwerkkonfiguration mitzuteilen. Der DHCP-Server wartet auf
solche Rundfragen und teilt dann die entsprechenden Daten mit:
Dec 23 11:03:47 boss dhcpd: DHCPDISCOVER from 00:02:55:d4:aa:db via eth0 Dec 23 11:03:48 boss dhcpd: DHCPOFFER on 192.168.1.98 to 00:02:55:d4:aa:db (asp) via eth0 Dec 23 11:03:48 boss dhcpd: DHCPREQUEST for 192.168.1.98 (192.168.1.1) from 00:02:55:d4:aa:db (asp) via eth0 Dec 23 11:03:48 boss dhcpd: DHCPACK on 192.168.1.98 to 00:02:55:d4:aa:db (asp) via eth0
In diesem Fall ist der Rechner mit dem Namen asp neu im Netz und hat noch keine IP-Adresse besessen. Er fragt mit DHCPDISCOVER per Broadcast, also an alle Rechner im Netz, nach einer Konfiguration. Der Server boss fühlt sich zuständig und bietet mit DHCPOFFER die Adresse 192.168.1.98 an. Wenn der Client dieses Angebot für akzeptabel hält, Vorsicht bei mehreren DHCP-Servern, dann fordert er die vorgeschlagene Adresse mittels DHCPREQUEST an. Das letzte Wort hat der Server, der die Anforderung mit DHCPACK bestätigt und die Einträge ins seine Datenbanken und ggf. den Nameserver vornimmt.
Bei späteren Starts des Rechners asp beginnt der Ablauf mit dem dritten Schritt, der Client fordert seine bisherige Adresse an und der Server muss sie nur bestätigen.
Das ältere Internet Bootstrap Protocol (Bootp) beherrscht der DHCP-Server ebenfalls. So dass auch Clienten, die dieses Protocoll benötigen vom gleichen Server mitbedient werden können.
Das DHCP-Paket besteht aus folgenden Dateien:
/usr/sbin/dhcpd | Dies ist die Binärdatei, die den eigentlichen DHCP-Server bildet. Diese Datei sollte beim Booten des Rechners gestartet werden. |
/etc/init.d/dhcpd | Das Startscript über das man den dhcpd starten und stoppen kann. Etwas bequemer ist der Aufruf dieses Scriptes über den Link rcdhspd |
/etc/dhcpd.conf | Die Konfigurationsdatei des DHCPD. |
/var/lib/dhcp/dhcpd.leases | In dieser Datei merkt sich der DHCPD die zugeteilten Netzinformationen. |
Man muss darauf achten, dass in der zentralen SuSE-Konfigurationsdatei (rc.config) der Schalter START_DHCPD="yes" gesetzt ist, damit das Programm auch automatisch startet.
Das Script dhcpd.conf.pl erledigt die serverseitige Konfiguration automatisch. Zum Laden und Ausführen sind folgende Schritte sinnvoll:
damit wechselt man in das Verzeichnis /tmp, lädt das Script mit den Programm wget von seiner Homepage, macht es ausführbar und führt es dann aus. Das Script wertet den Rechnernamen und die IP-Adresse aus, um die richtigen Einstellungen vornehmen zu können.
Hinweis: Das Script arbeitet nur dann korrekt, wenn die Netzwerkkarte für das lokale Netz eth0 ist.
Das DHCP-Protokoll vereinfacht die Client-Konfiguration erheblich. Es sind nämlich keine rechnerspezifischen Einstellungen mehr vorzunehmen. Man kann neue Rechner ins Netz einbinden, oder Rechner aus dem Netz entfernen ohne großen Aufwand. Im Prinzip muß man der Client-Software nur sagen, daß DHCP genutzt werden soll.
Im Netzwerksetup gibt es unter TCP/IP konfigurieren eine Checkbox mit der Beschriftung Enable Automatic DHCP-Configuration. Klick man diese Box an, so muß man noch einmal eine Message-Box bestätigen und hat schon die Konfiguration abgeschlossen.
Auch Bei Win95 muß nur ein Parameter richtig gesetzt werden. Bei der TCP/IP Konfiguration muß unter IP-Adresse IP-Adresse automatisch beziehen angewählt sein.