Das Dynamic Host Configuration Protocol (DHCP) ist ein Netzwerkprotokoll, das es Geräten ermöglicht, automatisch IP-Adressen und andere Netzwerkkonfigurationen von einem zentralen Server zu beziehen. Siehe auch SLAAC für IPv6.
DHCP basiert auf dem Client-Server-Modell. Ein DHCP-Server stellt IP-Adressen und andere Netzwerkkonfigurationen wie Subnetzmasken, Standard-Gateways und DNS-Server bereit. Ein DHCP-Client, normalerweise ein Computer oder ein anderes Netzwerkgerät, fordert diese Konfigurationen an und erhält sie vom Server.
Der DHCP-Prozess besteht aus den folgenden Schritten: Discover, Offer, Request, Acknowlege. (Das DORA Prinzip)
Die vom DHCP-Server zugewiesene IP-Adresse ist normalerweise nur für einen bestimmten Zeitraum gültig, der als „Leasing-Zeit“ bezeichnet wird. Bevor das Leasing abläuft, wird der Client versuchen, das Leasing zu erneuern oder eine neue IP-Adresse anzufordern. Dadurch kann der DHCP-Server IP-Adressen effizient verwalten und sicherstellen, dass sie nicht unnötig belegt werden.
Bei IPv6 benötigt die IP-Konfiguration eigentlich keinen DHCP-Dienst. Dafür gibt es die Stateless Address Autoconfiguration (SLAAC). Mit SLAAC kann sich ein IPv6-Host vollautomatisch konfigurieren und die notwendigen IP-Konfiguration besorgen. In der Praxis sind nicht alle Betriebssysteme dazu in der Lage. So können manche den DNS-Server auf diese Weise nicht entgegennehmen (RDNSS-Option). DHCPv6 ist im Prinzip das einzige Verfahren, welches diese und weitere Angaben innerhalb der IPv6-Autokonfiguration ergänzen kann. Um wie bei IPv4 mit DHCPv4 die gleichen Funktionalitäten für IPv6 zu ermöglichen, wurde DHCPv6 definiert. Siehe SLAAC
DHCP Snooping ist eine Sicherheitsfunktion, die in Netzwerken eingesetzt wird, um vor bestimmten Arten von Angriffen zu schützen, die mit DHCP zusammenhängen.
DHCP Relay (auch bekannt als DHCP Helper) ist eine Netzwerkfunktion, die in bestimmten Szenarien eingesetzt wird, um DHCP-Anforderungen über mehrere IP-Subnetze oder VLANs hinweg zu unterstützen.
Man kann ihn über das APT Tool installieren.
apt-get install isc-dhcp-server
Die Konfiguration des DHCP-Servers geschieht in der Datei /etc/dhcp/dhcp.conf.
authoritative; # Definition des Subnetzes subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.20; # Interface interface eth0 # Lease-Time (in Sekunden) default-lease-time 600; max-lease-time 7200; # Domainname anpassen! option domain-name "domain.local"; option domain-name-servers 192.168.0.1; option broadcast-address 192.168.0.255; option subnet-mask 255.255.255.0; option routers 192.168.0.1; }
DHCP Server sollten IMMER das Statement authoritative innerhalb der globalen Konfigurationsdatei stehen haben, um keine unbekannten DHCP Server im Netz zu dulden. Die Lease Time besagt, wie lange ein durch DHCP vergebene Konfiguration gültig sein soll. Danach wird diese automatisch erneuert.
Möchte man bestimmte IP Adressen für bestimmte Hosts reservieren, kann man die betreffenden Hosts in eigenen Blöcken definieren.
host chef { hardware ethernet 00:00:0e:d2:da:be; fixed-address 192.168.0.2; option host-name "chef"; } host ma1 { hardware ethernet 00:00:0e:d2:da:b3; fixed-address 192.168.0.3; option host-name "ma1"; } host ma2 { hardware ethernet 00:00:0e:d2:da:a1; fixed-address 192.168.0.4; option host-name "ma2"; }
Aufgrund der Tatsache, das man Hardware Adressen fälschen kann ist DHCP keine sichere Methode, ein Gerät zu authentifizieren. Server sollten immer eine feste, statische IP Adresse eingetragen haben.