DHCP: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
= Dynamic Host Configuration Protocol =
+
=Allgemein=
 +
*[[DHCP Grundlagen]]
 +
=Sicherheitsaspekte=
 +
*[[DHCP Sicherheitsaspekte]]
 +
= Anwendung =
 +
* [[ISC DHCP]]
 +
* [[:Kategorie:Kea|Kea DHCP]]
 +
* [[Windows DHCP-Server]]
 +
[[Datei:Dhcp-123.png]]
  
* Beim Booten kennt der Rechner nur die MAC-Adresse seiner Netzwerkkarte.
+
[[Kategorie:DHCP]]
* Über das '''D'''ynamic '''H'''ost '''C'''onfiguration '''P'''rotocol (DHCP) wird einem Client-Rechner alle nötigen Netzwerkparameter übermittelt.
 
* DHCP dient damit der automatischen Zuteilung von Netzwerkinformationen in lokalen TCP/IP-Netzen.
 
* Zu diesen Informationen gehören normalerweise: IP-Adresse, Domainname, Gateway und DNS-Server.
 
* Stellt eine Erweiterung zum '''Boot'''strap '''P'''rotocol (BOOTP) dar.
 
 
 
= Ablauf =
 
 
 
* Mit der MAC-Adresse sendet der Rechner eine Rundfrage (Broadcast) ins Netz mit der Bitte, ihm eine Netzwerkkonfiguration mitzuteilen.
 
* Der DHCP-Server wartet auf solche Rundfragen und teilt dem anfragenden Rechner die entsprechenden Daten mit.
 
* Außerdem speichert der Server sowohl die MAC-Adresse des Clients als auch die ihm zugeteilte IP-Adresse in einer Datei. (standardmäßig unter ''/var/lib/dhcp/dhcp.leases'')
 
* Diese IP-Adresse wird für eine bestimmte Laufzeit (Lease Time) für diesen Client reserviert.
 
* Nach einiger Zeit versucht der Client, seine Adresse beim Server zu erneuern (renewing).
 
* Gelingt ihm dies nicht, so fragt er etwas später alle Server nach seiner Adresse (rebinding).
 
 
 
