De ICT specialist die meedenkt in concrete oplossingen
Toegewijd aan het creëren van veilige en stabiele netwerken
Kennis is er om te delen
Willem PoortLinux - 03/February/2017

Linux voor de beginnende beheerder - dhcp server

Linux voor de beginnende beheerder - dhcp server

De DHCP (Dynamic Host Configuration Protocol) Server of service is in vrijwel elk netwerk actief. Het is immers verantwoordelijk voor het uitdelen van ip-adressen aan computers en andere netwerk devices die hier om vragen.

Naast het toekennen van een ip-adres worden ook andere netwerk gerelateerde zaken aan de client uitgedeeld. Zonder een DHCP server zouden alle op clients, de IP instellingen handmatig moeten worden ingesteld. Dit wordt in een netwerk met honderd of meer devices al gauw onbegonnen werk.

Linux DHCP Lease Time

Linux dhcp lease time

Het voordeel van het dynamisch toekennen van ip-adressen is dat in omgevingen waar meer devices actief zijn maar niet op het zelfde tijdstip, een ip-adres door verschillende apparaten gebruikt. Dit is mogelijk door bij het uitdelen van het ip-adres aan de client ook de 'lease-tijd' mee te geven. Dit is de tijdsduur (in seconden) dat het ip-adres gereserveerd blijft. Hierna doet de client opnieuw een DHCP request.

Het is dus van belang de DHCP lease time niet te hoog te zetten. Vaak wordt een stndaard leasetijd van 1 dag ( 86400 seconden) aangehouden. Een te lage lease-tijd genereert een hoop (onnodig) verkeer op het netwerk.

Voor sommige apparaten zoals printers is het handig om een vast ip-adres toe te kennen. Dit gebeurt op basis van het MAC-adres (Media Access Control). Het MAC-adres wordt meestal in hexadecimale vorm aangeduid, bijvoorbeeld 40:6c: 8f:05:68:39. In deze, door de IEEE 802-standaard bepaalde nummering (MAC48), zijn er 281.474.976.710.656 (256^6) unieke mogelijkheden. In principe heeft elk apparaat een uniek MAC-adres en mogen er geen twee dezelfde zijn in een netwerk. Dit wordt bereikt door aan elke fabrikant van netwerkapparatuur een verschillend bereik van adressen toe te kennen. De fabrikanten mogen elk adres maar eenmaal gebruiken. Aan de eerste 24 bits van een MAC-adres (de Organizational Unique Identifier (OUI)) kan de fabrikant van de apparatuur worden afgeleid. Dit zijn, omgerekend ,de eerste 6 hexidecimale waarden van het MAC-adres.


Linux OUI's leveranciers


linux DHCP Protocol

Als een device een ip-adres opvraagt wordt een proces gestart. Dit is het DHCP DORA (D)iscover (O)ffer (R)equest (A)ck proces. Het volledige proces bestaat uit vier opeenvolgende aanvragen en reacties.
Een succesvolle aanvraag verloopt als volgt:

- DHCP Discovery (DHCPDISCOVER):
 het aanvragende device stuurt een netwerkpakket gericht aan alle computers binnen het eigen Ethernet-segment door het gebruik van broadcast. Hiervoor gebruikt de aanvrager ofwel het globale broadcastadres 255.255.255.255, dan wel het broadcastadres van het netwerksegment waarop het zich bevindt. Alle toestellen in het betreffende netwerksegment ontvangen dit DHCPDISCOVER-pakket.

- DHCP Offer (DHCPOFFER): Alleen de DHCP-server, of eventueel DHCP-servers, in het netwerk behoort/behoren te reageren op het DHCPDISCOVER-pakket. Elke DHCP-server die antwoordt, reserveert een nog vrij IP-adres en stuurt een DHCPOFFER pakket terug naar het MAC-adres van de aanvrager, met vermelding van het aangeboden IP-adres.

- DHCP Request (DHCPREQUEST): het aanvragende device weet nu van welke server of servers deze het IP-adres kan verkrijgen. Het toestel gebruikt DHCPREQUEST om daadwerkelijk de aanvraag te doen bij de eerst reagerende DHCP-server en mogelijke overige DHCP-servers te laten weten dat het een IP-adres heeft verkregen via een andere DHCP-server. Dit gebeurt dientengevolge net als bij DHCPDISCOVER met een broadcast-pakket, dat door alle DHCP-servers wordt ontvangen.

- DHCP Acknowledgement (DHCPACK): de DHCP-server bevestigt hiermee de aanvraag. Het verzonden 
 DHCPACK-pakket bevat nog eens alle informatie met de netwerkinstellingen. Het device dat het nieuwe IP-adres heeft ontvangen, moet nu nog een test moeten uitvoeren om zeker te stellen dat er toch geen andere toestellen hetzelfde IP-adres in bezit hebben. Het device gebruikt de gegevens van de eerste DHCP-server waarvan hij antwoord krijgt om zijn netwerkverbinding in te stellen. Het betreffende device heeft nu een uniek IP-adres en kan nu communiceren met andere apparaten in het netwerk.


Indien de aanvraag niet lukt door een fout of doordat een ip-adres als aanwezig is in het netwerk zijn de volgende DHCP berichten denkbeeldig.

- DHCP negative acknowledgement (DHCPNAK): bij een fout zal de DHCP-server antwoorden met een 
 DHCP-NAK-pakket.

- DHCP decline (DHCPDECLINE): het device rapporteert terug naar de DHCP-server dat het netwerkadres 
 reeds in gebruik is.

Een device kan het in gebruik zijnde IP-adres ook weer vrijgeven:

- DHCP release (DHCPRELEASE): het device meldt aan de DHCP-server dat het netwerkadres
 vrijgegeven mag worden en beëindigt hiermee de huidige lease-tijd.

Gegevens die door de DHCP server onder meer (kunnen) worden doorgestuurd zijn:

- Een uniek netwerknummer (IP-adres) met netwerkmasker

- De geldigheidsduur (lease time of looptijd) van het IP-adres

- Adres(sen) van de gateway(s) in het netwerk.

- Adres(sen) van de naamserver(s) (DNS-servers).

- Adres(sen) van de tijdserver(s) (NTP)

- De domeinnaam van het lokale netwerk.
DCHP Opties

Vraag praktijkboek
linux op

Reacties

  1. Martin zegt:

    Verzonden op: 03-02-2017 18:43

    Vergeet APIPA niet om snel DHCP problemen te kunnen detecteren

  2. Willem Poort zegt:

    Verzonden op: 07-02-2017 09:02

    Martin, bedankt voor je toevoeging.
    Zodra je een APIPA adres krijgt ipv een adres uit de range die door de DHCP server wordt uitgedeeld, betekent dit dat de client geen verbinding heeft gehad met de DHCP server.
    De reeks 169.254.0.1 t/m 169.254.255.254 is gereserveerd voor APIPA-gebruik.
    APIPA staat voor ‘Automatic Private IP Adressing’ de DHCP client kent zich zelf een adres toe uit deze range als het geen antwoord van een DHCP server krijgt.

Reageer