DHCP How-To

DHCP Übersicht
DHCP Client Setup
DHCP Server Setup
Sonstiges:

DHCP- Übersicht

Der tiefere Sinn und Zweck dieses Dokumentes (nach oben)

Dieses Dokument soll dem geneigten Leser erklären, wie DHCP- Clients und Server mit dem NetBSD- System aufgesetzt werden.

Was ist DHCP? (top)

DHCP steht für das Dynamic Host Configuration Protocol. Es erlaubt die dynamische Konfiguration des Netzwerks auf einem Wirtscomputer (Anmerkung des Übersetzers: Gemeint ist im eigentlichen Sinn ein Server). Die Grundidee ist diese: Wenn ein DHCP- Client eingeschaltet wird, hat er beim Start keine IP- Adresse, die ihm "gehört". Er sendet eine Broadcast- Message an jeden DHCP- Server, der sich im Netzwerk befindet. Eine Änderung findet erst statt, wenn der Server dem Cilent eine IP- Adresse zuweist und ihm die den Client betreffenden anderen wichtigen Konfigurationsparameter, beispielsweise, wo sich der Nameserver befindet, mitteilt.

Wer braucht DHCP? (top)

Viele ISPs (Internet- Service- Provider) setzen voraus, dass ihre Kunden einen DHCP- Client betreiben, damit diesem eine dynamische IP- Adresse zugewiesen werden kann und andere Netzwerkeinstellungen gregelt werden können. Ein anderer Anwendungszweck ist für Laptop- Computer gedacht, die an verschiedenen Netzwerken betrieben werden. So ein Apparat kann eben nicht nur zu Hause betrieben werden, sondern auch im Netzwerk des Arbeitgebers, um hier mal ein Beispiel anzuführen. In so einem Fall stellt DHCP die Ideallösung dar, wenn das Gerät nicht dauernd manuell umkonfiguriert werden soll. In so einem Fall braucht man ausserdem zwei DHCP- Server: Einen in der Firma und einen zweiten im heimischen Netz; dazu kommt dann noch ein DHCP- Client auf dem Laptop.

Genauere Informationen (top)

Für tiefere Informationen zu DHCP allgemein, kann in RFC 1541 nachgeschlagen werden. Ausserdem gibt es noch eine hervorragende englische DHCP FAQ.

DHCP Client- Installation:
Diese Sektion beschreibt, wie DHCP- Clients unter NetBSD aufgesetzt werden. Diese Anleitung gilt sowohl für NetBSD-1.3 als auch für 1.4.

DHCP- Konfiguration (top)

Die Konfiguration des DHCP- Clients steht in der Datei mit dem Namen /etc/dhclient.conf. Du wirst diese Datei neu erstellen müssen, wenn sie noch nicht existiert; aber meistens gibt es sie schon. Vergiss nicht, diese Datei an Deine Bedürfnisse anzupassen, besonders, was die Hostnamen und das Ethernet- Interface angeht. Siehe auch dhclient.conf(5) und dhcp-options(5) für genauere Informationen. Eine typische /etc/dhclient.conf steht unten:.
Send host-name "myname.my.domain";                 <=== Den Hostnamen hier
								eintragen
 send dhcp-client-identifier "myident";             <=== DEn Identifier hier
						eintragen (meistens das Gleiche wie myname)

request subnet-mask, broadcast-address, routers,
    domain-name-servers;

timeout 30;
retry 60;
select-timeout 5;

script "/etc/dhclient-script";

lease {
  interface "sn0";                               <=== interface hier
							 eintragen
  option host-name "myname.my.domain";           <=== Hostnamen hier
							 eintragen
 option subnet-mask 255.255.255.0;
  option domain-name "my.domain";                <=== put your
                                                      domain name here
  option domain-name-servers 127.0.0.1;
  renew 2 2000/1/12 00:00:01;
  rebind 2 2000/1/12 00:00:01;
  expire 2 2000/1/12 00:00:01;
}

Update des dhclient-Scriptes (nur NetBSD-1.3) (top)

