DHCP - Udo Munz

Werbung
fte-CISCO
DHCP –
Dynamic Host Configuration Protocoll
Vorwort
In den letzten Jahren wurden rapide technische Fortschritte in der Entwicklung tragbarer Computersysteme, bei
Funk- und Satellitennetzen und bei der weltweiten Vernetzung von Rechnern erzielt. Damit wurde die
Voraussetzung für das sogenannte Mobile Computing geschaffen. Heute ist es fast schon üblich, daß Anwender
ihre persönlichen Computersysteme wie Notebooks stets bei sich tragen. Vielerorts besteht aber noch die
Schwierigkeit, diese Systeme auch problemlos in Netze zu integrieren (sprich zu konfigurieren), die nicht zum
heimatlichen Netz gehören, wenn man die Ressourcen des fremden Netzes nutzen will. Dies wirft viele neue
Fragen für das Netz- und Systemmanagement auf, für die größtenteils noch keine angemessenen Lösungen
existieren.
Die gängigen Konfigurationsprotokolle für TCP/IP-Systeme (RARP, BOOTP) haben den Nachteil, daß sie sich
nur bedingt bzw. überhaupt nicht für den Einsatz mit Mobilsystemen eignen. Als Abhilfe für diese
Problemsituation wurde eine Erweiterung des BOOTP-Protokolls entwickelt, welches diese Probleme löst.
Das Dynamic Host Configuration Protocol (DHCP) wird heute schon in vielen Bereichen zur Konfiguration von
Computersystemen eingesetzt, die an ein Rechnernetz angeschlossen werden, zum Beispiel auch unter
Windows NT.
Bei DHCP handelt es sich um einen offenen Industriestandard, der die Verwaltung von TCP/IP-Netzwerken
erleichtert. DHCP bietet verschiedene Verfahren für eine einfache und Dynamische Konfiguration von
Computern in TCP/IP-Netzwerken und reduziert außerdem den Verwaltungsaufwand, der durch Hinzufügen,
Verlagern und Konfigurieren von Computern in diesen Netzwerken entsteht.
Einleitung
In einem TCP/IP-Netzwerk muß jedem Computer ein eindeutiger Computername sowie eine eindeutige IPAdresse zugewiesen werden. Die IP-Adresse identifiziert sowohl den Computer, als auch das Subnetz, mit dem
dieser Computer verbunden ist. Wird zum Beispiel der Computer in ein anderes Subnetz verlagert, muß die IPAdresse entsprechend der neuen Subnet-ID geändert werden. Daß die Vergabe von statischen IP-Adressen vor
allem in großen Netzwerken nicht sehr effektiv, unter Umständen sogar problematisch ist, soll anhand zweier
Beispiele verdeutlicht werden:
•
•
In einem TCP/IP-Netzwerk mit mehreren hundert Computern wird bei einer statischen IP-Adressierung für
jeden Computer eine eigene IP-Adresse beansprucht. Selbst in Zeiten in denen diese Rechner nicht in
Betrieb sind, sind diese IP-Adressen „verbraucht“. Da IP-Adressen bereits einen nicht mehr zu
vernachlässigenden Kostenfaktor für größere Unternehmen darstellen, sind statische RechnerAdressierungen in Netzwerken bei denen ein Großteil der Computer nicht ständig in Betrieb sind, schlicht
zu teuer.
In Unternehmen mit hohem Außendienst-Mitarbeiteranteil, welcher gelegentlich über eine DFÜ-Verbindung
Kontakt mit dem Firmennetz aufnimmt, oder sich vielleicht sogar an unterschiedlichen Standorten im
Netzwerk (mit differenzierter Subnetstruktur) einbindet, stellt dies einen erheblichen Arbeits- und
Verwaltungsaufwand sowohl auf der Client- als auch auf der Serverseite dar, für eine kontinuierlich
funktionierende Netzwerkverbindung zu sorgen.
Das DHCP-Protokoll löst diese Probleme nun, indem Computer, die TCP/IP verwenden, automatisch die
Protokollkonfiguration über das Netzwerk beziehen können. DHCP ist ein offener Standard, der von der Dynamic
Host Configuration working group (http://www.ietf.org/html.charters/dhc-charter.html) und der Internet Engineering Task Force
(http://www.ietf.org/) entwickelt wurde.
DHCP basiert auf einem Client-Server-Prinzip, bei welchem der DHCP-Client z.B. ein Desktop-Rechner Kontakt
zu einem DHCP-Server aufnimmt, um von diesem Konfigurationsparameter zu beziehen. Der DHCP-Server
befindet sich üblicherweise an einem zentralen Standort innerhalb des Netzwerks. Da der Server vom
Netzwerkadministrator verwaltet wird, besteht die Gewähr, daß die DHCP-Clients zuverlässig mit den
Parametern versehen werden die der gegenwärtigen Netzwerkarchitektur entsprechen.
Die wichtigste Information, die durch DHCP übertragen wird, ist die IP-Adresse. Ein Computer muß mit einer IPAdresse versehen werden, die zur Netzwerkadresse paßt, in welcher der Rechner sich befindet und die noch
nicht an einen anderen Rechner vergeben wurde.
Über das DHCP-Protokoll können diese wichtigen Parameter automatisch den Rechnern zugewiesen werden.
Das DHCP-Protokoll überträgt auch noch andere wichtige Parameter, wie z.B. Subnet Mask, Default Router und
DNS-Server. Ab dem Internet Explorer 5.5 kann auch ein evtl. Proxy-Konfigurationsscript per DHCP übermittelt
werden, das die LAN-Einstellungen automatisch konfiguriert.
Durch die Verwendung von DHCP vermeidet der Netzwerkadministrator komplizierte, zeitaufwendige und
fehlerträchtige, manuell zu erledigende Einstellungen an einzelnen Rechnern. Stattdessen beziehen die Clients
automatisch alle nötigen Informationen automatisch ohne manuellen Eingriff direkt von einem
zentralverwalteten DHCP-Server.
1 von 5
munz
fte-CISCO
Anforderungen an das DHCP-Protokoll
Folgende Ziele sollen durch DHCP erreicht werden:
•
•
•
•
•
•
•
•
•
•
•
DHCP sollte als Hilfsmittel für den Netzwerkadministrator angesehen werden. Es muß Administratoren
erlauben, wo nötig Kontrolle über Konfigurationsparameter zu haben, andererseits deren Zuweisung
weitestgehend zu automatisieren.
Clients sollten keine manuelle Konfiguration benötigen. Jeder Client soll in der Lage sein, ohne Eingriff
eines Users seine Konfigurationsparameter zu erhalten und diese in seine Konfiguration zu implementieren.
Netzwerkclients sollten unter normalen Umständen keine manuelle Konfiguration durch den Administrator
benötigen.
DHCP sollte nicht für jedes Subnet einen eigenen Server benötigen d.h. DHCP muß auch über Router
funktionieren.
Ein DHCP-Client muß damit umgehen können, wenn auf einen Request mehrere Offers zurückkommen.
Neben DHCP muß der Betrieb mit statisch konfigurierten Hosts weiterhin möglich sein.
Der DHCP-Server muß dafür sorgen, daß jede vergebene IP-Adresse nur von jeweils einem Client im
Netzwerk verwendet wird.
Automatische Zuweisung von Adressen an neue Clients, zur Vermeidung von manueller Konfiguration.
Unterstützung fester oder permanenter Zuweisungen von Parametern an bestimmte Clients.
Wiederherstellung der Client-Konfiguration nach einem Client Reboot. Clients sollte wenn möglich, nach
einem Request die gleiche Konfiguration (z.B. IP-Adresse) zugewiesen werden.
Wiederherstellung der Client-Konfiguration nach einem Server Reboot. Trotz Restart des DHCP-Servers
sollte den Clients die gleiche Konfiguration wieder zugewiesen werden.
Funktionsweise von DHCP:
Während dem Startvorgang schickt der DHCP-Client ein Discover-Packet (direkt oder über einen Relay-Agent)
an einen DHCP-Server. Anschließend schickt der DHCP-Server eine DHCP-Offer zurück. Der Client akzeptiert die
Offer durch ein Quittieren der angebotenen IP-Adresse, was der DHCP-Server seinerseits schließlich durch ein
Acknowledge beantwortet.
DHCP unterstützt drei Mechanismen zur Zuweisung von IP-Adressen:
1.
2.
3.
Automatische Zuweisung
Dabei erhält ein DHCP-Client permanent eine IP-Adresse zugewiesen
Dynamische Zuweisung
Bei der Dynamischen Zuweisung erhält der DHCP-Client für eine begrenzte Zeit (oder bis der Client auf
diese explizit verzichtet) eine IP-Adresse zugewiesen.
Manuelle Zuweisung
Dabei wird dem Client durch den Netzwerkadministrator eine IP-Adresse zugewiesen. Dabei wird DHCP
dazu nur verwendet, um die Adresse dem Client zu übermitteln.
In vielen Netzwerken werden eine oder mehrere dieser Mechanismen verwendet, abhängig von den
Anforderungen, die vom Administrator an dieses Netz gestellt werden.
Zu 2.: Die Dynamische Zuweisung ist der einzige Mechanismus, bei dem eine Adresse, die vom Client nicht
mehr weiter benötigt wird, automatisch wiederverwendet werden kann. Daher wird die dynamische
Zuweisung sinnvollerweise dort eingesetzt, wo Clients nur zeitweise mit dem Netzwerk verbunden sind,
oder wo ein begrenzter Pool an Adressen unter einer Gruppe von Rechnern vergeben werden soll, die
keine permanenten IP-Adressen benötigen. Bei der Dynamischen Zuweisung besteht weiterhin die
Möglichkeit, IP-Adressen für eine beschränkte Zeit an einen Host zu vergeben. Dabei sendet der Client
einen Request an den DHCP-Server, mit der Bitte eine Adresse für eine bestimmte Zeitdauer zu
erhalten. Der Server seinerseits garantiert, diese Adresse innerhalb dieses Zeitraumes an keinen
anderen Client zu vergeben. Im Falle eines Reboots des Clients versucht der DHCP-Server bei einer
erneuten Anfrage des Clients, diesem die ihm zuvor zugeteilte IP-Adresse wieder zu erteilen. Dabei
bezeichnet man die Zeit, in der diese Adresse einem bestimmten Host zugeteilt wird als Lease-Dauer.
Der Client kann außerdem die Lease-Dauer durch anschließende Requests verlängern. Weiter kann der
Client seine Adresse an den Server zurückgeben, wenn er sie nicht mehr benötigt. Es besteht ebenfalls
die Möglichkeit durch einen weiteren Request, eine infinite Lease, oder unbegrenzte Lease-Dauer für
seine Adresse zu bekommen. Dies entspricht sozusagen einer permanenten Zuweisung einer IPAdresse. Jedoch wird der Server versuchen, dennoch zeitlich begrenzte Leases zu vergeben, schon
allein deswegen, um regelmäßig feststellen zu können, ob ein Host noch aktiv im Netzwerk vorhanden
ist oder nicht.
Zu 3.: Manuelle Zuweisung erfolgt dort, wo es erwünscht ist, in einer DHCP-Umgebung zusätzlich statisch
adressierte Hosts zu betreiben, schon allein um eventuelle Adreßkonflikte zu vermeiden.
In manchen Umgebungen ist es nötig, besonders wenn IP-Adressen zu Neige gehen, bereits vergebene
Adressen, erneut zu vergeben. Dabei benutzt der DHCP-Server IP-Adressen deren Lease abgelaufen
ist.
2 von 5
munz
fte-CISCO
Kommunikation zwischen Client und Server – Zuordnung der
Netzwerkadressen:
Die folgende Zusammenfassung des Protokollaustauschs zwischen Client und Server bezieht sich auf die DHCPMessages, die in Abbildung 2 bzw. Tabelle 2 beschrieben werden. Das Zeitdiagramm in Abbildung 2
veranschaulicht die zeitlichen Beziehungen während der Kommunikation zwischen Client und Server. Wenn der
Client-Rechner seine Adresse bereits weiß, so sind einige Schritte hinfällig (Dies wird im nächsten Abschnitt
behandelt).
Abbildung 2 zeigt das
Format einer DHCPMessage. In Tabelle 1
werden die einzelnen
Felder erläutert. Die
Zahlen in Klammern
geben die Größe jedes
Feldes in Bytes an.
3 von 5
munz
fte-CISCO
Message
----------DHCPDISCOVER
DHCPOFFER
DHCPREQUEST
DHCPACK
DHCPNAK
DHCPDECLINE
DHCPRELEASE
DHCPINFORM
Verwendung
---------------Beim ersten Startversuch eines DHCP-Clients in einem Netzwerk fordert der Client
durch Rundsendung einer DHCPDISCOVER-Message eine IP-Adresse von einem
DHCP-Server an. Die gegenwärtige IP-Adresse des Clients ist zu diesem Zeitpunkt
0.0.0.0.
Server an Client als Antwort auf DHCPDISCOVER mit einem Angebot von
Konfigurationsparametern.
Client Message an Server, entweder
(a) Annahme der angebotenen Parameter eines Servers und gleichzeitige Ablehnung
der Angebote anderer Server.
(b) Bestätigung der Korrektheit einer schon früher zugewiesenen Adresse z.B. nach
einem Reboot oder
(c) Verlängern der Lease-Dauer einer bestimmten IP-Adresse.
Server an Client mit Konfigurationsparameter, inklusiv der
übergebenen IP-Adresse.
Server an Client mit dem Hinweis, die von ihm erwünschte Adresse ist nicht korrekt
(z.B.: Client befindet sich im falschen Subnetz oder Lease-Dauer ist abgelaufen).
Client an Server besagt, daß Adresse bereits in Gebrauch ist.
Client an Server: Freigabe der IP-Adresse und Storno der bestehenden Leases.
Client an Server, wenn dieser nur lokale Konfigurationsparameter benötigt und
bereits durch externe Konfiguration eine IP-Adresse zugewiesen bekommen hat.
Liste aller DHCP-Messages
1.
2.
3.
4.
5.
6.
Der Client sendet eine DHCPDISCOVER-Message in sein lokales Subnetz. Diese DHCPDISCOVERMessage kann Optionen enthalten, wie z.B.: vorgeschlagene Werte für eine IP-Adresse und LeaseDauer. Relay Agents routen diese Message an DHCP-Server sowie sich diese nicht im selben Subnetz
befinden.
Jeder Server kann nun mit einer DHCPOFFER-Message (eventuell wieder über einen Relay Agent)
antworten. Diese enthält im ‘yiaddr‘-Feld eine IP-Adresse für den Client, sowie einige andere
Konfigurationsparameter im ‘Optionen‘-Feld. Zu diesem Zeitpunkt müssen die Server diese IP-Adresse
für den Client noch nicht reservieren, können dies aber. Bevor diese Adresse für einen Client reserviert
wird sollten die Server vorher durch einen ICMP Echo Request überprüfen, ob diese Adresse eventuell
bereits vergeben wurde.
Der Client empfängt eine oder mehrere DHCPOFFER-Messages von einem oder mehreren Servern.
Dabei kann der Client auswählen, welche Konfiguration er von welchem Server akzeptiert, basieren auf
der Konfiguration aus der DHCPOFFER-Message. Der Client sendet eine DHCPREQUEST-Message,
welche die 'server identifier'-Option enthalten muß, um anzuzeigen, welchen Server er gewählt hat –
optional sind noch Angaben über erwünschte Konfigurationswerte. Die 'requested IP address' Option
muß auf den Wert des 'yiaddr'-Feld in der DHCPOFFER-Message des Servers gesetzt werden
Die Server empfangen die DHCPREQUEST-Message vom Client. Die Server, die in der DHCPREQUESTMessage des Clients nicht erwähnt werden, sehen diese Message als Hinweis, daß der Client Ihre Offer
abgelehnt haben. Der Server, der in der DHCPREQUEST-Message erwähnt wurde, stellt die Bindung
von Client an die entsprechende IP-Adresse sicher und antwortet mit einer DHCPACK-Message, die die
Konfigurationsparameter für den Client enthält.
Der Client empfängt nun die DHCPACK-Message mit Konfigurationsparameter. Der Client übt nun einen
letzten Check der Parameter aus (z.B.: ARP der zugewiesenen IP-Adresse), und vermerkt die Dauer
der Lease, welche in der DHCPACK-Message übermittelt wurde. Zu diesem Zeitpunkt ist der Client
konfiguriert.. Falls der Client feststellen sollte, daß die IP-Adresse bereits benutzt wird, muß der Client
eine DHCPDECLINE-Message an den Server schicken und den Konfigurationsprozess von vorne
beginnen. Dabei wartet der Client etwa 10 Sekunden, um den Netzwerkverkehr nicht unnötig zu
belasten.
Bei einem Shutdown verzichtet der Client auf den Rest einer Lease, indem er eine DHCPRELEASEMessage an den Server schickt. Der Client identifiziert die Lease auf die verzichtet wird, mit seinem
'client identifier', oder 'chaddr' und der IP-Adresse in der DHCPRELEASE-Message.
Wann sollten Clients DHCP benutzen?
Ein Client sollte DHCP jedesmal dann zur Bestätigung bzw. zur Wiedererlangung seiner IP-Adresse benutzen,
wenn sich lokale Netzwerkparameter geändert haben z.B.: Reboot von Client bzw. Server, nach einer Trennung
des Clients vom Netzwerks oder wenn sich die Netzwerkkonfiguration ohne Wissen des Users oder Clients
grundlegend geändert hat.
Kann der Client mit seiner bisherigen IP-Adresse den lokalen DHCP-Server aufgrund solcher Änderungen nicht
mehr erreichen, so sollte der Client diese bis zum Ablauf der Lease benutzen. Wenn die Lease-Dauer abläuft,
ohne den DHCP-Server bis dahin zu erreichen, muß der Client unmittelbar die Benutzung dieser Konfiguration
beenden und lokale Anwender auf dieses Problem hinweisen.
4 von 5
munz
fte-CISCO
Sicherheitsüberlegungen:
DHCP baut direkt auf UDP und IP auf, welche immer noch als unsicher angesehen werden müssen. Weiter
wurde DHCP entwickelt, um die Wartung von reinen Terminals bzw. entfernten Hosts erheblich zu vereinfachen.
Obwohl es sicherlich nicht unmöglich wäre solche Rechner mit Paßwörtern oder Schlüssel zu sichern, stellt dies
eine eher umständliche Aufgabe dar. Daher muß DHCP ebenfalls als sicherheitskritisches Protokoll angesehen
werden.
VORTEILE
•
•
•
•
•
•
weniger administrativer Auwand als
bei festen IP Adressen
bei eventuellen IP-Adressen
Umstellungen sind diese nur im
DHCP-Server zu ändern
NACHTEILE
•
•
einmalig hoher Aufwand zur
Einrichtung
bei Ausfall des DHCP Servers kein
Netzwerkzugriff aller NWKompoenten möglich (!Daher
zuverlässige Backup-Funktion
einrichten!)
leichte Einbringung temporärer
Rechner in das Netzwerk
Übertragung anderer Parameter
(z.B. Subnet Mask, Default Router,
DNS Server)
ab dem IE 5.5 kann auch das
automatische Konfigurationsscript
für den Proxy-Server übertragen
werden.
Einrichtung von statischen Adressen
ausserdem möglich
5 von 5
munz
Herunterladen