DHCPv4/Server: Unterschied zwischen den Versionen
Erscheinungsbild
	
	
| (99 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| '''{{BASEPAGENAME}}''' - Beschreibung | |||
| = | == Beschreibung == | ||
| ==< | == Installation == | ||
| <syntaxhighlight lang="bash" highlight="1" line copy> | |||
| sudo apt install isc-dhcp-server | |||
| </syntaxhighlight> | |||
| ==< | == Aufruf == | ||
| <syntaxhighlight lang="bash" highlight="1" line copy> | |||
| </syntaxhighlight> | |||
| === Optionen === | |||
| {| class="wikitable sortable options gnu big" | |||
| |- | |||
| ! Unix !! GNU !! Parameter !! Beschreibung | |||
| |- | |||
| | || || ||  | |||
| |- | |||
| |} | |||
| === Parameter === | |||
| === Umgebungsvariablen === | |||
| === Exit-Status === | |||
| {| class="wikitable options col1center big" | |||
| |- | |||
| ! Wert !! Beschreibung | |||
| |- | |||
| | 0 || Erfolg | |||
| |- | |||
| | >0  || Fehler | |||
| |} | |||
| =  | == Anwendung == | ||
| < | ; Dienssteuerung | ||
| Nach der Änderung der Konfiguration muss die dhcpd.conf erneut eingelesen werden | |||
| <syntaxhighlight lang="bash" highlight="1" line copy> | |||
| sudo systemctl restart isc-dhcp-server.service | |||
| </syntaxhighlight> | |||
| =  | === Problembehebung === | ||
| <noinclude> | |||
| == Anhang == | |||
| === Siehe auch === | |||
| <div style="column-count:2"> | |||
| <categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> | |||
| </div> | |||
| ---- | |||
| {{Special:PrefixIndex/{{BASEPAGENAME}}/}} | |||
| === Dokumentation === | |||
| ; Man-Page  | |||
| # [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] | |||
| <!-- | |||
| ; Info-Pages  | |||
| --> | |||
| === Links === | |||
| ==== Projekt ==== | |||
| ==== Weblinks ==== | |||
| # https://de.wikipedia.org/wiki/DHCP | |||
| # https://kb.isc.org/docs/isc-dhcp-41-manual-pages-dhcpdconf | |||
| # https://wiki.ubuntuusers.de/ISC-DHCPD/ | |||
| # https://wiki.debian.org/de/DHCP_Server | |||
| ; Failover | |||
| # https://www.tech-island.com/tutorials/dhcp-failover-linux | |||
| # https://kb.isc.org/docs/aa-00502 | |||
| [[Kategorie:DHCPv4]] | |||
| </noinclude> | |||
| = TMP = | |||
| {{:DHCP/Client}} | |||
| == Fehleranalyse == | |||
|  # cat /var/log/syslog | grep "dhcp" | |||
| ==Konfigurationsdatei== | |||
| /etc/dhcp/dhcpd.conf | |||
|   log-facility local7; |   log-facility local7; | ||
|   subnet 10.2.0.0 netmask 255.255.0.0 { |   subnet 10.2.0.0 netmask 255.255.0.0 { | ||
|  range 10.2.0.10 10.2.0.100; | |||
|  option subnet-mask 255.255.0.0; | |||
|  option domain-name-servers 10.10.0.4; | |||
|  option domain-name "raum102.itw"; | |||
|  option domain-search "raum102.itw"; | |||
|  option routers 10.2.0.1; | |||
|  default-lease-time 600; | |||
|  max-lease-time 7200; | |||
|   } |   } | ||
|   host user { | |||
|   hardware ethernet 00:1d:7d:c8:de:bd; | |||
|   fixed-address 10.2.0.50; | |||
|   option host-name "user"; | |||
|   } | |||
| [[Datei:  | == DORA: (Discover Offer Request ACK) == | ||
| [[Datei:DORA Aufbau.png]] | |||
| # DHCP-DISCOVER: Client sucht per Broadcast nach DHCP-Server | |||
| # DHCP-OFFER: DHCP-Server bietet Client per Unicast Konfigurationsparameter der Schnittstelle an | |||
| # DHCP-REQUEST: Client fordert angebotene Konfigurationsparameter bei DHCP-Server an (beispielsweise Mietanfrage) | |||
| # DHCP-ACK: DHCP-Server sendet Konfigurationsparameter an Client | |||
| * | * DHCP-NAK: Ablehnung einer DHCP-REQUEST-Anforderung durch den DHCP-Server. | ||
| * DHCP-DECLINE: Ablehnung durch den Client, da die IP-Adresse schon verwendet wird. | |||
| * DHCP-RELEASE: Der Client gibt die eigene Konfiguration frei, damit die Parameter wieder für andere Clients zur Verfügung stehen. | |||
| * DHCP-INFORM: Anfrage eines Clients nach weiteren Konfigurationsparametern, beispielsweise weil der Client eine statische IP-Adresse besitzt. | |||
| * DHCP-Refresh (nur bei dynamischer Zuordnung) DHCP-ACK-Nachricht<br> | |||
| =  | == Lease Time == | ||
| * | IP-Adresse,"lease time" und zwei Fristen: Die "Renewal-Time" T1 und die "Rebinding-Time" T2. | ||
| * | * T1 1/2 der Lease-Time | ||
| * | * T2 7/8 der Lease-Time | ||
| *DHCP- | === Beispiel === | ||
| * Lease-Time = 100s => "Renewal-Time" T1 = 50s und "Rebinding-Time" T2 = 87,5s | |||
| * Nach Ablauf T1 versucht der Client, seine Lease-Time zu verlängern. | |||
| * DHCP-REQUESTs per Unicast an bisherigen Server | |||
| * * Erfolgt DHCP-ACK: Client erhält bisherige Konfiguration mit frischer Lease-Time | |||
| * * Erfolgt kein DHCP-ACK: Client nutzt Konfiguration ohne Einschränkungen weiter | |||
| * Nach Ablauf von T2 sendet Client DHCPREQUESTs per Broadcast an irgendeinen anderen DHCP-Server | |||
| * Läuft die Lease-Time ab so verfällt die Konfiguration und Client beginnt erneut mit eunem DHCP-DISCOVER. | |||
| * Sind alle IP-Adressen bereits vergeben, sendet Server ein DHCP-NAK (DHCP-Not Acknowledged). | |||
| =  | == Ablaufverfolgung == | ||
| [ | [[Datei:Wireshark Screenshot.png|900px]] | ||
| [ | |||
| == DHCP-Relay == | |||
| * Ist eine Funktion, um DHCP über Netzwerkgrenzen (Broadcastdomäne) hinaus nutzen zu können | |||
| * Damit wird die Notwendigkeit der Bereitstellung eines DHCP-Servers in jedem Subnetz, in dem sich DHCP-Clients befinden, vermieden | |||
| * Die DHCP-Relay-Funktion wird meist durch den Router selbst erbracht | |||
| * DHCP-Relay ist notwendig, um die Broadcasts weiterzuleiten. Bitte auf alle interfaces Aktivieren. | |||
Aktuelle Version vom 23. Juli 2025, 12:23 Uhr
DHCPv4/Server - Beschreibung
Beschreibung
Installation
sudo apt install isc-dhcp-server
Aufruf
Optionen
| Unix | GNU | Parameter | Beschreibung | 
|---|---|---|---|
Parameter
Umgebungsvariablen
Exit-Status
| Wert | Beschreibung | 
|---|---|
| 0 | Erfolg | 
| >0 | Fehler | 
Anwendung
- Dienssteuerung
Nach der Änderung der Konfiguration muss die dhcpd.conf erneut eingelesen werden
sudo systemctl restart isc-dhcp-server.service
Problembehebung
Anhang
Siehe auch
Dokumentation
- Man-Page
Links
Projekt
Weblinks
- https://de.wikipedia.org/wiki/DHCP
- https://kb.isc.org/docs/isc-dhcp-41-manual-pages-dhcpdconf
- https://wiki.ubuntuusers.de/ISC-DHCPD/
- https://wiki.debian.org/de/DHCP_Server
- Failover
TMP
dhclient - Beschreibung
Beschreibung
Installation
Aufruf
Optionen
| Unix | GNU | Parameter | Beschreibung | 
|---|---|---|---|
Parameter
Umgebungsvariablen
Exit-Status
| Wert | Beschreibung | 
|---|---|
| 0 | Erfolg | 
| >0 | Fehler | 
Anwendung
Konfiguration verwerfen
# dhclient -r
Neue Konfiguration anfordern
# dhclient
DHCP release mit verbose
# dhclient -v -r [sudo] Passwort für user: Killed old client process Internet Systems Consortium DHCP Client 4.4.1 Copyright 2004-2018 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Listening on LPF/enp2s0/74:27:ea:e1:db:32 Sending on LPF/enp2s0/74:27:ea:e1:db:32 Sending on Socket/fallback DHCPRELEASE of 10.20.1.110 on enp2s0 to 10.20.0.1 port 67 (xid=0x1f86c144)
Ausführliche Ausgabe
# dhclient -v Internet Systems Consortium DHCP Client 4.4.1 Copyright 2004-2018 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Listening on LPF/enp2s0/74:27:ea:e1:db:32 Sending on LPF/enp2s0/74:27:ea:e1:db:32 Sending on Socket/fallback DHCPDISCOVER on enp2s0 to 255.255.255.255 port 67 interval 3 (xid=0xac531335) DHCPOFFER of 10.20.1.13 from 10.20.1.1 DHCPREQUEST for 10.20.1.13 on enp2s0 to 255.255.255.255 port 67 (xid=0x351353ac) DHCPACK of 10.20.1.13 from 10.20.1.1 (xid=0xac531335) cmp: EOF on /tmp/tmp.JBuNGXT4Zg which is empty bound to 10.20.1.13 -- renewal in 5933 seconds.
Problembehebung
Konfiguration
Dateien
| Datei | Beschreibung | 
|---|---|
| /etc/dhcp/dhclient.conf | 
- /etc/dhcp/dhclient.conf
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8; send host-name = gethostname(); request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers;
Damit Änderungen bei bereits aktivem Client wirksam werden, muss dieser sie neu anfordern
Fehleranalyse
# cat /var/log/syslog | grep "dhcp"
Konfigurationsdatei
/etc/dhcp/dhcpd.conf
log-facility local7;
subnet 10.2.0.0 netmask 255.255.0.0 {
range 10.2.0.10 10.2.0.100;
option subnet-mask 255.255.0.0;
option domain-name-servers 10.10.0.4;
option domain-name "raum102.itw";
option domain-search "raum102.itw";
option routers 10.2.0.1;
default-lease-time 600;
max-lease-time 7200;
}
host user {
hardware ethernet 00:1d:7d:c8:de:bd;
fixed-address 10.2.0.50;
option host-name "user";
}
DORA: (Discover Offer Request ACK)
- DHCP-DISCOVER: Client sucht per Broadcast nach DHCP-Server
- DHCP-OFFER: DHCP-Server bietet Client per Unicast Konfigurationsparameter der Schnittstelle an
- DHCP-REQUEST: Client fordert angebotene Konfigurationsparameter bei DHCP-Server an (beispielsweise Mietanfrage)
- DHCP-ACK: DHCP-Server sendet Konfigurationsparameter an Client
- DHCP-NAK: Ablehnung einer DHCP-REQUEST-Anforderung durch den DHCP-Server.
- DHCP-DECLINE: Ablehnung durch den Client, da die IP-Adresse schon verwendet wird.
- DHCP-RELEASE: Der Client gibt die eigene Konfiguration frei, damit die Parameter wieder für andere Clients zur Verfügung stehen.
- DHCP-INFORM: Anfrage eines Clients nach weiteren Konfigurationsparametern, beispielsweise weil der Client eine statische IP-Adresse besitzt.
- DHCP-Refresh (nur bei dynamischer Zuordnung) DHCP-ACK-Nachricht
Lease Time
IP-Adresse,"lease time" und zwei Fristen: Die "Renewal-Time" T1 und die "Rebinding-Time" T2.
- T1 1/2 der Lease-Time
- T2 7/8 der Lease-Time
Beispiel
- Lease-Time = 100s => "Renewal-Time" T1 = 50s und "Rebinding-Time" T2 = 87,5s
- Nach Ablauf T1 versucht der Client, seine Lease-Time zu verlängern.
- DHCP-REQUESTs per Unicast an bisherigen Server
- * Erfolgt DHCP-ACK: Client erhält bisherige Konfiguration mit frischer Lease-Time
- * Erfolgt kein DHCP-ACK: Client nutzt Konfiguration ohne Einschränkungen weiter
- Nach Ablauf von T2 sendet Client DHCPREQUESTs per Broadcast an irgendeinen anderen DHCP-Server
- Läuft die Lease-Time ab so verfällt die Konfiguration und Client beginnt erneut mit eunem DHCP-DISCOVER.
- Sind alle IP-Adressen bereits vergeben, sendet Server ein DHCP-NAK (DHCP-Not Acknowledged).
Ablaufverfolgung
DHCP-Relay
- Ist eine Funktion, um DHCP über Netzwerkgrenzen (Broadcastdomäne) hinaus nutzen zu können
- Damit wird die Notwendigkeit der Bereitstellung eines DHCP-Servers in jedem Subnetz, in dem sich DHCP-Clients befinden, vermieden
- Die DHCP-Relay-Funktion wird meist durch den Router selbst erbracht
- DHCP-Relay ist notwendig, um die Broadcasts weiterzuleiten. Bitte auf alle interfaces Aktivieren.