{{#drawio:dhcp-1}}
 
 
 
= DHCP-Nachrichten =
 
 
 
* DHCP'''DISCOVER''': Ein Client ohne IP-Adresse sendet eine Broadcast-Anfrage nach Adress-Angeboten an alle DHCP-Server im lokalen Netz.
 
* DHCP'''OFFER''': Die DHCP-Server antworten mit entsprechenden Werten auf eine DHCP'''DISCOVER'''-Anfrage.
 
* DHCP'''REQUEST''': Der Client fordert eine der angebotenen IP-Adressen und weitere Daten sowie Verlängerung der Lease-Zeit vom DHCP-Server an.
 
* DHCP'''ACK''': Bestätigung des DHCP-Servers zu einer DHCP'''REQUEST'''-Anforderung oder die Übermittlung von Konfigurationsparametern, die vorher durch DHCP'''INFORM''' vom Client angefordert wurden.
 
* 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, z.B. weil der Client eine statische IP-Adresse besitzt.
 
 
 
= Einrichten eines DHCP-Servers auf Debian =
 
 
 
== Installation ==
 
 
 
* '''apt install isc-dhcp-server'''
 
 
 
== Konfiguration der aktiven Netzwerkkarten ==
 
 
 
* Zusätzlich wird hier die zu benutzende Daemon-Konfiguration angegeben
 
* '''vim /etc/default/isc-dhcp-server'''
 
 
 
DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
 
INTERFACESv4="''interface_1'' ''interface_2''"
 
 
 
== Konfiguration der zu vergebenden Netzwerkparameter ==
 
 
 
* '''vim /etc/dhcp/dhcpd.conf'''
 
 
 
option domain-name "lab100.it";
 
option domain-name-servers 10.0.100.254;
 
default-lease-time 600;
 
max-lease-time 7200;
 
authoritative;
 
 
# Subnet der ersten angegeben Netzwerkkarte
 
subnet 10.0.100.0 netmask 255.255.255.0 {
 
    range 10.0.100.50 10.0.100.100;
 
    option routers 10.0.100.1;
 
}
 
 
# Subnet der zweiten angegeben Netzwerkkarte
 
subnet 192.168.0.0 netmask 255.255.255.0 {
 
    range 192.168.0.50 192.168.0.100;
 
    option routers 192.168.0.1;
 
}
 
 
# Feste IP-Adresse für eine bestimmte MAC-Adresse
 
host controller {
 
    hardware ethernet fe:fe:fe:fe:fe:fe;
 
    fixed-address 192.168.0.2;
 
    option routers 192.168.0.1;
 
}
 
* Dienst mit der neuen Konfiguration starten und überprüfen
 
* '''systemctl restart isc-dhcp-server'''
 
* '''systemctl status isc-dhcp-server'''
 
 
 
= Logs =
 
 
 
* '''tail -f -n 100 /var/log/syslog | grep dhcp'''
 
 
 
Apr 20 09:20:42 fw dhcpd[3217]: DHCPREQUEST for 10.0.100.51 (10.0.100.1) from be:98:60:d1:af:88 via ens19: wrong network.
 
Apr 20 09:20:42 fw dhcpd[3217]: DHCPNAK on 10.0.100.51 to be:98:60:d1:af:88 via ens19
 
Apr 20 09:20:43 fw dhcpd[3217]: reuse_lease: lease age 1 (secs) under 25% threshold, reply with unaltered, existing lease for 10.0.10.50
 
Apr 20 09:20:43 fw dhcpd[3217]: DHCPDISCOVER from be:98:60:d1:af:88 (archiso) via ens19
 
Apr 20 09:20:43 fw dhcpd[3217]: DHCPOFFER on 10.0.10.50 to be:98:60:d1:af:88 (archiso) via ens19
 
Apr 20 09:20:43 fw dhcpd[3217]: reuse_lease: lease age 1 (secs) under 25% threshold, reply with unaltered, existing lease for 10.0.10.50
 
Apr 20 09:20:43 fw dhcpd[3217]: DHCPREQUEST for 10.0.10.50 (10.0.10.1) from be:98:60:d1:af:88 (archiso) via ens19
 
Apr 20 09:20:43 fw dhcpd[3217]: DHCPACK on 10.0.10.50 to be:98:60:d1:af:88 (archiso) via ens19
 
Apr 20 09:22:27 fw dhcpd[3217]: DHCPDISCOVER from fe:fe:fe:fe:fe:fe via ens20
 
Apr 20 09:22:27 fw dhcpd[3217]: DHCPOFFER on 192.168.0.2 to fe:fe:fe:fe:fe:fe via ens20
 
Apr 20 09:22:27 fw dhcpd[3217]: DHCPREQUEST for 192.168.0.2 (192.168.0.1) from fe:fe:fe:fe:fe:fe via ens20
 
Apr 20 09:22:27 fw dhcpd[3217]: DHCPACK on 192.168.0.2 to fe:fe:fe:fe:fe:fe via ens20
 
Apr 20 09:23:41 fw dhcpd[3217]: DHCPDISCOVER from 76:54:06:7a:bd:48 via ens20
 
Apr 20 09:23:42 fw dhcpd[3217]: DHCPOFFER on 192.168.0.50 to 76:54:06:7a:bd:48 (archiso) via ens20
 
Apr 20 09:23:42 fw dhcpd[3217]: uid lease 192.168.0.50 for client 76:54:06:7a:bd:48 is duplicate on 192.168.0.0/24
 
Apr 20 09:23:42 fw dhcpd[3217]: DHCPREQUEST for 192.168.0.53 (192.168.0.1) from 76:54:06:7a:bd:48 via ens20
 
Apr 20 09:23:42 fw dhcpd[3217]: DHCPACK on 192.168.0.53 to 76:54:06:7a:bd:48 (archiso) via ens20
 
Apr 20 09:25:07 fw dhcpd[3217]: DHCPRELEASE of 192.168.0.53 from 76:54:06:7a:bd:48 (archiso) via ens20 (found)
 
Apr 20 09:28:03 fw dhcpd[3217]: DHCPREQUEST for 192.168.0.51 from 5e:12:1a:8d:b8:b6 via ens20
 
Apr 20 09:28:03 fw dhcpd[3217]: DHCPACK on 192.168.0.51 to 5e:12:1a:8d:b8:b6 (debian) via ens20
 
Apr 20 09:32:14 fw dhcpd[3217]: DHCPREQUEST for 192.168.0.51 from 5e:12:1a:8d:b8:b6 (debian) via ens20
 
Apr 20 09:32:14 fw dhcpd[3217]: DHCPACK on 192.168.0.51 to 5e:12:1a:8d:b8:b6 (debian) via ens20
 
 
 
= DHCP Anfragen über die Kommandozeile =
 
 
 
* '''apt install isc-dhcp-common'''
 
* Bei den folgenden Befehlen kann man auch eine spezifische Netzwerkkarte angeben
 
 
 
== neue IP-Adresse anfragen ==
 
 
 
* '''dhclient'''
 
 
 
== Lease der IP-Adresse verlängern ==
 
 
 
* '''dhclient -r'''
 

Aktuelle Version vom 18. Februar 2025, 21:05 Uhr