SelfLinux » Linux im Netzwerk - Einführung » Dynamic Host Configuration Protocol » Teil 2 SelfLinux-0.8.0
« zurück weiter »
SelfLinux logo
OrdnerDynamic Host Configuration Protocol Revision: 1.1.2.5
Autor: Andreas Schockenhoff
Layout: Matthias Hagedorn
Lizenz: GFDL

6 DHCP Server (www.isc.org)

Die Installation des Servers sollte in den gängigen Distributionen kein Problem sein, z.B. bei Debian:

root@linux / # apt-get install dhcp3-server

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

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

Falls man den Server in der Testphase nur von Hand starten will, 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, z.B. Debian:

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

6.1 Eine erste Konfigurationsdatei

Alles, was man nicht versteht, kommentiert man erstmal aus. :-) Ich habe das meiste der Übersicht wegen gelöscht.

minimal dhcp.conf file
      
#
# Sample configuration file for ISC dhcpd3 for
# Debian 3.0 Woody
#

# option definitions common to all supported
# networks...
# 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 zehn Adressen dynamisch an die DHCP-Klienten zuweisen.



6.2 Testen des Servers

Auf einem Debian System sollte nochmal in /etc/default/dhcp3-server geschaut werden, ob dort 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

Mal mit tail -f /var/log/syslog den Start verfolgen. Läuft der Server? "ps ax" bzw. "pidof dhcpd3"

Besser zum Debuggen ist wohl der Aufruf

root@linux / # dhcpd3 -d -f

Fehlermeldungen beachten!

Auch mal in Files unter /var/log/* schauen!

Testen mit einem zweitem Rechner, z.B. Knoppix (Debian von CD) mit pump:

root@linux / # pump -s

Auf dem Server kann die Anfrage mit

root@linux / # tcpdump -e

verfolgt werden.

Die Anfrage vom Klient muß kommen und wird vom Server beantwortet.

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)
     
     

Das erste ist die Anfrage per Broadcast vom Klienten. Dann kommt die Antwort mit der IP-Adresse für den Klienten.

Anmerkung: Wer die Pakete mit ganzem Inhalt sehen will, kann es auch mit ngrep aufzeichnen.

Nun sollte ein einfacher DHCP-Server laufen.



6.3 Der Server bekommt weitere Fähigkeiten

Als nächstes sollte man wieder die sinnvollen Standard-Angaben anschalten. Die Optionen, die nicht "geklammert" 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 name Server.

default-lease-time 600;
max-lease-time 7200;
# Wann müssen die Adressen die wir verteilt haben
# erneuert werden. In Sekunden, also alle DHCP
# Rechner sollten nach 10 min anfangen euch neue
# Adressen zu holen Wenn 2 Stunden die Adresse
# nicht erneuert werden konnte läuft was falsch
# dann sollte der Klient Rechner seine IP's
# nicht mehr benutzen.

authoritative;
# Regelt welcher DHCP Server mehr zu sagen hat. :-)
# Sobald wir fertig sind enablen
     
     


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;
     
     

Domain Name und die DNS Server Übertragen.

config-datei
      
option routers 192.168.0.1;
     
     

Den Default-Gateway angeben.



« zurück weiter »
Inhalt