Vous êtes sur la page 1sur 11

Configuration DHCP sur un routeur Cisco

Le protocole DHCP (Dynamic Host Configuration Protocol) a pour


fonctionnalité de fournir aux machines qui le demandent une
configuration IP complète, adresse IPv4, masque de sous-réseau,
passerelle par défaut, serveur dns… Cet article a pour sujet la
configuration d’un routeur Cisco en serveur DHCP.

Topologie de la configuration

Nous allons ici réaliser la configuration de R1, routeur d’accès à


internet du réseau et DHCP, routeur faisant office de serveur DHCP.
Bien entendu les services DHCP auraient pu être configurés sur R1,
mais pour des raisons didactiques j’ai choisi de séparer cette
fonctionnalité. vous allez comprendre pourquoi plus tard dans
l’article.

La configuration ne reprendra que ce qui est relatif au DHCP, R1 est


donc censé être configuré selon les besoins standards (adresses IPv4
sur les interfaces, route par défaut pointant vers ISP, et bien sûr un peu
de NAT pour permettre l’accès au réseau publique).
Configuration initiale

Afin d’éviter de finir avec un article de plusieurs pages de long, je ne


mettrai ici que la configuration nécessaire. Les paramètres par défaut
ne sont pas inclus.

Sur ISP

hostname ISP

interface Loopback0

ip address 8.8.8.8 255.255.255.255

interface Serial0/0

ip address 80.100.200.1 255.255.255.252

clock rate 2000000

Sur R1

interface FastEthernet0/0

ip address 192.168.0.1 255.255.255.0

ip nat inside

ip virtual-reassembly

duplex auto
speed auto

interface Serial0/0

ip address 80.100.200.2 255.255.255.252

ip nat outside

ip virtual-reassembly

clock rate 2000000

interface FastEthernet0/1

ip address 192.168.1.1 255.255.255.0

ip nat inside

ip virtual-reassembly

duplex auto

speed auto

ip route 0.0.0.0 0.0.0.0 Serial0/0

ip nat inside source list 1 interface Serial0/0 overload


!

access-list 1 permit any

Sur DHCP

hostname DHCP

interface FastEthernet0/0

ip address 192.168.1.5 255.255.255.0

duplex auto

speed auto

ip route 0.0.0.0 0.0.0.0 192.168.1.1

Attention, la route par défaut sur DHCP est nécessaire pour la suite de
la configuration, j’en toucherai un mot plus loin.

Piqûre de rappel

Le protocol DHCP est véhiculé directement dans une trame. De plus


la machine qui émet une requête DHCP, n’ayant encore aucune
identité (adresse IPv4 etc) n’a d’autre possibilité que de communiquer
par broadcast. Cela signifie donc que la requête DHCP émise par cette
machine est une trame broadcast.

Cela peut paraître sans importance, mais il ne faut pas oublier qu’un
broadcast est confiné dans son domaine de diffusion, autrement dit, il
ne dépasse pas un routeur. Hors, ici, entre le serveur DHCP et le
LAN1 il y a R1… un routeur!

Nous devrons donc par la suite s’assurer que R1 soit configuré pour
relayer la requête DHCP à destination du serveur DHCP.

Méthode de configuration

Afin que DHCP puisse distribuer des adresses à la fois dans le LAN1
et dans le LAN2 nous allons devoir configurer les points suivants:

 Exclure les adresses qu’on souhait ne pas distribuer (celle


de la passerelle, ou de machines ayant des adresses fixes)
 Pour chaque LAN configurer un pool DHCP dans lequel
on spécifiera les options (passerelle, serveur dns, adresse réseau,
…)
 Configurer le relai DHCP pour le LAN1, sur R1.
La configuration

La bonne pratique veut que l’on configure le serveur DHCP dans un


ordre qui peut paraître illogique au premier abord. Ce qu’il faut savoir,
c’est qu’une fois le pool DHCP configuré, le routeur va commencer à
attribuer des adresses. Il est donc conseillé de configurer en premiers
les options (adresses à exclure  paramètres du pool… le tout avant de
définir la plage d’adresse à prendre en charge), sans quoi il se pourrait
que les premières configurations reçues par les machines soient
incomplètes.

Commençons par le routeur DHCP…

Exclusion des adresses nécessaires (adresse des passerelles, du serveur


DHCP, …) ici nous allons exclure les dix premières de chaque LAN
(choix arbitraire).

DHCP(config)#ip dhcp excluded-address 192.168.0.1 192.168.0.10


DHCP(config)#ip dhcp excluded-address 192.168.1.1 192.168.1.10

Attention dans la définition des adresses à exclure, la première adresse


donne le début de la plage et la deuxième la fin de la plage à exclure.
Si vous ne souhaitez qu’exclure une adresse, il suffit de ne pas donner
d’adresse de fin.

Configurons maintenant le pool DHCP pour la LAN1…

DHCP(config)#ip dhcp pool LAN1

DHCP(dhcp-config)#default-router 192.168.0.1

DHCP(dhcp-config)#dns-server 8.8.8.8

DHCP(dhcp-config)#network 192.168.0.0 255.255.255.0

DHCP(dhcp-config)#exit

