DHCP

Dynamic Host Configuration Protocol

Leerdoelen

  • Wat is DHCP?
  • Waarom hebben we DHCP nodig?
  • Hoe werkt DHCP?

DHCP functie

  • Het uitdelen van IP adressen
  • Via het netwerk
  • Op basis van het MAC adressen
  • Centraal beheer

Waarom DHCP?

  • 2400 gebruikers, met 2400 laptops
  • 5 minuten per gebruiker om een IP te configureren
  • 2400 * 5 = 12.000 minuten = 200 uur = 8,3 dagen
  • Je redt het net niet in 1 week ;)
  • Thuis hebben ze een ander IP adres, dus elke dag opnieuw

Dynamic Host Configuration Protocol

  • Het automatisch uitdelen van een IP-adres
    • Subnet mask
    • Default Gateway
    • Domain naam
    • Host naam
    • DNS servers
    • En meer mogelijk
  • Klein stukje software (de DHCP-server) dat onderdeel kan zijn van
    • Een server
    • Een router
    • Een access point

Statisch of Dynamisch

  • IP-adres kan op verschillende manier geconfigureerd worden:
    • Handmatig op de interface (manual)
    • Via DHCP (automatic)
      • Een vast IP-adres in DHCP (static)
      • Een willekeurig IP-adres (dynamic) in DHCP

DHCP Scope

  • Een DHCP scope heeft een reeks (range) IP-adressen die hij kan uitdelen, bijvoorbeeld
    • 192.168.1.20 tot en met 192.168.1.200
  • De scope bevat ook IP reserveringen voor specifieke apparaten (static IP assignments)
  • Voor alle apparaten binnen dit adres bereik zijn er een aantal vaste settings die voor alle apparaten hetzelfde zijn en die ook binnen de scope zijn vastgelegd:
    • Subnet mask
    • Default gateway
    • Domainname
    • DNS servers
    • Eventueel ook nog andere data zoals extra routes

Statische IP-adressen

  • Handmatige configuratie
    • Niet via DHCP
    • Niet onderdeel van de scope
  • DHCP statische configuratie
    • Altijd hetzelfde IP-adres, gekoppeld aan het MAC adres
    • Is onderdeel van de scope
    • Wordt uitgedeeld door de DHCP-server

Dynamische IP-adressen

  • IP address wordt toegewezen door de DHCP-server
  • Is onderdeel van de scope
  • Worden toegewezen vanuit een pool (range)
    • 192.168.1.20 - 192.168.1.200
  • Is dynamisch dus kan anders zijn na een reboot
    • Of een refresh

Pool en Range

  • Een DHCP server deelt IP adressen uit uit een pool
  • Dit kan een enkele range zijn
    • Bijv: 192.168.42.10 – 192.168.42.254
  • Maar ook verschillende ranges
    • Bijv: 192.168.42.10 – 192.168.42.49 en 192.168.42.200 – 192.168.42.254
  • Een pool kan ook een mix van static en dynamic zijn
  • En er kan ook een range ge-exclude zijn
    • Bijv: 192.168.42.10 – 192.168.42.254 exclude 192.168.42.50 – 192.168.42.199
  • Server luistert op UDP port 67
  • Client luister op UDP port 68

DHCP Lease

  • De client accepteert het eerste offer dat hij binnenkrijgt (de dichtstbijzijnde DHCP-server)
  • De client krijgt een IP adres voor een bepaalde tijd, de leaseduur
  • De leaseduur bepaalt hoelang een client een IP-adres mag gebruiken voordat hij bij de server een verlenging (lease-renewal) moet aanvragen

Foutollerant DHCP

  • Fouttollerantie betekent 2 DHCP-servers per netwerk
  • DHCP is a broadcast protocol
  • Een client neemt van 1 DHCP server een IP-adres aan (de eerste)
  • Beide servers weten wat er is uitgedeeld en aan wie

Controle / debugging

  • Windows Server
    • Draait de dhcp-server
      • Task Manager
    • Check logs
  • Windows Client
    ipconfig /renew
  • Linux Server
    systemctl status dhcpd
    • Check logs
  • Linux client
    systemctl restart dhclient

DHCP-snooping

Een DHCP-aanval techniek

Rogue DHCP-server

  • DHCP-server op een access point, router, server of client...
    • Bewust of per ongeluk in het netwerk geplaatst
  • Geeft ook antwoord op de DHCP-discover broadcast
  • Als hij “dichterbij” staat krijgt de client als eerste het antwoord van deze verkeerde server.

De oplossing

  • Blokkeer op de switch op alle poorten DHCP-antwoorden
    • DHCPOFFER, DHCPACK, DHCPNAK, of DHCPLEASEQUERY
  • Laat alleen van de poort waar de echte DHCP-server aan hangt de DHCP-antwoorden toe
  • Dit noemen we DHCP-snooping
  • Kan alleen met een intelligente (L3 switch)

Configuration

Samenvatting

  • DHCP - Dynamic Host Configuration Protocol
  • Deelt IP adressen uit
  • Server: UDP/67
  • Client: UDP/68
  • Gedeeltelijk broadcast protocol
  • Client accepteerd eerste offer
  • Geeft mogelijkheid tot DHCP-attack: DHCP-snooping