DHCP

Dynamic Host Configuration Protocol

RFC 2131, Weiterentwicklung von BOOTP

💬❗ Wofür wird DHCP benötigt?

Ermöglicht die Zuweisung der Netzwerkkonfiguration an Clients durch einen Server

  • IP-Adresse, Netzmaske
  • Default Gateway
  • Name Server

„4-Way-Handshake“

(Initiale Adresszuweisung)

💬 Wie bekommt ein neues Gerät im Netzwerk seine Konfiguration (vom DHCP-Server)?

❓❗ Welche DHCP-Nachrichten werden dafür in welcher Reihenfolge versendet?

❓❗ Wie finden Clients im Netzwerk den/die DHCP-Server?

sequenceDiagram
    participant Client
    participant Server
    Note right of Server: UDP port 67
    Client->>Server: 1. DISCOVER
    Note left of Client: UDP port 68
    Server->>Client: 2. OFFER
    Client->>Client: Auswahl eines der Angebote
    Client->>Server: 3. REQUEST
    Server->>Client: 4. ACKNOWLEDGE
  1. DISCOVER
  • UDP Broadcast an 255.255.255.255:67 (von Absenderadresse 0.0.0.0:68)
  1. OFFER
  • Server in der Broadcastdomain schlagen dem Client eine IP vor
  1. REQUEST
  • Client wählt einen der Server aus, der eine DHCPOFFER gesendet hat und „beantragt“ die vorgeschlagene IP
  1. ACKNOWLEDGE
  • Server bestätigt Zuteilung und übermittelt zusätzliche Konfigurationsdaten

💻 Demo:

## Vorhandene Leases löschen
## (damit wir die initiale Adresszuweisung beobachten können)
sudo rm /var/lib/dhcpcd/*.lease

## DHCP-Pakete beobachten
sudo tcpdump -n port bootps -v | grep --color DHCP

## Mehr Details über den Inhalt des ACKNOWLEDGE
sudo tcpdump -n port bootps -v | grep --color ACK -A 10

Adressvergabeverfahren bei DHCP

❓❗ Welche 3 Betriebsmodi (Adressvergabeverfahren) von DHCP gibt es?

  • Wie funktionieren sie?

  • Welche Vor- und Nachteile haben sie jeweils?

  • 💬 Für welche Zwecke werden sie jeweils eingesetzt?

Manuelle/Statische Zuordnung (Static Allocation)

  • basierend auf MAC
  • nützlich, wenn Server eine Adresse per DHCP zugeteilt bekommen sollen

Automatisch (Automatic Allocaton)

  • reserviert IP für MAC bei erster Vergabe
  • Nachteil: keine neuen Clients möglich, wenn einmal gesamter Adressbereich vergeben

Dynamisch (Dynamic Allocation)

  • IP wird für Lease-Time („Leihdauer“) vergeben

  • nach Renewal-Time fragt Client den DHCP-Server per Unicast um Erneuerung de Lease-Time

  • nach Rebind-Time falls keine Antwort auf Renewal: Broadcast um Lease von einem anderen DHCP-Server erneuert zu bekommen

  • wenn Lease-Time abgelaufen: erneutes DHCP-Discover nötig

DHCP-Relay

❓❗ Was ist ein DHCP-Relay? Wofür wird es benötigt? Wie funktioniert es?

  • erlaubt DHCP über Router hinweg
  • im Relay wird Adresse des DHCP-Servers konfiguriert
  • DHCP-Server benötigt separate Adress-Pools für jedes Subsetz

Ausfallsicherheit

❓❗ Wie können Verfügbarkeit und Skallierbarkeit erhöht werden?

Active-Passive-Failover

  • Active-DHCP-Server synchronisiert seinen Status mit Passive-DHCP-Servern
  • Bei Ausfall übernimmt ein Passive

Load-Balancing

  • Scope (Adressbereich) wird aufgeteilt: Jeder Server ist für einen teil des Scopes Active
  • Bei Ausfall übernimmt ein Passive den Scope des ausgefallenen Servers

Sicherheit

💬 Diskutieren Sie die Sicherheit von DHCP im Bezug auf

  • Verfügbarkeit
  • Integrität
  • Vertraulichkeit
  • Anonymität

Welche Gefahren gehen jeweils aus von

  • Server
  • Clients
  • Dritten

Wie kann man sich schützen? Welche Grenzen haben diese Maßnahmen?

Maßnahmen

SLAAC und DHCPv6

Stateless Address Auto Configuration“

RFC 4862 + RFC 8106

💬 Was wissen wir zu IPv6?

Wiederholung: IPv6-Subnetze

📝❗ FiSi AP2 Analyse Sommer 2024 Aufgabe 2e

❓❗ Was sind Link-Local-Adressen?

❓❗ Was ist ein Router Advertisement?

💬 Warum wird SLAAC als „Stateless“ bezeichnet?

  • Welche Vor- und Nachteile bringt das mit sich?
sequenceDiagram
    participant Client
    participant Netz
    participant Server
    Client->>Client: 1. Link local Address
    Client->>Netz: 2. Duplicate Address Detection
    Client->>Server: 3. Router Solicitation
    Server->>Client: 4. Router Advertisement
    Note right of Client: Global Unicast Prefix,<br/>Gateway Address,<br/>DNS Server Address
    Client->>Client: 5. Global Unicast Address
    Client->>Netz: 6. Duplicate Address Detection
  1. Client generiert eine Link-Local-Adresse (fe80::/64 z.B. aus der MAC)

  2. Client prüft per Neighbor Discovery Protocol (ICMPv6), dass niemand anderes im Netz die gleiche Adresse nutzt

  3. Client fragt mit Router-Solicitation-Nachricht nach Routern

  4. Router antworten mit Router Advertisement

  • beinhaltet Präfix, innerhalb dessen er Adressen anbietet
  1. Client generiert Globale Adresse mit Präfig des Routers (und z.B. MAC oder Zufall)

  2. Client prüft per NDP, dass niemand anderes im Netz die gleiche Adresse nutzt

💻 Welche MAC-,IPv4-,IPv6-Adressen haben wir?

  • Welche der Adressen sind Link-Local und welche Global?
  • Wie dauerhaft sind die Adressen?
  • Wie wurden die Adressen konfiguriert/bezogen/generiert?
ip a | grep --color -e state -e ether -e inet

DHCPv6

💬 In welchem Verhältnis stehen SLAAC und DHCPv6?

📝❗ FiSi AP2 Analyse Sommer 2024 Aufgabe 1

💬 Welche Vor-/Nachteile haben die unterschiedlichen Adressvergabeverfahren?

📝❗ FiSi AP2 Analyse Sommer 2022 Aufgabe 1