DHCP-Service
Allgemeines
Das Dynamic Host Configuration Protocol (DHCP) ermöglicht es die Netzwerkkonfiguration von Rechnern zentral von einem Server aus durchzuführen. Neben der IP-Adresse erhält ein DHCP-Client zusätzlich noch eine ganze Reihe anderer Parameter zugewiesen, wie z.B. Subnetzmaske, Gatewayadresse, IP-Adressen der DNS-Server usw. Die vom DHCP-Server vergebenen IP-Adressen haben dabei eine begrenzte Gültigkeitsdauer, die sog. "Lease Time". Meldet sich der Client innerhalb dieser Zeitspanne nicht erneut beim DHCP-Server, wird die IP-Adresse wieder freigegeben. Gegenüber einer manuellen Konfiguration bietet DHCP daher folgende Vorteile:
Wesentlich geringerer Konfigurationsaufwand, da die verschiedenen Netzwerkparameter nur einmal, d.h. auf dem DHCP-Server, eingetragen werden müssen.
Optimale Ausnutzung der IP-Adressen, weil nur so viele Adressen zur Verfügung stehen müssen, wie Rechner gleichzeitig aktiv sind.
Bei einem Standortwechsel wird die Konfiguration automatisch angepasst.
DHCP-Dienst am LRZ
Damit nicht jeder Lehrstuhl seinen eigenen DHCP-Server betreiben muss, bietet das LRZ diesen Dienst zentral für das Münchner Wissenschaftsnetz (MWN) an.
Der DHCP-Dienst am LRZ wird durch mehrere Server erbracht, die räumlich verteilt im MWN installiert sind. Auf diese Weise wird eine höchstmögliche Verfügbarkeit des Dienstes garantiert, selbst bei einem Netzausfall eines ganzen Campusbereichs. Jedes Netz wird duch ein Paar von DHCP-Servern bedient (Failover-Peers).
Dynamische DNS-Updates
Wird eine IP-Adresse neu vergeben, so trägt der entsprechende DHCP-Server den Rechner in eine Zone im DNS ein. Wenn die IP-Adresse wieder freigegeben wird, weil die Gültigkeitsdauer abläuft oder der Client sie explizit freigibt, so wird der DNS-Eintrag wieder gelöscht. Dieses Verfahren ermöglicht es, dass ein Rechner innerhalb eines Netzes auch ohne statische IP-Adresse immer unter demselben Namen ansprechbar ist.
Für dynamische DNS-Updates wird eine Zone benötigt. Um Konflikte mit anderen DNS-Einträgen zu vermeiden, wird empfohlen für die dynamischen DNS-Updates eine eigene Zone einzurichten.
Statische Adressvergabe
Normalerweise werden IP-Adressen durch den DHCP-Server dynamisch vergeben, d.h. die Adressen werden zufällig aus einem Pool ausgewählt und der MAC-Adresse des anfragenden Clients zugeordnet. Der Netzverantwortliche kann dem LRZ auch über eine CSV-Datei statische DHCP-Einträge übermitteln, die einer spezifischen Client-MAC-Adresse eine feste IPv4-Adresse, einen Hostnamen und/oder auch eine Konfigurationsgruppe zuweisen.
Statisch in der CSV-Datei festgelegte IP-Adressen müssen außerhalb des mit dem LRZ vereinbarten dynamischen Adressbereichs (dynamischen Pools) liegen. Technisch gesehen handelt es sich nur um eine statische Antwort, nicht jedoch um eine Reservierung. Die IP-Adresse würde daher im dynamischen Pool nicht als belegt markiert und früher oder später an einen dynamischen Client vergeben werden, was zu einem IP-Adresskonflikt führt.
Optional kann auch in einem Subnetz komplett auf einen dynamischen Pool verzichtet werden. MAC-Adressen, die nicht im CSV gelistet sind, erhalten dann keine Antwort vom DHCP-Server. Dies ist jedoch kein vollständiger Sicherheitsmechanismus, siehe unten!
Für die Konfiguration der statischen Adressen wird am LRZ eine csv-Tabelle (Komma als Spaltenseparator!) verwendet, eine Beispiel-Tabelle findet sich hier: beispiel-host-tabelle.csv.
hostname,ip-address,mac-address,ddns-domain,group # kommentar test1,192.168.0.1,FE:54:00:81:20:95,dhcp1.example.com,pxe test2,192.168.0.2,FE:54:00:81:20:96,dhcp2.example.com, test3,192.168.0.3,FE:54:00:81:20:97, test4,,FE:54:00:81:20:97,,pxe-uefi
Die Spalte "ddns-domain" kann leer bleiben (sollte aber vorhanden sein), dort kann, falls dynamische DNS-Updates für den Host gewünscht sind, eine vorher eingerichtete DDNS-Zone stehen. DDNS über statische DHCP-Hosts weniger zuverlässig, als die Hosts von Hand im DNS einzutragen und wird nur empfohlen, wo ein (ggf. kurzzeitig) falscher DNS-Name nicht kritisch ist.
Es können mehrere Netze über eine Datei verwaltet werden. Empfehlenswert ist eine Datei pro DDNS-Domain, da für jede Datei ein Hostnamen-Konsistenzcheck gemacht wird und innerhalb einer DDNS-Domain die Hostnamen unterschiedlich sein müssen.
Die Spalte "group" kann auch leer bleiben, hier kann dem Host über einen Gruppennamen besondere Konfiguration (z.B. pxe-boot-Parameter) zugewiesen werden. Die Gruppenkonfiguration muss über den Servicedesk festgelegt werden.
Für die Übermittlung der csv-Tabelle bietet das LRZ zwei Wege an. Sie kann vom Netzverantwortlichen
- auf einem Webserver hinterlegt und vom LRZ automatisch abgerufen werden. Ein Passwortschutz der Tabelle ist nicht notwendig, aber empfohlen. Alternativ kann auch eine zufällige URL verwendet werden.
- der eingetragene Kontakt erhält bei Fehlern eine Benachrichtigung per Mail und muss diese zeitnah beheben
- präferiert: auf dem LRZ-GitLab-Server (bitte gitlab-ce.lrz.de verwenden) hinterlegt werden
Nutzung des LRZ-Gitlab-Servers (präferierte Lösung)
Zur Bereitstellung der CSV-Datei bietet sich der LRZ-Gitlab-CE-Server an. Der Abruf der CSV-Datei erfolgt dabei unter Nutzung einer Funktionskennung, die auch direkt auf ein sonst zugangsbeschränktes Projekt berechtigt werden kann. Dazu navigieren Sie im Projekt unter Members und tragen Sie den Nutzer lrz-dhcp-puller mit mindestens der Rolle "Reporter" ein.
Eine Nutzung eines fremden Gitlab-Servers ist zur Zeit nicht möglich.
Keine Netz-Zugangskontrolle über MAC-Adressen und DHCP
Immer wieder erreicht uns die Anfrage, ob das LRZ eine Netz-Zugangskontrolle über auf dem DHCP-Server eingetragene MAC-Adressen anbietet. Aus folgenden Gründen wird das nicht angeboten:
- Eine MAC-Adresse ist leicht fälschbar
- Ein Netz-Zugang ist auch problemlos ohne DHCP möglich, d.h. man muss keine eingetragene MAC-Adresse herausfinden
- Für IPv6 erfolgt die Adresszuweisung nicht per DHCP
Über den Umweg der statischen IP-Adressvergabe lässt sich der DHCP-Dienst, ausreichend Adressen vorausgesetzt, trotzdem auf MAC-Adressen einschränken.
PXE-Boot
Falls Rechner über das Netz booten sollen, beispielsweise zur Installation, kann für jedes Netz eine PXE-Boot-Konfiguration vorgenommen werden. Üblicherweise wird dafür die IP-Adresse des Boot- bzw. TFTP-Servers und der Pfad zum Bootimage benötigt.
Anzeige der vergebenen IP-Adressen
Über das Nessi-Portal können Netzverantwortliche für die eigenen Netze die Liste der vergebenen IP-Adressen (Leases) einsehen.
IPv6
Die IPv6-Adressvergabe im MWN durch das LRZ erfolgt über "Stateless Address Autoconfiguration", ohne die Mitwirkung eines DHCP-Servers. Für weitere Konfigurations-Parameter wird im MWN "Stateless DHCPv6" angeboten. In der Standardkonfiguration werden Nameserver und NTP-Server übermittelt, weitere Parameter sind möglich.
Kontakt
Wenn Sie Interesse an der Nutzung des DHCP-Dienstes, oder Fragen haben, geben Sie bitte Ihre Anfrage über das Servicedesk-Portal ein.