DHCP staat voor Dynamic Host Configuration Protocol. In principe is het een mechanisme waarmee IP-adressen dynamisch aan computers worden toegewezen. Gewoonlijk is DHCP een service die draait op een servermachine in het netwerk om dynamische IP-adressen aan hosts toe te wijzen.
Hoe dan ook, Cisco-routers (en andere apparaten zoals ASA-firewalls, enzovoort) kunnen ook als DHCP-server werken en zo een speciale machine voor deze taak vervangen.
Eén van de meest opwindende stukjes configuratie binnen Cisco IOS, naar mijn mening, is IP DHCP Pools. Met deze functie kun je een Cisco switch of router configureren om als DHCP server te fungeren.
Deze functie is nuttig in verschillende gevallen, waaronder een aantal van de volgende; kleine zakelijke DHCP sever, disaster recovery DHCP server of hulp bij het configureren van statische IP adres apparaten. Laten we elk geval in meer detail bekijken.
Cisco IOS DHCP pools kunnen worden geconfigureerd voor kleine bedrijven waar de aanschaf van een stand-alone DHCP economisch niet verantwoord is. Kleine bedrijven moeten “werken met wat ze hebben” en het gebruik van een router of Layer 3 switch die al in de netwerkomgeving aanwezig is, is een prima manier om dit te doen.
Het hebben van een rampherstelplan is van cruciaal belang voor de bedrijfscontinuïteit. Met Cisco Router DHCP in uw achterzak kunt u een held zijn aan het eind van een onverwachte dag. Met behulp van deze technologie kunt u een back-up config. template in uw arsenaal hebben voor een slechte dag.
Meer en meer netwerk apparaten worden tegenwoordig geleverd met DHCP standaard ingeschakeld. Sommige apparaten zoals IP camera’s, printers, draadloze toegangspunten en andere apparaten. Using a configured DHCP pool makes it much easier to remotely access these devices and assign static IP addresses as desired.
Lets take a closer look at the configuration and design.
Steps:
1- Create DHCP Pool
2- Specify the following:
- Network (Subnet Address with Network Mask)
- Default Router (Better known as “Default Gateway”)
- DNS Servers
- DHCP Options (Optional)
3- Exclude any addresses reserved for static address assignment, including the default gateway.
DHCP Configuration Commands:
Router(config)# ip dhcp pool VLAN_10
Creates a DHCP Pool named VLAN_10. Binnen deze Pool specificeren we de hierboven genoemde items.
Router(dhcp-config)# network 172.16.10.0 255.255.255.0
Specificeert het netwerk voor de DHCP Pool VLAN_10 als het 172.16.10.0/24 netwerk.
Router(dhcp-config)# default-router 172.16.10.1
Specificeert dat de “default gateway” voor de dhcp clients 172.16.10.1 zal zijn.16.10.1.
Router(dhcp-config)# dns-server 172.16.2.10
Specificeert dat de DNS Server 172.16.2.10 zal zijn
Router(config)# ip dhcp excluded-address 172.16.10.1 172.16.10.20
Het bovenstaande commando vertelt de router om de adressen 172.16.10.1 t/m 172.16.10.20 uit te sluiten van DHCP toewijzing. Deze adressen zullen niet aan clients worden uitgedeeld. Het eerste adres dat gebruikt zal worden is 172.16.10.21.
Optioneel
Router(dhcp-config)# option 150 ip 172.16.2.20
Specificeert optionele DHCP-opties die nodig zijn. Hierboven is de DHCP optie van 150 voor TFTP Server ingesteld op 172.16.2.20.
Verificatie:
Show ip dhcp binding
Het bovenstaande commando toont alle toegewezen DHCP IP Adressen en hun leasetijd.
DHCP-verzoeken doorsturen met ip-helperadrescommando
DHCP is, zoals we allemaal weten, een broadcast-protocol (schaam je als je dat nog niet weet 🙂 !!) dat normaal gesproken alleen werkt op hetzelfde Layer 2 broadcast-domein.
Betekent dit dat je je DHCP-server op hetzelfde netwerksubnet moet hebben aangesloten als de DHCP-clients?
Wat als je je interne netwerk hebt gesegmenteerd in veel verschillende subnetten en je hebt DHCP clients in al die subnetten. Betekent dit dat u voor elk subnet een DHCP-server moet hebben?
Gelukkig hoeft u deze situatie niet te hebben. Met het Cisco “ip helper-address” commando, geconfigureerd op de Layer3 interface die de DHCP broadcast van de client ontvangt, kunt u het broadcast verzoek omzetten in een unicast en naar een gecentraliseerde DHCP server sturen, die zich op een ander subnet in uw netwerk kan bevinden.
De unicast DHCP aanvraag zal normaal worden gerouteerd naar de bestemming DHCP Server binnen het netwerk, zelfs als de server ver weg is van de DHCP client.
De DHCP server moet een passende IP Pool scope hebben geconfigureerd voor het specifieke subnet waar de DHCP aanvraag vandaan komt.
Met behulp van deze IP scope, zal de server een passend IP adres toewijzen aan de client die de aanvraag doet. Bijvoorbeeld, als het DHCP client subnet 192.168.1.0/24 is, dan moet de remote DHCP server een IP Pool geconfigureerd hebben om adressen toe te wijzen binnen het bereik 192.168.1.0/24.
Het bron DHCP client subnet wordt bepaald door het IP adres dat is toegewezen aan de Layer3 interface waarop het ip helper-adres is geconfigureerd.
Laten we hieronder een voorbeeld scenario zien met een configuratie snapshot.
In het bovenstaande netwerkdiagram bevinden zich twee DHCP-client-pc’s achter Router A.
Interface Fe0/0 van de router heeft IP-adres 192.168.1.1/24.
De DHCP-clients zullen beginnen met het broadcasten van DHCP-verzoeken om hun IP-adresinformatie toegewezen te krijgen van een server.
Bestandaard zullen deze DHCP broadcast-verzoeken beperkt blijven tot Switch A en nooit een ander subnet buiten Router A bereiken.
Door het configureren van een “ip helper-address 10.10.10.1” onder interface Fe0/0 van Router A, vertellen we de router om de DHCP broadcast in een DHCP unicast te veranderen en het naar de bestemming DHCP server 10.10.10.1 te sturen.
De server zal zien dat het DHCP verzoek afkomstig is van bron subnet 192.168.1.0/24 en zal daarom een geschikt IP-adres toewijzen uit een geconfigureerd IP pool bereik binnen het bereik 192.168.1.0.
Configuratie op Router A
RouterA# conf t
RouterA(config)# interface fastethernet0/0
RouterA(config-if)# ip address 192.168.1.1 255.255.255.0
RouterA(config-if)# ip helper-address 10.10.10.1
Enkele andere belangrijke overwegingen voor ip helper-address
Het commando ip helper-address stuurt standaard ook enkele andere broadcastprotocollen door, naast het DHCP (BOOTP) protocol. Het stuurt standaard de volgende acht UDP-uitzendprotocollen door:
- UDP 37 (Tijdprotocol)
- UDP 49 (TACACS)
- UDP 53 (DNS)
- UDP 67 (DHCP-server)
- UDP 68 (DHCP-client)
- UDP 69 (TFTP)
- UDP 137 (NetBios)
- UDP 138 (NetBios Datagram service)
Als u meer broadcast protocollen wilt toevoegen die moeten worden doorgestuurd, of zelfs enkele van de standaard doorgestuurde protocollen wilt verwijderen, kunt u het commando “ip forward-protocol” in de globale configuratiemodus gebruiken.
Voorbeeld: Verwijder dat de NetBios-protocollen (137,138) standaard worden doorgestuurd, en voeg NTP-protocol 123 toe om te worden doorgestuurd door ip helper-adres.
RouterA(config)# no ip forward-protocol udp 137
RouterA(config)# no ip forward-protocol udp 138
RouterA(config)# ip forward-protocol udp 123
Configuratievoorbeeld van DHCP op Cisco Routers
Alle modellen uit de Cisco-serie hebben de mogelijkheid om als DHCP-server te werken en zo adressen toe te wijzen aan de interne LAN-hosts. Zonder een DHCP server in het netwerk, zou u handmatig IP adressen moeten toewijzen aan elke host. Deze handmatig toegewezen adressen worden ook wel “statische IP-adressen” genoemd.
In het volgende gedeelte laat ik zien hoe u een Cisco 851 of 871 router kunt configureren om als DHCP-server te werken. Dezelfde configuratie geldt ook voor andere modellen van de router-serie.
Router> enable
Router# config t
! definieer een IP-adrespoolnaam en bereik
Router(config)# ip dhcp pool LANPOOL
! definieer een netwerkbereik voor de adressen die zullen worden toegewezen
Router(dhcp-config)# network 192.168.1.0 255.255.255.0
! definieer een dns-naam om aan clients toe te wijzen
Router(dhcp-config)# domain-name mycompany.com
! definieer een standaard gateway voor de clients
Router(dhcp-config)# default-router 192.168.1.1
! definieer de dns-server voor de clients
Router(dhcp-config)# dns-server 100.100.100.1
! definieer een WINS server als u er een heeft
Router(dhcp-config)# netbios-name-server 192.168.1.2
Router(dhcp-config)# exit
!De volgende adressen zullen niet aan clients worden gegeven
Router(config)# ip dhcp excluded-address 192.168.1.1 192.168.1.10