<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\chapter{DHCP Server (ISC-DHCPD 3)} 
\emph{Version 1.2.1 - Stand 01.02.2007\\ 
(c) Maximilian Pasternak  &lt;max(at)eisfair(dot)org&gt;} 



\section{Abstract}

Das DHCP (Dynamic Host Configuration Protocol) wird zur automatisierung
der Konfiguration von Computern in TCP/IP Netzwerken genutzt. DHCP kann
dabei die IP Adressen automatisch vergeben, TCP/IP Stack Konfigurationen
wie die Subnet-Mask und den Default Router übergeben und andere Konfigurationen
wie Adressen der Drucker-, Zeit- oder Newsserver verteilen.\\
(Übersetzt von www.dhcp.org)

Dieses Paket enthält den Daemon (=Server) zur vergabe von IP Adressen
in lokalen und entfernten Netzwerken.

Dieses Paket enthält:

\begin{itemize}
    \item ISC DHCP Server 3.0.6    ---  http://www.isc.org/sw/dhcp/
    \item mknbi 1.4.4              ---  http://sourceforge.net/projects/etherboot/
    \item pxelinux 3.53            ---  http://syslinux.zytor.com/index.php
\end{itemize}
    

Leistungsmerkmale des Pakets:

\begin{itemize}
    \item Vergabe von dynamischen und statischen IP Adressen
    \item Wins Unterstützung
    \item Vergabe von IP Adressen an entfernte Netzwerke über einen DHCP Relay Router
    \item Fertig konfigurierte Verbindung zum Nameserver BIND9 für Nameserver aktualisierungen (DDNS)
    \item Unterstützung von Netzwerk-Boot für discless Clients (Etherboot und PXE)
\end{itemize}



\section{Der DHCP Server dhcpd}

Der DHCP Server vergibt IP Adressen in lokale Netzwerken. Dafür gibt es einen
Pool von Adressen, die vergeben werden dürfen. Zudem bestimmt der Server eine
Zeitspanne, für die die vergebenen Adressen gültig sind. Nach dieser Zeit
muss der Client die Adresse erneuern. Im Normalfall bekommt der Client die
selbe Adresse erneut, aber darauf kann man sich nicht verlassen.

Zusätzlich zur IP Adresse sendet der Server Informationen über das
Standard Gateway und den Nameserver. Daher müssen diese Werte nicht
am Desktop PC eingegeben werden, solange das am DHCP Server korrekt
konfiguriert wurde. Unter Windows muss eine Option wie ``IP-Adresse automatisch
beziehen´´ gewählt werden. Leider unterscheidet sich hier die Konfiguration
von Version zu Version.

