DHCP: wat is het Dynamic Host Configuration Protocol?

  1. Home
  2. Server
  3. DHCP Het Client Server Protocol

Waarvoor dient DHCP?

Het is vandaag de dag heel eenvoudig om apparaten met een bestaand TCP/IP-netwerk te verbinden. Waar de IP-adressen vroeger nog moeizaam handmatig moesten worden toegewezen en in de verschillende systemen moesten worden ingevoerd, wordt het adresbeheer tegenwoordig automatisch uitgevoerd. Dat communicatiehardware (bijvoorbeeld routers, hubs of switches) automatisch een individueel adres kan toewijzen aan apparaten die verbinding willen maken en deze apparaten in een netwerk kan integreren, is mogelijk dankzij het Dynamic Host Configuration Protocol (DHCP).


Wat is DHCP?

Het Dynamic Host Configuration Protocol is een uitbreiding van het in 1985 ontwikkelde Bootstrap Protocol (BOOTP), dat diende om eenvoudige apparaten zoals terminals en werkstations zonder harde schijf met een bootserver te verbinden. Via de server ontvingen deze apparaten hun besturingssysteem. DHCP werd ontwikkeld als oplossing voor grotere netwerken en draagbare computers. Het vult BOOTP onder andere aan met de mogelijkheid herbruikbare netwerkadressen automatisch toe te wijzen en met extra configuratiemogelijkheden. Na eerste definities van het protocol in de RFC’s 1531 en 1541 (allebei uit 1993) werd in 1997 de definitieve specificatie vastgelegd in RFC 2131. De Internet Assigned Numbers Authority (IANA) wees aan het communicatieprotocol de UDP-poorten 67 en 68 (voor IPv6: poort 546 en 547) toe, die ook voor het Bootstrap Protocol zijn bestemd.

De adrestoewijzing met DHCP werkt volgens het client-serverprincipe: de apparaten die verbinding willen maken, vragen de IP-adresconfiguratie op van een DHCP-server, die wederom toegang heeft tot een database waarin de in te stellen netwerkparameters zijn opgeslagen. Deze server, die bestanddeel is van elke moderne DSL-router, kan met behulp van de databasegegevens onder andere de volgende instellingen aan de client toewijzen:


Definitie: Het Dynamic Host Configuration Protocol (DHCP) is een communicatieprotocol voor computernetwerken dat in 1997 in RFC 2131 is vastgelegd. Volgens het client-serverprincipe zorgt het ervoor dat apparaten die verbinding willen maken automatisch een herbruikbaar netwerkadres en alle andere relevante parameters krijgen. De Internet Assigned Numbers Authority (IANA) heeft DHCP voor dit doeleinde de UDP-poorten 67 en 68 toegewezen.


Hoe communiceren DHCP-client en -server?

De automatische adrestoewijzing via het Dynamic Host Configuration Protocol verloopt in vier opeenvolgende stappen:

  1. Om te beginnen verzendt de client een DHCPDISCOVER-pakket met het doeladres 255.255.255.255 en het bronadres 0.0.0.0. Met deze zogenaamde ‘broadcast’ neemt hij contact op met alle netwerkdeelnemers om beschikbare DHCP-servers te lokaliseren en deze over de adresaanvraag te informeren. In het optimale scenario is er slechts één server, zodat er geen complicaties bij de toewijzing optreden.
  2. Alle bereikte DHCP-servers die naar poort 67 luisteren en op aanvragen wachten, beantwoorden de broadcast met een DHCPOFFER-pakket. Dit pakket bevat behalve een vrij IP-adres en het MAC-adres van de client ook het subnetmasker en het IP-adres en de ID van de server.
  3. De DHCP-client kiest uit de ontvangen adresgegevens de gewenste informatie en brengt de betreffende server hiervan op de hoogte door middel van een DHCPREQUEST. Alle andere servers ontvangen dit bericht ook en weten daardoor dat de keuze op een andere deelnemer is gevallen. Verder vraagt de client de server om een bevestiging van de aangeboden gegevens. DHCPREQUEST dient bovendien om al eerder ontvangen parameters te bevestigen.
  4. Tot slot bevestigt de server de TCP/IP-parameters en geeft deze nog eens door aan de client in de vorm van een DHCPACK-pakket (DHCP acknowledged, ‘bevestigd’). Dit pakket bevat aanvullende gegevens, bijvoorbeeld over DNS-, SMTP- of POP3-server. De DHCP-client slaat nu alle ontvangen gegevens lokaal op en maakt verbinding met het netwerk. Indien de server geen beschikbare adressen meer heeft of als het desbetreffende IP-adres tijdens het configuratieproces aan een andere client is toegewezen, antwoordt hij met DHCPNAK (DHCP not acknowledged, ‘niet bevestigd’).

