LAB : Le Principe de Fonctionnement du Protocole DHCP sur un switch ou un routeur
Nous rappelons brièvement pour toute fin utile dans ce qui suit, le principe du fonctionnement d’un serveur DHCP à l’aide de l’utilisation des VLANs sur un exemple de configuration classique.
Présentation du Service DHCP
Les routeurs et les Ethernet Switchs Layer 3 de type Cisco – Figure 1 – présentent de nos jours des fonctionnalités avancées comme la prise en charge du service DHCP qui peut directement être inclus dans ces deux équipements. Nous présenterons – Figure 1– une configuration de communication Inter-Vlans utilisant d’une part un Ethernet Switch Layer 3 –ESW1- et un service DHCP implémenté de deux façons différentes : en premier lieu sur le routeur R1 et en second lieu sur le switch ESW1.
Ces deux cas de configurations seront présentées séparément dans ce qui suit :
Figure 1 : Communication Inter-VLANs utilisant un Ethernet Switch Layer 3 – ESW1 –
La figure 1 décrit ici une situation de configuration où le routeur R1 de type Cisco 7200 est connecté via son interface g0/0 à l’Ethernet Switch Layer 3 -ESW1 de type Cisco 3725 – via son interface no switchport f1/13. Les PCs des Vlans 10 et 20 sont connectés en mode access aux switchs Layer 3 ESW1 et ESW2 . Ces derniers sont connectés entre eux via un lien de type trunk. Nous considérons ici pour simplifier ESW1 est en mode serveur et ESW2 en mode Client – voir cours VTP – CCNA R&S –
Nous présenterons l’implémentation de cette configuration dans deux cas de figure de Serveur DHCP. Les adresses IP ici des Vlan 10 et 20 obtenues sont octroyées via ce serveur.
1.Serveur DHCP implémenté sur R1
Dans ce cas le serveur DHCP est implémenté sur R1 et devra donc distribuer des adresses IP sur la plage : IP 10.10.10.0/24 pour vlan 10 avec une exclusion de l’ adresse IP 10.10.10.1 réservée à la passerelle par défaut du vlan 10 et IP 20.20.20.0/24 pour vlan 20 avec une exclusion de l’ adresse IP 20.20.20.1 réservée à la passerelle par défaut du vlan 20. Le serveur DNS pour les vlans 10 et 20 sont d’adresses IP : 8.8.8.8 – adresse serveur GOOGLE pour l’exemple –
D’autre part, le routage inter-Vlans est réalisé ici à l’aide du switch ESW1 en activant en mode globale la commande : ip routing. Dans ce dernier cas nous faisons appel à la commande ip helper implémentée sur ESW1 pour rediriger les broadcasts des VLANs 10 et 20.
- Configuration requise sur R1 en mode global
- ! Exclure les adresses des passerelles
- R1(config)#ip dhcp excluded-address 10.10.10.1
- R1(config)#ip dhcp excluded-address 20.20.20.1
- ! Définir les adresses IP Pool des Vlans 10 et 20
- R1(config)# ip dhcp pool VLAN10
- R1(dhcp-config)# network 10.10.10.0 255.255.255.0
- R1(dhcp-config)# default-router 10.10.10.1
- R1(dhcp-config)# dns-server 8.8.8.8
- R1(dhcp-config)# exit
- R1(config)#
- R1(config)# ip dhcp pool VLAN20
- R1(dhcp-config)# network 20.20.20.0 255.255.255.0
- R1(dhcp-config)# default-router 20.20.20.1
- R1(dhcp-config)# dns-server 8.8.8.8
- R1(dhcp-config)# exit
- R1(config)#
- ! Définition d’une route par défaut
- R1(config)# ip route 0.0.0.0 0.0.0.0 30.30.30.2
- Configuration requise sur ESW1 en mode global
! Sur le switch ESW1, nous créons d’abord les Vlans 10 et 20 à l’aide de la commande :
ESW1#vlan database
ESW1(vlan)# vlan 10
ESW1(vlan)# vlan 20
NB : A l’aide du protocole VTP les vlans 10 et 20 sont répliqués ici automatiquement sur le switch ESW2.
! Activation du service dhcp, du routage et définition d’une route par défaut
ESW1(config)#service dhcp !!! ne pas oublier cette ligne
ESW1(config)#ip routing
ESW1(config)#ip route 0.0.0.0 0.0.0.0 30.30.30.1
! Définition des interfaces vlan 10 et 20 avec ip helper
ESW1(config)# interface Vlan10
ESW1(config-if)# ip address 10.10.10.1 255.255.255.0
ESW1(config-if)# ip helper-address 30.30.30.1
ESW1(config)# interface Vlan20
ESW1(config-if)# ip address 20.20.20.1 255.255.255.0
ESW1(config-if)# ip helper-address 30.30.30.1
Important : Notons que ici la commande ip helper est utilisée au niveau des interfaces vlan 10 et 20, interfaces « end point » pour les broadcast vlan 10 et vlan 20. Par conséquent, c’est au niveaux de ces interfaces que se joue le relais du broadcast en indiquant l’adresse IP du serveur DHCP correspondant.
- Test demande d’adresse IP pour PC1 & vérification
Le PC1 fait une demande d’adresse IP au serveur DHCP. Soit :
PC1> ip dhcp
DDORA IP 10.10.10.2/24 GW 10.10.10.1
! Vérification d’adresse obtenue :
PC1> show
NAME IP/MASK GATEWAY MAC LPORT RHOST:PORT
PC1 10.10.10.2/24 10.10.10.1 00:50:79:66:68:00 10002 127.0.0.1:10003
fe80::250:79ff:fe66:6800/64
! Vérification du ping sur R1 donne succès !!!!!
PC1> ping 30.30.30.1
84 bytes from 30.30.30.1 icmp_seq=1 ttl=254 time=41.080 ms
84 bytes from 30.30.30.1 icmp_seq=2 ttl=254 time=19.095 ms
84 bytes from 30.30.30.1 icmp_seq=3 ttl=254 time=29.385 ms
84 bytes from 30.30.30.1 icmp_seq=4 ttl=254 time=20.161 ms
84 bytes from 30.30.30.1 icmp_seq=5 ttl=254 time=20.403 ms
PC1>
! De la même façon on obtient les adresses IP des PC3 et PC2 :
PC3> ip dhcp
DDORA IP 20.20.20.3/24 GW 20.20.20.1
PC3> ping 30.30.30.1
84 bytes from 30.30.30.1 icmp_seq=1 ttl=254 time=21.242 ms
84 bytes from 30.30.30.1 icmp_seq=2 ttl=254 time=15.406 ms
84 bytes from 30.30.30.1 icmp_seq=3 ttl=254 time=82.245 ms
84 bytes from 30.30.30.1 icmp_seq=4 ttl=254 time=25.517 ms
84 bytes from 30.30.30.1 icmp_seq=5 ttl=254 time=21.506 ms
PC3>
PC2> ip dhcp
DDORA IP 20.20.20.2/24 GW 20.20.20.
PC2> ping 10.10.10.2
10.10.10.2 icmp_seq=1 timeout
10.10.10.2 icmp_seq=2 timeout
84 bytes from 10.10.10.2 icmp_seq=3 ttl=63 time=19.569 ms
84 bytes from 10.10.10.2 icmp_seq=4 ttl=63 time=19.262 ms
84 bytes from 10.10.10.2 icmp_seq=5 ttl=63 time=19.453 ms
PC2>
A l’aide de la commande sh ip dhcp binding , nous affichons la table du serveur DHCP sur R1 :
R1# sh ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type State Interface Hardware address/
User name
10.10.10.2 0100.5079.6668.00 Feb 05 2017 11:07 AM Automatic Active Unknown
20.20.20.2 0100.5079.6668.01 Feb 05 2017 12:12 PM Automatic Active Unknown
20.20.20.3 0100.5079.6668.02 Feb 05 2017 12:13 PM Automatic Active Unknown
R1#
2.Serveur DHCP implémenté sur le switch Layer 3 – ESW1 –
Dans cette seconde parie, nous implémentons le serveur DHCP sur l’Ethernet Switch Layer 3 -ESW1- Dans ce cas nous ne faisons plus appel à la commande ip helper au niveau des interfaces Vlan 10 et 20. Le reste des étapes de la configurations est similaire à la configuration précédente. Soit en mode global sur le switch ESW1 :
! Exclure les adresses des passerelles
ESW1(config)#ip dhcp excluded-address 10.10.10.1
ESW1 (config)#ip dhcp excluded-address 20.20.20.1
! Définir les adresses IP Pool des Vlans 10 et 20
ESW1 (config)# ip dhcp pool VLAN10
ESW1 (dhcp-config)# network 10.10.10.0 255.255.255.0
ESW1 (dhcp-config)# default-router 10.10.10.1
ESW1 (dhcp-config)# dns-server 8.8.8.8
ESW1 (dhcp-config)# exit
ESW1 (config)#
ESW1 (config)# ip dhcp pool VLAN20
ESW1 (dhcp-config)# network 20.20.20.0 255.255.255.0
ESW1 (dhcp-config)# default-router 20.20.20.1
ESW1 (dhcp-config)# dns-server 8.8.8.8
ESW1 (dhcp-config)# exit
ESW1 (config)#
! Définition d’une route par défaut
ESW1 (config)# ip route 0.0.0.0 0.0.0.0 30.30.30.1
- Vérification et test de demande d’adresses IP
Les PCs des VLANs 10 et 20 font une demande d’adresses IP au serveur DHCP et obtiennent les adresses suivantes :
PC1> ip dhcp
DDORA IP 10.10.10.2/24 GW 10.10.10.1
PC1> ping 30.30.30.1
84 bytes from 30.30.30.1 icmp_seq=1 ttl=254 time=30.100 ms
84 bytes from 30.30.30.1 icmp_seq=2 ttl=254 time=18.307 ms
84 bytes from 30.30.30.1 icmp_seq=3 ttl=254 time=16.304 ms
84 bytes from 30.30.30.1 icmp_seq=4 ttl=254 time=21.038 ms
84 bytes from 30.30.30.1 icmp_seq=5 ttl=254 time=19.335 ms
De même sur PC2 et PC3 , on obtient :
PC2> sh
NAME IP/MASK GATEWAY MAC LPORT RHOST:PORT
PC2 0.0.0.0/0 0.0.0.0 00:50:79:66:68:01 10004 127.0.0.1:10005
fe80::250:79ff:fe66:6801/64
PC2> ip dhcp
DDORA IP 20.20.20.2/24 GW 20.20.20.1
PC2>
PC3> sh
NAME IP/MASK GATEWAY MAC LPORT RHOST:PORT
PC3 0.0.0.0/0 0.0.0.0 00:50:79:66:68:02 10008 127.0.0.1:10009
fe80::250:79ff:fe66:6802/64
PC3> ip dhcp
DDORA IP 20.20.20.3/24 GW 20.20.20.1
PC3>
A l’aide de la commande sh ip dhcp binding , nous affichons la table du serveur DHCP sur ESW1 :
ESW1#sh ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type
Hardware address/
User name
10.10.10.2 0100.5079.6668.00 Mar 03 2002 01:00 AM Automatic
20.20.20.2 0100.5079.6668.01 Mar 03 2002 01:03 AM Automatic
20.20.20.3 0100.5079.6668.02 Mar 03 2002 01:04 AM Automatic
ESW1#
Notons bien que le routage inter-vlans se fait bien par le biais du Switch Layer 3 ESW1 :
PC3> ping 10.10.10.2
84 bytes from 10.10.10.2 icmp_seq=1 ttl=63 time=15.520 ms
84 bytes from 10.10.10.2 icmp_seq=2 ttl=63 time=21.506 ms
84 bytes from 10.10.10.2 icmp_seq=3 ttl=63 time=14.532 ms
84 bytes from 10.10.10.2 icmp_seq=4 ttl=63 time=19.313 ms
84 bytes from 10.10.10.2 icmp_seq=5 ttl=63 time=14.462 ms
PC3> trace 10.10.10.2
trace to 10.10.10.2, 8 hops max, press Ctrl+C to stop
1 20.20.20.1 9.368 ms 9.488 ms 9.366 ms
2 *10.10.10.2 20.562 ms (ICMP type:3, code:3, Destination port unreachable)
PC3>
Remarque :
Il existe une autre solution aussi utilisée d’implémentation du serveur DHCP sur un routeur que nous n’avons pas traitée ici : c’est la solution Router-On-Stick faisant appel aux sub-interfaces du routeur. Notons qu’ici contrairement à la solution précédente ou la communication inter-Vlans se faisait via le switch layer 3, la communication inter-Vlans se fera via le routeur. Les lecteurs intéressés pourraient la mettre en pratique sous forme d’exercice en reprenant le schéma de figure 1 de ce LAB.