Wenn Du mehr als ein Netzwerkinterface in Deiner Maschine hast, musst Du das /etc/dhclient- Script ändern, um einen Fehler zu umgehen, durch den ein zu grosses Logfile erstellt wird. Die Grundidee ist, das dhclient-script zu beenden, ohne etwas zu tun; wenn eine Anfrage in das Netzwerk über eine Karte gesendet wird, auf der DHCP nicht läft. Dieser Fehler tritt in NetBSD-1.4 und neuer nicht mehr auf. Ein Beispiel: Ich habe auf meiner Maschine zwei Netzwerkkarten. DHCP läuft auf der ae1-Karte. Auf der ae2- Karte läft DHCP nicht. Für dieses Beispiel muss das dhclient-Script am Beginn der Datei (direkt hinter #!/bin/sh)folgendermassen geändert werden:
  # don't run DHCP on ae0 
  if [ $interface = "ae0" ]; then
    exit 0
  fi

DHCP einschalten (top)


NetBSD-1.3 und älter
Der Code in /etc/netstart muss um folgende Zeile ergänzt werden: dhclient interface, wobei interface Deine Netzwerkkarte ist; beispielsweise ae1 oder sn0 unter NetBSD/mac68k oder ep0 unter NetBSD/i386. Du solltest ausserdem den Treiber sehen, den Du benutzt; entweder beim Booten oder durch Lesen der Bootmeldungen mit Hilfe von dmesg . Der Eintrag in /etc/netstart teilt dem DHCP- Client mit, dass er von nun an automatisch beim Booten mit hochgefahren werden soll. Mit dmesg kannst Du prüfen, ob das denn nun auch passiert.

NetBSD-1.4
Hier muss der Code in der /etc/rc.conf geändert werden. Das soll dann so aussehen: dhclient=YES
Anschliessend wird wird eien Liste mit den Netzwerkinterfaces erstellt, die mit DHCP konfiguriert werden sollen: Das passier in der dhclient_flags- Zeile:
dhclient_flags="ae1". Wenn Du die Maschine neu bootest, wird sie sich selbst als DHCP- Client konfigurieren. Willst Du das ohne NEustart ausführen, gib das Kommando 'dhclient interface' interface ein, um DHCP als CLient zu starten.

DHCP Server
Diese Sektion beschreibt, wie ein DHCP- Server in der NEtBSD-1.4- Familie aufgesetzt wird. Anmerkung: Du musst keinen DHCP- Server aufsetzen, wenn du die automatische Konfiguration der IP- Adressen in Deinem LAN nicht automatisch ausführen willst. Geneuer Informationen gibt es unter dhcpd(8), dhcpd.conf(5), and dhcp-options(5) .

Konfiguration des DHCPD (top)

Die DHCP- Server- Koinfiguration findet sich in der Datei /etc/dhcpd.conf. Wenn dieses File nicht existiert, wirst Du es erstellen müssen. Ausserdem musst Du diese Datei an Deine Bedürfnisse anpassen. Beispielsweise müssen die Daten der Hostnamen und dee Ethernetkarten angepasst werden. Eine typische /etc/dhcpd.conf steht unten. In diesem Beispiel werden sieben Adressen für die DHCP- CLients benutzt. Es handelt sich um den Adressraum 192.168.0.2 bis 192.168.0.8. Der DHCP- Server erzält den Clients, welche Adresse sie verwenden sollen, welche Netzmaske, welcher Router, Nameserver und Domainname benutzt werden sollen.
# Setzen der globalen DHCPD- Parameter
allow unknown-clients;

# Setzt Parameter für das 192.168.0.0/24 Subnet.
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.8;                <=== Der Adressbereich, der
							für DHCP zur Verfügung steht

default-lease-time 604800;                    <=== Default- Leasingzeit: Das
							ist die Zeitspanne, in der
							der Client verbunden bleibt,
							wenn er keine Anfrage sendet.

max-lease-time 604800;                        <=== maximale Leasing- Zeit

option subnet-mask 255.255.255.0;             <=== Subnetzmaske der Clients
option domain-name-servers 1.2.3.4, 1.2.3.5;  <=== Nameserver- Liste

option domain-name "your.domain.name";
option routers 192.168.0.1;                   <=== Die Router, die die
							Clients nutzen sollen }

Enable DHCPD (top)

NetBSD-1.4 Editiere /etc/rc.conf und ändere die dhcpd- Zeile so: dhcpd=YES. Füge die Liste mit den Interfaces, auf denen DHCP laufen soll, in die dhcpd_flags- Zeile ein. Beispielsweise so: dhcpd_flags="-q ae1".

Erstellen einer dhcpd.leses- Datei: (top)

Der dhcpd benötigt für seine Arbeit eine Datei namens dhcpd.leases. Diese soll in /var/db liegen. Erstellt wird sie mit 'touch /var/db/dhcpd.leases'.

So sollte das eigentlich laufen.


Home Sitemap Howto- Liste