Zusätzlich zu normalen dynamischen IP Adressen hat der Server eine Funktion
um einem Client immer die selbe IP Adresse zuzuweisen. ``So ein Unfug´´~--- 
werden nun viele denken, dber es gibt dafür gute Gründe. So müssen
nicht sämtliche Client PCs neu konfiguriert werden, falls sich etwas
in der Netzwerkkonfiguration geändert hat (z.B. die Adresse des Standard
Gateways oder der Nameserver.



\section{Konfiguration}

Die Konfiguration kann über den Menüpunkt ``Edit Configuration´´ geändert
werden. Nach dem beenden des Editors wird diese dann geprüft. Sofern
ein Fehler aufgetreten ist sollten Sie diesen dann beheben.



\subsection{Allgemeine Einstellungen [General settings]}

\begin{description}

\config{START\_DHCPD}{START\_DHCPD}{STARTDHCPD} 
{
Setzen Sie diesen wert auf 'yes' um den DHCP Server zu aktivieren und
IP Adressen zu vergeben.

Gültige Werte: \emph{yes,no}
}


\config{DHCPD\_WINSSERVER}{DHCPD\_WINSSERVER}{DHCPDWINSSERVER}
{
Hier kann die Adresse eines oder mehrerer Wins-Server angegeben
werden. Diese Option kann nicht gemeinsam mit SAMBA verwendet werden!

Default:  \emph{DHCPD\_WINSSERVER=''}
}

\end{description}



\subsection{Dynamische IP Bereiche [Dynamic IP Ranges]}

\begin{description}

\config{DHCPD\_NIC\_N}{DHCPD\_NIC\_N}{DHCPDNICN}
{
Hier wird die Anzahl der Netzwerkkarten angegeben, über die IP Adressen
mit DHCP vergeben werden sollen.

Default:  \emph{DHCPD\_NIC\_N='1'}
}


\config{DHCPD\_NIC\_x\_ACTIVE}{DHCPD\_NIC\_x\_ACTIVE}{DHCPDNICxACTIVE}
{
Hier kann für eine einzelne Netzwerkkarte die Verteilung der IP Adressen
deaktiviert ('no') werden.

Default:  \emph{DHCPD\_NIC\_1\_ACTIVE='yes'}
}


\config{DHCPD\_NIC\_x\_DEVICE}{DHCPD\_NIC\_x\_DEVICE}{DHCPDNICxDEVICE}
{
Hier muss die Netzwerkkarte angegeben werden, über die der Server
IP Adressen vergeben soll. Hier darf keine Netzwerkkarte angegeben
werden, die zur Verbindung mit dem Internet Provider dient oder
mit einem LAN verbunden ist, in dem es einen anderen DHCP Server
(z.B. einen fli4l mit DHCP) gibt. 

Default:  \emph{DHCPD\_NIC\_1\_DEVICE='eth0'}
}


\config{DHCPD\_NIC\_x\_RANGE}{DHCPD\_NIC\_x\_RANGE}{DHCPDNICxRANGE}
{
Für jede in DHCPD\_NIC\_\%\_DEVICE konfigurierte Netzwerkkarte muss
hier ein Bereich von IP Adressen angegeben werden, die der
Server vergeben darf. Achtung! Hier dürfen keine IP Adressen
angegeben werden, die einem Client fest zugeteilt sind oder
die Gateways oder andere Server nutzen.

Default:  \emph{DHCPD\_NIC\_1\_RANGE='192.168.1.100 192.168.1.150'}
}

\end{description}



\subsection{PXE Menü [PXE Menu]}

\begin{description}

\config{DHCPD\_PXE\_N}{DHCPD\_PXE\_N}{DHCPDPXEN}
{
Hier wird die Anzahl der Einträge im PXE-Bootmenü angegeben.
Das PXE-Bootmenü wird für Clients mit dynamischen IP-Adressen
verwendet.

Default:  \emph{DHCPD\_PXE\_N='1'}
}


\config{DHCPD\_PXE\_x\_NAME}{DHCPD\_PXE\_x\_NAME}{DHCPDPXExNAME}
{
Hier wird der Name der PXE Konfiguration angegeben.

Default:  \emph{DHCPD\_PXE\_1\_NAME='fli4l'}
}


\config{DHCPD\_PXE\_x\_ACTIVE}{DHCPD\_PXE\_x\_ACTIVE}{DHCPDPXExACTIVE}
{
Hier kann eine PXE-Konfiguration deaktiviert ('no') werden.
Um eine Konfiguration zu verwenden, muss diese Variable auf 'yes'
gesetzt werden.

Default:  \emph{DHCPD\_PXE\_1\_ACTIVE='no'}
}


\config{DHCPD\_PXE\_x\_DESCRIPTION}{DHCPD\_PXE\_x\_DESCRIPTION}{DHCPDPXExDESCRIPTION}
{
Hier wird der beschreibende Text für die Anzeige im PXE-Bootmenü
eingegeben.

Default:  \emph{DHCPD\_PXE\_1\_DESCRIPTION='fli4l (router)'}
}


\config{DHCPD\_PXE\_x\_KERNEL}{DHCPD\_PXE\_x\_KERNEL}{DHCPDPXExKERNEL}
{
Hier wird der für PXE zu verwendende Kernel angegeben.

Hier wird der Pfad des Kernel relativ zum Verzeichnis {\tt /tftpboot}
angegeben. Zur Übertragung des Kernel wird pxelinux verwendet, die
Konfiguration von pxelinux wird automatisch erstellt.

Um von der lokalen Festplatte oder Diskette zu booten, muss diese
Option leer gelassen werden.

Default:  \emph{DHCPD\_PXE\_1\_KERNEL='fli4l/kernel'}
}


\config{DHCPD\_PXE\_x\_INITRD}{DHCPD\_PXE\_x\_INITRD}{DHCPDPXExINITRD}
{
Hier wird der Name der zu DHCPD\_PXE\_x\_KERNEL gehörigen
initrd angegeben. Hier muss der Pfad relativ zu {\tt /tftpboot}
angegeben werden.

Default:  \emph{DHCPD\_PXE\_1\_INITRD='fli4l/rootfs.img'}
}


\config{DHCPD\_PXE\_x\_ROOT}{DHCPD\_PXE\_x\_ROOT}{DHCPDPXExROOT}
{
Hier wird der Name des zu DHCPD\_PXE\_x\_KERNEL gehörigen
rootfs angegeben. Hier muss der Pfad relativ zu {\tt /tftpboot}
angegeben werden.

Default:  \emph{DHCPD\_PXE\_1\_ROOT='/dev/tmpfs'}
}


\config{DHCPD\_PXE\_x\_APPEND}{DHCPD\_PXE\_x\_APPEND}{DHCPDPXExAPPEND}
{
Diese Option dient zur Angabe weiterer Optionen bei der Verwendung
von pxelinux.

Default:  \emph{DHCPD\_PXE\_1\_APPEND=''}
}


\end{description}



\subsection{Statische IP Adressen [Static IP Adresses]}

\begin{description}

\config{DHCPD\_CLIENT\_N}{DHCPD\_CLIENT\_N}{DHCPDCLIENTN}
{
Hier wird die Anzahl der festen IP Adressen angegeben, die
per DHCP zugeteilt werden sollen. Dies ist eine spezielle
verteilung von IP Adressen, die auf Basis der Hardware Adresse
der Netzwerkkarte des Clients geschieht. Daher müssen Sie
die Hardware Adresse der Netzwerkkarte ermitteln (Ethernet
Karten habe eine Adresse der Form 00:10:A4:0B:4D:36).
Die Adresse kann mittels winipcfg unter Windows 95/98/Me,
``ipconfig -all´´ unter Windows NT/2000/XP und ifconfig unter Linux
ausgelesen werden.

Default:  \emph{DHCPD\_CLIENT\_N='2'}
}


\config{DHCPD\_CLIENT\_x\_NAME}{DHCPD\_CLIENT\_x\_NAME}{DHCPDCLIENTxNAME}
{
Hier wird der Hostname des Clients angegeben, dem eine feste
Adresse zugeteilt werden soll. Wenn diese Feld leergelassen
wird, wird der Hostname automatisch generiert.

Default:  \emph{DHCPD\_CLIENT\_1\_NAME='fixed-ip-1'}
}


\config{DHCPD\_CLIENT\_x\_ACTIVE}{DHCPD\_CLIENT\_x\_ACTIVE}{DHCPDCLIENTxACTIVE}
{
Hier kann ein einzelner Client deaktiviert ('no') werden.
Um einen Client zu verwenden, muss diese Variable auf 'yes'
gesetzt werden.

Default:  \emph{DHCPD\_CLIENT\_1\_ACTIVE='no'}
}


\config{DHCPD\_CLIENT\_x\_MAC}{DHCPD\_CLIENT\_x\_MAC}{DHCPDCLIENTxMAC}
{
Hier wird die Hardware Adresse der Netzwerkkarte angegeben.

Default:  \emph{DHCPD\_CLIENT\_1\_MAC='00:01:02:03:04:06:07'}
}


\config{DHCPD\_CLIENT\_x\_IP}{DHCPD\_CLIENT\_x\_IP}{DHCPDCLIENTxIP}
{
Dieser Eintrag enthält die IP Adresse zur korrespondierenden
DHCPD\_CLIENT\_\%\_MAC. Achtung: hier darf keine Adresse aus dem
in DHCPD\_NIC\_%\_RANGE angegebenen Bereich verwendet werden!

Default:  \emph{DHCPD\_CLIENT\_1\_IP='192.168.1.2'}
}


\config{DHCPD\_CLIENT\_x\_PXE\_KERNEL}{DHCPD\_CLIENT\_x\_PXE\_KERNEL}{DHCPDCLIENTxPXEKERNEL}
{
Wenn Discless Clients (PCs ohne eingebaute Festplatte) zum
Einsatz kommen sollen, kann mit dieser Option der Kernel angegeben
werden, der dem Client übermittelt werden soll.

Der Kernel muss im Verzeichnis /tftpboot/{\it DHCPD\_CLIENT\_x\_NAME}
abgelegt sein und den hier angegebenen Namen bekommen. Zur
Übertragung des Kernel wird pxelinux verwendet, die Konfiguration
von pxelinux wird automatisch erstellt.

Um von der lokalen Festplatte oder Diskette zu booten, muss diese
Option leer gelassen werden.

Default:  \emph{DHCPD\_CLIENT\_1\_PXE\_KERNEL=''}
}


\config{DHCPD\_CLIENT\_x\_PXE\_INITRD}{DHCPD\_CLIENT\_x\_PXE\_INITRD}{DHCPDCLIENTxPXEINITRD}
{
Hier wird der Name der zu DHCPD\_CLIENT\_x\_PXE\_KERNEL gehörigen
initrd angegeben. Diese muss im selben Verzeichnis wie der
Kernel liegen.

Default:  \emph{DHCPD\_CLIENT\_1\_PXE\_INITRD=''}
}


\config{DHCPD\_CLIENT\_x\_PXE\_ROOT}{DHCPD\_CLIENT\_x\_PXE\_ROOT}{DHCPDCLIENTxPXEROOT}
{
Hier wird der Name des zu DHCPD\_CLIENT\_x\_PXE\_KERNEL gehörigen
rootfs angegeben. Dieses muss im selben Verzeichnis wie der
Kernel liegen.

Default:  \emph{DHCPD\_CLIENT\_1\_PXE\_ROOT=''}
}


\config{DHCPD\_CLIENT\_x\_PXE\_APPEND}{DHCPD\_CLIENT\_x\_PXE\_APPEND}{DHCPDCLIENTxPXEAPPEND}
{
Diese Option dient zur Angabe weiterer Optionen bei der Verwendung
von pxelinux.

Beispiel: \emph{DHCPD\_CLIENT\_1\_PXE\_APPEND='root=/dev/tmpfs'}

Default:  \emph{DHCPD\_CLIENT\_1\_PXE\_APPEND=''}
}


\config{DHCPD\_CLIENT\_x\_NETBOOT}{DHCPD\_CLIENT\_x\_NETBOOT}{DHCPDCLIENTxNETBOOT}
{
Wenn Discless Clients (PCs ohne eingebaute Festplatte) zum
Einsatz kommen sollen, kann mit dieser Option das Image angegeben
werden, das dem Client übermittelt werden soll.

Alle Images müssen in /tftpboot abgelegt sein und der hier
angegebene Dateiname darf das führende /tftpboot nicht
enthalten (z.B. DHCPD\_CLIENT\_3\_NETBOOT='3c90x.zpxe' für 
/tftpboot/3c90x.zpxe).

Es kann hier entweder ein PXE Image oder ein Etherboot Image angegeben
werden.

Für den Einsatz von pxelinux über die Optionen DHCPD\_CLIENT\_x\_PXE\_KERNEL
usw. sollte diese Option leer bleiben. Durch die Angabe von 'yes'
wird pxelinux.0 verwendet.

Default:  \emph{DHCPD\_CLIENT\_1\_NETBOOT=''}
}

\end{description}



\subsection{Entfernte Netzwerke [Remote Networks]}

\begin{description}

\config{DHCPD\_EXTRA\_N}{DHCPD\_EXTRA\_N}{DHCPDEXTRAN}
{
Hier wird die Anzahl der entfernten Netzwerke angegeben, an
die der Server IP Adressen über ein DHCP Relay vergeben soll.

Default:  \emph{DHCPD\_EXTRA\_N='0'}
}


\config{DHCPD\_EXTRA\_x\_ACTIVE}{DHCPD\_EXTRA\_x\_ACTIVE}{DHCPDEXTRAxACTIVE}
{
Hier kann für ein einzelnes entferntes Netzwerk die Vergabe von IP Adressen
deaktiviert ('no') werden.

Default:  \emph{DHCPD\_EXTRA\_1\_ACTIVE='no'}
}


\config{DHCPD\_EXTRA\_x\_RANGE}{DHCPD\_EXTRA\_x\_RANGE}{DHCPDEXTRAxRANGE}
{
Hier werden die zusätzlichen IP Bereiche angegeben, die von
diesem DHCP Server verwaltet werden. Im Gegensatz zu DHCPD\_NIC\_%\_RANGE
sind diese Netzwerke nicht direkt an diesen Server angeschlossen.
Der Router zu diesem Netzwerk muss den DHCP--RELAY Service anbieten.

Default:  \emph{DHCPD\_EXTRA\_1\_RANGE='192.168.6.100 192.168.6.150'}
}


\config{DHCPD\_EXTRA\_x\_NETMASK}{DHCPD\_EXTRA\_x\_NETMASK}{DHCPDEXTRAxNETMASK}
{
Netzmaske für das entfernte Netzwerk.

Default:  \emph{DHCPD\_EXTRA\_1\_NETMASK='255.255.255.0'}
}


\config{DHCPD\_EXTRA\_x\_DNS\_SERVER}{DHCPD\_EXTRA\_x\_DNS\_SERVER}{DHCPDEXTRAxDNSSERVER}
{
DNS--Server für das entfernte Netzwerk.

Default:  \emph{DHCPD\_EXTRA\_1\_DNS\_SERVER='192.168.6.1'}
}


\config{DHCPD\_EXTRA\_x\_GATEWAY}{DHCPD\_EXTRA\_x\_GATEWAY}{DHCPDEXTRAxGATEWAY}
{
Default Route das entfernte Netzwerk.

Default:  \emph{DHCPD\_EXTRA\_1\_GATEWAY='192.168.6.1'}
}


\end{description}



\section{Administration} 

Zur Administration des DHCP Servers gibt es ein Untermenü im Setup.
Dort kann die Konfiguration bearbeitet werden (Edit Configuration)
oder der Status des Servers angezeit werden bzw. dieser gestartet
oder gestoppt werden.

Der Server kann von der Kommandozeile aus mit dem Script in /etc/init.d
gesteuert werden:

\begin{verbatim}

      /etc/init.d/dhcpd start|stop|status|restart

\end{verbatim}
~\\
~\\

</pre></body></html>