Het automatisch toegewezen adres wordt in combinatie met het MAC-adres in de database van de server opgeslagen, waardoor de configuratie permanent blijft bestaan. Het apparaat brengt de verbinding met het netwerk dus altijd tot stand met het toegewezen IP-adres, dat voor andere clients geblokkeerd is. Dit heeft echter ook het nadeel dat nieuwe DHCP-clients geen adres krijgen als het volledige adresbereik al is toegekend – ook als sommige van de IP’s niet meer actief worden gebruikt. Daarom wordt vaker gebruikgemaakt van dynamische IP’s (ontdek bij ons ook wat een floating IP is) en in speciale gevallen van handmatige toewijzing via DHCP-server. Dit wordt in de volgende alinea beschreven.


DHCP: handmatige en dynamische toewijzing van het adres

Het probleem van een volledig bezet adresbereik kan bij het gebruik van dynamische adrestoewijzing niet zo snel voorkomen. In principe komt deze procedure in hoge mate overeen met de automatische toewijzing, maar er is één klein maar belangrijk verschil. De door de DHCP-server overgedragen IP-configuraties zijn namelijk niet voor onbepaalde tijd geldig, maar zijn voorzien van een door de beheerder bepaalde leasetijd. Deze geeft aan hoe lang het apparaat met het desbetreffende IP-adres toegang heeft tot het netwerk. Voor verstrijken van dit tijdvak moeten clients om een verlenging vragen door opnieuw een DHCPREQUEST-pakket te sturen. Als deze aanvraag uitblijft, wordt de zogenaamde DHCP-refresh niet uitgevoerd en geeft de server het desbetreffende adres weer vrij.

Terwijl netwerkbeheerders zowel bij de automatische als bij de dynamische toewijzingsvariant niet zoveel te doen hebben, is de situatie heel anders bij de handmatige adrestoewijzing. Bij deze procedure, ook wel statisch DHCP genoemd, worden de beschikbare IP-adressen met behulp van de DHCP-server handmatig aan bepaalde MAC-adressen toegewezen. Daarbij bestaat er geen beperking wat betreft de geldigheidsduur.

Omdat het beheer hierbij zeer veel tijd kost, wat tegen het eigenlijke nut van het Dynamic Host Configuration Protocol ingaat, is deze manier van toewijzing slechts zinvol voor heel weinig toepassingen. Zo zijn statische IP’s bijvoorbeeld nodig wanneer op de desbetreffende computer serverdiensten worden gehost die altijd bereikbaar moeten zijn voor de andere deelnemers. Ook voor port forwarding is het belangrijk dat de IP-adressen ongewijzigd blijven.


DHCP-server informeert het Domain Name System

Opdat de door de clients verkregen IP-adressen ook aan hun volledige hostnaam in het domein kunnen worden toegewezen, moet een DNS-server voor de naamomzetting zorgen. Als een reeds ingevoerd adres of de hostnaam wordt gewijzigd, moet de nameserver worden bijgewerkt. Bij regelmatig wisselende IP-adressen, die voortkomen uit de dynamische toewijzing via een DHCP-server, zou dit handmatige bijwerken voor de netwerkbeheerder zeer veel tijd kosten – en ook voor de gebruiker die zijn apparaten thuis met internet wil verbinden. Dankzij DHCP-servers hoeven de netwerkbeheerder en de gebruiker zich hier niet mee bezig te houden, want deze servers zorgen voor de informatie-uitwisseling en updaten de DNS-server zodra er een nieuw IP-adres wordt toegewezen.


Hoe veilig is DHCP?

