Contenu de la leçon
La plupart des étudiants en réseau sont familiers avec ARP (Address Resolution Protocol) mais Proxy ARP ne leur dit pas toujours quelque chose. Dans cette leçon, je vais expliquer comment fonctionne le proxy ARP, nous utiliserons la topologie suivante pour cela :
Dans l’exemple ci-dessus, nous avons deux sous-réseaux : 10.1.1.0 /24 et 10.2.2.0 /24. Le routeur au milieu est connecté aux deux sous-réseaux. En bas, vous voyez deux hôtes (H1 et H2) et en haut nous avons un serveur (S1).
Lorsque vous regardez de près les hôtes, vous pouvez voir que H1 a un masque de sous-réseau /24 et H2 a un masque de sous-réseau /8. Lorsque H1 essaie d’atteindre le serveur à 10.2.2.100, il se passe ce qui suit :
- H1 compare son adresse IP et son masque de sous-réseau à l’adresse IP du serveur (10.2.2.100) et décide que le serveur est dans un autre sous-réseau.
- H1 décide d’envoyer le paquet pour le serveur à sa passerelle par défaut (10.1.1.254).
- H1 vérifie sa table ARP pour voir s’il y a une entrée pour 10.1.1.254, sinon il enverra une requête ARP.
- Le routeur répondra à la requête ARP, en envoyant son adresse MAC de son interface FastEthernet 0/0.
C’est ainsi que le protocole ARP fonctionne normalement, lorsque H2 essaie d’envoyer un paquet IP vers le serveur, quelque chose d’autre va se produire :
- H2 compare son adresse IP et son masque de sous-réseau à l’adresse IP du serveur (10.2.2.100) et décide que le serveur est dans le même sous-réseau.
- H2 vérifie sa table ARP pour voir s’il y a une entrée pour 10.2.2.100, sinon il envoie une requête ARP.
Le serveur n’est cependant pas sur le sous-réseau 10.1.1.0 /24 et les routeurs ne transmettent pas le trafic de diffusion, donc la requête ARP n’arrive jamais au serveur. Tout espoir n’est cependant pas perdu….c’est là que le proxy ARP vient à la rescousse!
Lorsque le proxy ARP est activé sur le routeur, voici ce qui se passe:
- Le routeur voit la requête ARP de H2 sur le sous-réseau 10.1.1.0 /24 et voit que c’est une requête ARP pour quelque chose dans le sous-réseau 10.2.2.0 /24 subnet.
- Le routeur réalise qu’il sait comment atteindre le 10.2.2.0 /24 subnet et décide de répondre à la requête ARP afin d’aider H2.
- Le routeur envoie une réponse ARP à H2 avec son adresse MAC sur l’interface FastEthernet 0/0.
Vous me suivez jusqu’ici ? Laissez-moi vous montrer à quoi cela ressemble sur un vrai routeur.
Configuration
Je vais utiliser la topologie suivante pour démontrer le proxy ARP:
C’est la même image que celle que je viens de vous montrer mais j’utilise les routeurs de mon laboratoire. En désactivant « ip routing », je peux transformer les routeurs en périphériques hôtes ordinaires. Commençons par désactiver le routage sur R1, R2 et le serveur:
H1, H2 & S1(config)#no ip routing
Configurons la passerelle par défaut sur ces périphériques:
H1 & H2(config)#ip default-gateway 10.1.1.254
S1(config)#ip default-gateway 10.2.2.254
Configurons toutes les adresses IP dont nous avons besoin:
H1(config)#interface fastEthernet 0/0H1(config-if)#ip address 10.1.1.1 255.255.255.0
H2(config)#interface fastEthernet 0/0H2(config-if)#ip address 10.1.1.2 255.0.0.0
S1(config)#interface FastEthernet 0/0S1(config-if)#ip address 10.2.2.100 255.255.255.0
Notez que j’ai utilisé le masque de sous-réseau /8 sur H2 ici. Voici le routeur:
R1(config)#interface FastEthernet 0/0R1(config-if)#ip address 10.1.1.254 255.255.255.0R1(config-if)#interface FastEthernet 0/1R1(config-if)#ip address 10.2.2.254 255.255.255.0
C’est tout ce que nous avons à configurer…vérifions notre travail!
Vérification
Pour tester le proxy ARP je vais d’abord envoyer un peu de trafic de H1 vers le serveur pour que vous puissiez voir à quoi ressemble un ARP normal, puis nous enverrons un peu de trafic de H2 vers le serveur.
Le proxy ARP est activé par défaut comme vous pouvez le voir ici:
R1#show ip interface FastEthernet 0/0 | include Proxy Proxy ARP is enabled
Pour voir en temps réel ce qui se passe, je vais utiliser le débogage suivant sur R1:
R1#debug arpARP packet debugging is on
Envoyons quelques pings de l’hôte A vers le serveur:
.