DHCP: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
 +
= Dynamic Host Configuration Protocol =
 +
 
* Beim Booten kennt der Rechner nur die MAC-Adresse seiner Netzwerkkarte.
 
* Beim Booten kennt der Rechner nur die MAC-Adresse seiner Netzwerkkarte.
 
* Über das '''D'''ynamic '''H'''ost '''C'''onfiguration '''P'''rotocol (DHCP) wird einem Client-Rechner alle nötigen Netzwerkparameter übermittelt.
 
* Über das '''D'''ynamic '''H'''ost '''C'''onfiguration '''P'''rotocol (DHCP) wird einem Client-Rechner alle nötigen Netzwerkparameter übermittelt.
Zeile 69: Zeile 71:
 
     option routers 192.168.0.1;
 
     option routers 192.168.0.1;
 
  }
 
  }
* [[isc-dhcp-server]]
 
 
* [[isc-dhcp-client]]
 
* [[isc-dhcp-client]]
 
* [[dhcp-tftp]]
 
* [[dhcp-tftp]]
 
* [[DHCP-Relay-Server]]
 
* [[DHCP-Relay-Server]]
 
* [[Automatische DNS-Updates per DHCP]]
 
* [[Automatische DNS-Updates per DHCP]]
* [[Dynamic Host Configuration Protocol]]
+
* [<nowiki/>[[#dynamic-host-configuration-protocol|Dynamic Host Configuration Protocol]]]

Version vom 19. April 2023, 13:50 Uhr

Dynamic Host Configuration Protocol

  • Beim Booten kennt der Rechner nur die MAC-Adresse seiner Netzwerkkarte.
  • Über das Dynamic Host Configuration Protocol (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 Bootstrap Protocol (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).

DHCP-Nachrichten

  • DHCPDISCOVER: Ein Client ohne IP-Adresse sendet eine Broadcast-Anfrage nach Adress-Angeboten an alle DHCP-Server im lokalen Netz.
  • DHCPOFFER: Die DHCP-Server antworten mit entsprechenden Werten auf eine DHCPDISCOVER-Anfrage.
  • DHCPREQUEST: Der Client fordert eine der angebotenen IP-Adressen und weitere Daten sowie Verlängerung der Lease-Zeit vom DHCP-Server an.
  • DHCPACK: Bestätigung des DHCP-Servers zu einer DHCPREQUEST-Anforderung oder die Übermittlung von Konfigurationsparametern, die vorher durch DHCPINFORM vom Client angefordert wurden.
  • DHCPNAK: Ablehnung einer DHCPREQUEST-Anforderung durch den DHCP-Server.
  • DHCPDECLINE: Ablehnung durch den Client, da die IP-Adresse schon verwendet wird.
  • DHCPRELEASE: Der Client gibt die eigene Konfiguration frei, damit die Parameter wieder für andere Clients zur Verfügung stehen.
  • DHCPINFORM: 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;
}