Een zwakte van het Dynamic Host Configuration Protocol is dat het gemakkelijk te manipuleren is. Omdat de client contact opneemt met alle potentiële DHCP-servers kunnen hackers bijvoorbeeld een eigen deelnemer inbrengen als zij toegang hebben tot het betreffende netwerk. Zo’n ‘rogue’-DHCP-server (kwaadaardige server) probeert sneller op de verbindingsaanvraag van de client te reageren dan de eigenlijke server. Als dit lukt geeft hij gemanipuleerde of onbruikbare parameters door. Op die manier kan hij bijvoorbeeld Denial of Service-aanvallen op het netwerk starten doordat hij geen gateway doorgeeft, aan elke client een eigen subnet toewijst of op alle aanvragen met hetzelfde IP-adres antwoordt.

Een ander scenario is dat er wordt geprobeerd met behulp van valse gateway- en DNS-gegevens een vreemde router in het netwerk te brengen die het dataverkeer van de client meeleest of omleidt. Zo’n man-in-the-middle-aanval heeft, anders dan het hiervoor genoemde aanvalstype, niet het crashen van het netwerk als doel, maar juist het ontvreemden van gevoelige gegevens, zoals bankgegevens, wachtwoorden of adresgegevens.

Onafhankelijk van het type aanval hebben hackers echter in ieder geval directe toegang tot je netwerk nodig om het DHCP-protocol voor hun doeleinden te misbruiken. Als je de nodige veiligheidsmaatregelen treft, profiteer je van de voordelen van het communicatieprotocol, zonder dergelijke aanvallen te moeten vrezen. Voor beheerders van grote lokale netwerken behoort de bescherming tegen externe en interne aanvallen en de continue bewaking van alle netwerkprocessen met hulpmiddelen als Nagios sowieso tot de standaardtaken.


Hoe kun je DHCP activeren en deactiveren?

Wanneer je met je apparaat toetreedt tot een lokaal of draadloos netwerk, maak je normaal gesproken automatisch gebruik van het Dynamic Host Configuration Protocol, zonder wijzigingen in de netwerkinstellingen te moeten aanbrengen. Computers met het besturingssysteem Microsoft Windows fungeren bijvoorbeeld al geruime tijd als DHCP-client die zijn IP-adres automatisch verkrijgt. Hierbij wordt standaard gebruikgemaakt van dynamische toewijzing, waarbij de configuraties regelmatig moeten worden verlengd of na afloop opnieuw moeten worden verstrekt. In lokale netwerken kan ook het automatisch verstrekken van vaste adresgegevens worden toegepast, mits de DHCP-server daarvoor is geconfigureerd.

Als je de huidige instellingen voor de adrestoewijzing wilt controleren of DHCP wilt deactiveren en de handmatige variant wilt gebruiken, kun je dit doen aan de hand van de hierna beschreven stappen. Een voorwaarde hiervoor is dat je over beheerdersrechten beschikt.

DHCP activeren en deactiveren in Windows 7

Vraag via het startmenu het configuratiescherm op en selecteer de optie ‘Netwerk en internet’.

Netwerk en internet
Via het menu Start ga je naar het overzicht van het configuratiescherm

Open nu het ‘Netwerkcentrum’ en klik in het menu links op ‘Adapterinstellingen wijzigen’.

Netwerkcentrum
In het Netwerkcentrum kunnen diverse instellingen voor lokale netwerken en internet worden uitgevoerd

Klik nu met de rechtermuisknop op de LAN-verbinding die moet worden geconfigureerd en selecteer in het vervolgkeuzemenu de optie ‘Eigenschappen’.

Network Connections
Netwerkverbindingen kunnen onder Windows 7 alleen met de desbetreffende systeemrechten worden geconfigureerd

In het volgende venster zie je alle diensten waarvan de geselecteerde netwerkverbinding gebruikmaakt. Voor de configuratie van DHCP onder Windows 7 is het internetprotocol (TCP/IPv4 of IPv6) van belang. Daarom selecteer je nu de desbetreffende versie, en vervolgens klik je op ‘Eigenschappen’ om het gelijknamige venster te openen.

Standaardselectie van de netwerkdiensten
Standaardselectie van de netwerkdiensten en -protocollen voor LAN-verbindingen onder Windows 7

In het menu ‘Eigenschappen’ van het internetprotocol zie je nu of het IP-adres en de DNS-server automatisch worden toegewezen, zoals in onderstaand screenshot het geval is. Anders heb je hier de mogelijkheid een vast IP-adres, een standaardgateway, een subnetmasker en de voorkeurs-DNS-server in te stellen.