On a donc créé ici un pool DHCP nommé LAN1, dans lequelles les
machines recevront comme passerelle par défaut 192.168.0.1
(l’adresse de R1 dans le LAN1), un serveur DNS 8.8.8.8 (totalement
fictif ici, mais il me semblait indispensable de montrer comment le
configurer)… et cette configuration sera valable pour le réseau
192.168.0.0/24 (plage d’adresse à distribuer de laquelle il faut
soustraire les adresses précédemment exclues).

Faison de même pour le LAN2…

DHCP(config)#ip dhcp pool LAN2

DHCP(dhcp-config)#default-router 192.168.1.1

DHCP(dhcp-config)#dns-server 8.8.8.8
DHCP(dhcp-config)#network 192.168.1.0 255.255.255.0

DHCP(dhcp-config)#exit

A présent les machnes du  LAN2 doivent recevoir leur configuration


correctement étant donné que le serveur DHCP est dans le même
domaine de diffusion qu’elles.

Vérifions sur C2…

VPCS[2]> ip dhcp

DDORA IP 192.168.1.11/24 GW 192.168.1.1

Le serveur DHCP devrait également avoir gardé ce bail DHCP en


mémoire…

DHCP#show ip dhcp binding


Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type
Hardware address/
User name
192.168.1.11 0100.5079.6668.01 Mar 02 2002 12:34 AM Automatic
DHCP#

Par contre … impossible pour C1 de recevoir sa configuration …

VPCS[1]> ip dhcp

DDD

Can't find dhcp server


En effet, lorsque R1 reçoit la tramme de broadcast contenant la
requête DHCP de C1, vu qu’il ne sait rien en faire, il la « jette »
purement et simplement.

Il nous faut configurer le relai des trames DHCP vers le serveur


DHCP. Pour cela nous devons dire explicitement à R1 de relayer ces
trames à 192.168.1.5 (le serveur DHCP) lorsqu’elles entrent sur son
interface Fa0/0. Voici la manipulation:

R1(config)#interface fastEthernet 0/0

R1(config-if)#ip helper-address 192.168.1.5

Notez que la commande « ip helper-address » a plus d’utilité que le


simple relai des requêtes DHCP. Elle sert à relayer les broadcasts
UDP de plusieurs protocoles (DHCP, NTP, Netbios…).

A présent C1 peut aussi obtenir sa configuration par DHCP

VPCS[1]> ip dhcp

DDORA IP 192.168.0.11/24 GW 192.168.0.1

DHCP doit également avoir retenu les informations concernant ce bail


DHCP…

DHCP#show ip dhcp binding

Bindings from all pools not associated with VRF:

IP address Client-ID/ Lease expiration Type

Hardware address/

User name
192.168.0.11 0100.5079.6668.00 Mar 02 2002 01:27 AM Automatic

192.168.1.11 0100.5079.6668.01 Mar 02 2002 12:34 AM Automatic

DHCP#

Quelques explications complémentaires…

Comment fait DHCP pour savoir dans quel pool d’adresse il doit
piocher en réponse à une requête venant du LAN1 ou du LAN2 ?

Dans le cas du LAN2, la requête arrive sous forme de broadcast, sur


l’interface ethernet de DHCP, il lui suffit alors de fournir une
configuration pour une machine dansle même domaine de diffusion
que lui, donc le pool LAN2.

Par contre dans le cas du LAN1, la requête arrive à DHCP sous forme
d’unicast, car elle est relayée par R1. R1 a en réalité, construit un
paquet unicast, avec comme adresse source celle de son interface dans
le LAN1 et comme destination celle du serveur DHCP.

Dés lors quand DHCP reçoit la requête unicast, il propose une adresse
provenant du pool dont la plage d’adresse correspond à celle
configurée sur l’interface Fa0/0 de R1.

Quelques paramètres en plus…

Bien entendu la configuration du DHCP ne se limite pas à une adresse,


un masque, une passerelle et un serveur DNS. Voici quelques autres
paramètres configurables…

Définir le nom de domaine qui sera associé à l’interface recevant la


configuration…

DHCP(config)#ip dhcp pool LAN1


DHCP(dhcp-config)#domain-name test.lab

Configurer la durée du bail DHCP…

DHCP(dhcp-config)#lease 5 10 30

Le format est « lease <jours> <heures> <minutes> ». On peut


également défini un bail illimité en utilisant « lease infinite ».

Il est également possible de configurer des options « brutes ». Ce sont


des paramètres n’ayant pas de nom spécifiques. Mais la syntaxe varie
en fonction des données à fournir.

Par exemple, si on doit renseigner une adresse de serveur TFTP pour


qu’une machine puisse y récupérer une image de démarrage (c’est le
cas dans avec les systèmes de déploiement réseau), il faut indiquer
l’option 150, avec comme paramètre l’adresse ip du serveur TFTP.

DHCP(dhcp-config)#option 150 ip 192.168.1.50

Encore une vérification…

Nous avons vu précédemment la commande « show ip dhcp binding »


qui affiche la liste des baux en cours. Il est aussi possible d’afficher
les pools DHCP et leurs statistiques…

DHCP#sh ip dhcp pool LAN1


Pool LAN1 :
Utilization mark (high/low) : 100 / 0
Subnet size (first/next) : 0 / 0
Total addresses : 254
Leased addresses : 1
Pending event : none
1 subnet is currently in the pool :
Current index IP address range Leased addresses
192.168.0.12 192.168.0.1 - 192.168.0.254 1
DHCP#

Voilà de quoi configurer un serveur DHCP fonctionnel.

Vous aimerez peut-être aussi