![]() | Upline: Infos & Dokus
Administration
Linux
DHCP Server unter Debian Linux einrichtenHinweis: Dieses Tutorial wurde im Mai 2006 erstellt, zu diesem Zeitpunkt gab es bereits seit l�ngerem Debian Sarge 3.1, trotzdem basiert diese Anleitung auf der Konfiguration in einem Debian Woody 3.0. �nderungen gegen�ber neueren Debian-Versionen (z.B. Debian Sarge) sollten minimal sein. Bei anderen Linux-Distributionen wie z.B. SuSE oder RedHat muss die Paketinstallation entsprechend angepa�t werden, evtl. k�nnten auch die Pfade zu den conf-Dateien etwas abweichen. Die daraus resultierenden Unterschiede sind nicht in diese Linux DHCP HowTo eingeflossen. Allgemeines �ber DHCPWas ist DHCP und wozu ist es gut?DHCP wird ben�tigt, um Netzwerkger�te (also z.B. die Netzwerkkarte eines Computers) automatisch mit einer IP-Adresse zu versorgen. Heutzutage ist es auch in kleineren (privaten) Netzwerken v�llig normal, einen DHCP-Server zu verwenden, da diese in allen aktuellen DSL-Routern bereits integriert sind. Die in solchen Routern integrierten Server haben meistens nicht den vollen Funktionsumfang, der theoretisch m�glich ist, bieten aber zumindest die wichtigsten Grundeinstellungen. Was diesen Low-Cost-DSL-Routern nahezu immer fehlt, ist die M�glichkeit, einer bestimmten MAC-Adresse eine vordefinierte IP-Adresse zuzuweisen. Einige k�nnen dies allerdings wenigstens f�r WLAN. Zum einen w�re dies f�r die Hersteller ein in 99% der F�lle �berfl�ssiger Mehraufwand und zum anderen kann man leistungsf�higere Hardware somit immer noch gewinnbringender verkaufen ;) Mit einem entsprechend konfigurierten Linux-Rechner ist es jedoch kein Problem, auch diese feste Vergabe bequem per vi einzustellen.Wie funktioniert DHCP?DHCP steht f�r das in der RFC 2131 definierte Dynamic Host Configuration Protocol und ist zu BOOTP r�ckw�rts kompatibel. Um einer Netzwerkkarte per DHCP eine IP-Adresse zuweisen zu k�nnen, muss der Client sich beim Server melden. Zu diesem Zeitpunkt besitzt die Netzwerkkarte allerdings noch keine IP-Adresse. Daher wird die DHCP-Anfrage �ber die Broadcastadresse 255.255.255.255 auf Port 67 ins Netz geschickt und enth�lt die MAC-Adresse der Netzwerkkarte. Alle DHCP-Server, die diesen Broadcast erhalten, k�nnen diesen auswerten und entsprechend ihrer Einstellungen beantworten. Deshalb ist unbedingt darauf zu achten, dass es zu keinerlei Konflikten und �berschneidungen zwischen mehreren Servern kommt! Empf�ngt der zust�ndige DHCP-Server ein DHCP-Request, so antwortet er ebenfalls auf der Broadcast-Adresse, allerdings mit Port 68.Installation und Konfiguration des DHCP-ServersPaketinstallationDie Paketinstallation erfolgt unter Debian wie �blich:apt-get install dhcp3-dev dhcp3-server dhcp3-client dhcp3-commonAlternativ kann man die deb-Pakete nat�rlich auch per Hand herunterladen und mit dpkg -i installieren. Bei anderen Linuxen installiert man die entsprechenden Pakete entweder per Hand aus den zugeh�rigen rpm-Files oder verwendet z.B. bei SuSE den Yast. Anpassung der Konfigurationsdateien/etc/network/interfacesIn der interfaces wird eingestellt, wie die Netzwerkarte(n) ihre IP-Adressen erhalten. Hierzu verwendet man die Schreibweise iface x inet y, wobei f�r x das jeweilige K�rzel (z.B. eth0 f�r die erste Netzwerkarte oder lo f�r das Loopback-Device) verwendet wird. Das y ersetzt man f�r lo durch loopback und f�r die "echten" Netzwerkkarten eth0/eth1/... entweder durch dhcp oder static. Bei der Einstellung dhcp bezieht die Netzwerkkarte ihre IP-Adresse von einem DHCP-Server, bei der Einstellung static wird hingegen anschlie�end eine feste IP-Adresse inkl. aller n�tigen Angaben (Netzmaske, Netzwerkadresse, Broadcastadresse, Gatewayadresse) definiert. Da ein DHCP-Server im Normalfall seine IP-Adresse nicht von einem anderen DHCP-Server bezieht, muss die IP wie im folgenden Beispiel festgelegt werden:auto lo eth0 iface lo inet loopback iface eth0 inet static address 192.168.2.2 netmask 255.255.255.0 network 192.168.2.0 broadcast 192.168.2.255 gateway 192.168.2.1Die Gateway-Adresse gibt hierbei den Router an - �bernimmt der Server selbst die Routingfunktion, so muss dies nat�rlich ber�cksichtigt werden. Als IP-Adresse f�r den DHCP-Server wurde hier die 192.168.2.2 gew�hlt, um Probleme mit evtl. vorhandenen DHCP-Servern (z.B. aus DSL-Routern) mit ihren Standardnetzen 192.168.0.0 und 192.168.1.0 zu vermeiden, weiterhin sollte man die statischen Serveradressen entweder von unten (also z.B. die *.2, weil die *.1 schon vom Router belegt ist) oder von oben (also z.B. *.254) beginnend festlegen. /etc/dhcp3/dhcpd.conf mit dynamischer IP-VergabeIn der Konfigurationsdatei des dhcp-Deamon dhcpd.conf muss folgendes erg�nzt werden:subnet 192.168.2.0 netmask 255.255.255.0 { option domain-name "proteino.local"; option domain-name-servers 192.168.2.2; option routers 192.168.2.1; option broadcast-address 192.168.2.255; option subnet-mask 255.255.255.0; default-lease-time 86400; max-lease-time 604800; range 192.168.2.10 192.168.2.20; }Erkl�rung der einzelnen Parameter:
/etc/dhcp3/dhcpd.conf mit statischer IP-VergabeAls Grundlage dient die dhcpd.conf aus dem vorhergehenden Punkt zur dynamischen IP-Adressvergabe, lediglich die als global gew�nschten Parameter werden hier ausgelagert und weiterhin werden zwei statische IPs vergeben:# globale Werte option domain-name "proteino.local"; option domain-name-servers 192.168.2.2; option routers 192.168.2.1; option broadcast-address 192.168.2.255; option subnet-mask 255.255.255.0; subnet 192.168.2.0 netmask 255.255.255.0 { host barfoo { hardware ethernet 00:20:af:1c:90:1b; fixed-address 192.168.2.8; } host foobar { hardware ethernet 00:20:af:1c:90:1c; fixed-address 192.168.2.9; } range 192.168.2.10 192.168.2.20; }In dieser Beispiel-Konfiguration sieht man bereits sehr sch�n eine kleine Verschachtelung der Klammerung und wie einem host �ber seine MAC-Adresse eine statische IP-Adresse zugewiesen werden kann. Um zus�tzlich zu den statischen IP-Adressen auch einen dynamischen Bereich f�r weitere Netzwerkger�te verwenden zu k�nnen, wird wieder eine range angegeben. Nunmehr sind folgende IP-Adressen (nur letztes Octet von 192.168.2.x) vergeben:
/etc/default/dhcp3-serverIn dieser Datei muss das Netzwerkger�t genannt werden, auf welchem der DHCP-Server l�uft. Nach dem Aufruf von dhcpd3 eth0 sollte dort folgendes stehen:INTERFACES="eth0" Start und Test des DHCP-ServersMit /etc/init.d/dhcp3-server start wird der DHCP3-Server gestartet, falls noch nicht automatisch bei der Installation angelegt, muss man noch manuell die Start- und Stopscriptlinks in die entsprechenden Runlevel-Verzeichnisse packen.Die Funktionalit�t kann man anschlie�end wie folgt testen:
Fehler, Anmerkungen, Kritik?Falls mir irgendwo Fehler unterlaufen sind, bitte ich darum, diese in meinem IT-Forum so genau wie m�glich (evtl. inkl. Berichtigung) zu posten. Danke! |