Internetprotocolconfiguratie
Internetprotocolconfiguratie onder Windows 7: keuze tussen statische en automatische adrestoewijzing

Als je DHCP wilt deactiveren, moet je hier in ieder geval een vast IP-adres en een subnetmasker (standaard 255.255.255.0) invoeren. Het mogelijke adresbereik voor IP stel je in via de instellingen van de DHCP-server. Deze kun je bijvoorbeeld oproepen via de gebruikersinterface van je router, voor zover deze als server dient. Hier schakel je bovendien de DHCP-server en daarmee de adrestoewijzing via het protocol uit.

DHCP configureren in Windows 8

Klik op het startmenu en zoek in de apps naar het configuratiescherm. Je kunt het configuratiescherm ook oproepen met de toetsencombinatie [Windows-toets] + [X] en vervolgens de menuoptie ‘Configuratiescherm’ selecteren.

Het configuratiescherm in Windows 8 is op te roepen via het app-overzicht in het startmenu

Via ‘Netwerk en internet’ kom je in het ‘Netwerkcentrum’, waar je via ‘Adapterinstellingen wijzigen’ de lijst van geconfigureerde netwerkverbindingen opvraagt.

netwerkcentrum
Het netwerkcentrum van Windows 8 inclusief opgevraagde adapterinstellingen

Door een klik met de rechtermuisknop op de netwerkverbinding naar keuze en het opvragen van de ‘Eigenschappen’ in het menu, verschijnt een overzicht van de verschillende systeemcomponenten die door de LAN-verbinding worden gebruikt.

Overzicht van geactiveerde en gedeactiveerde netwerkdiensten
Overzicht van geactiveerde en gedeactiveerde netwerkdiensten onder Windows 8

In de lijst vind je de internetprotocollen IPv4 en IPv6. Selecteer de gewenste versie en klik op ‘Eigenschappen’.

In dit optiemenu zie je hoe de IP-adrestoewijzing momenteel geregeld is. Als je in plaats van de normale automatische toewijzing het statische DHCP wilt activeren, selecteer je ‘Het volgende IP-adres gebruiken’ en voer je het gewenste adres inclusief subnetmasker (standaard: 255.255.255.0) in. Optioneel kun je ook de standaardgateway (normaal gesproken het IP-adres van de router) en het adres van de gewenste DNS-server invoeren.

Configuratiemenu van het internetprotocol
Configuratiemenu van het internetprotocol: voorbeeld van een vast IP-adres en subnetmasker

Om DHCP te deactiveren moeten wederom de desbetreffende instellingen in de gebruikte server worden uitgevoerd.

DHCP activeren en configureren met Windows 10

Vraag de instellingen op via de snelkoppeling in het startmenu of door de toetsencombinatie [Windows-toets] + [X] te gebruiken en op de desbetreffende optie te klikken.

startmenu
In het startmenu van Windows 10 vind je de snelkoppeling naar de instellingen onder de beginletter ‘I’

Klik nu op ‘Netwerk en internet’ en in het volgende menu op ‘Adapterinstellingen wijzigen’.

overzicht van alle beschikbare instellingscategorieën
Een overzicht van alle beschikbare instellingscategorieën van Windows 10

Klik met de rechtermuisknop op de gewenste LAN-verbinding en selecteer in de vervolgkeuzelijst de optie ‘Eigenschappen’.

In de lijst van geactiveerde en niet geactiveerde protocollen en diensten zoek je naar de gewenste internetprotocolversie. Deze selecteer je en vervolgens open je het venster ‘Eigenschappen’ via de gelijknamige knop.

etherneteigenschappen
In de etherneteigenschappen kunnen belangrijke parameters voor de geselecteerde LAN-verbinding worden aangepast

De optie ‘Automatisch een IP-adres laten toewijzen’ is standaard ingesteld. Als dit niet het geval is, activeer je de automatische toewijzing door deze optie te selecteren of je kiest voor een statisch adres en voert de gewenste netwerkparameters handmatig in (zoals weergegeven in onderstaand screenshot).

IP-adres
IPv4: instelling van de belangrijkste netwerkparameters zoals IP-adres, subnetmasker en DNS-server

Om DHCP in Windows 10 te deactiveren, moet je de gebruikersinterface van je DHCP-server oproepen en hier de desbetreffende instellingen uitvoeren.