Feeds
Articles
Discussions
Root
par julien, sept. 2007
Dans le cas ou l'on a des machines d'un meme reseau de part et d'autre d'une box (voir le schema ci-dessous), le proxy ARP doit etre utilise pour faire communiquer l'ensemble.
Ici, on veut que les trois machines 192.168.1.{21;22;23} puissent communiquer avec le reste du monde. Sur ces machines, on va donc specifier comme passerelle par defaut le ProxyARP : 192.168.1.20 (carte eth1).
Sur le ProxyARP, il faut donc activer le routage :
echo 'Activate routing mode' echo 1 > /proc/sys/net/ipv4/ip_forward
et on va egalement activer le mode proxy arp
echo 'Activate ARP Proxy mode' echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp
D'un point de vue reseau, le probleme est que les requete ARP ne sont pas routables. Donc quand les machines du reseau principal font chercher les adresses MAC de 192.168.1.{21;22;23}, elle ne font recevoir aucune reponse. La solution, c'est de demander au ProxyARP de repondre a leurs place avec sa propre adresse MAC. Il va donc recevoir les paquets pour les autres machines et les faire suivre grace a sa fonction de routage.
Donc :
Ce qui se traduit par :
echo "add host 192.168.1.21" route add -host 192.168.1.21 eth1 arp -i eth0 -Ds 192.168.1.21 eth0 pub
La regle route permet de faire suivre les paquets sur l'interface eth1 (192.168.1.20) et la regle ARP permet de dire que pour l'interface eth0, on publie (pub) a tout le monde que 192.168.1.21 est relie a l'adresse MAC de la carte eth0 du ProxyARP.
Et Hop, ca marche :)
Discussion
Bonjour; J'ai lu cet article, il m'a permis de bien comprendre le mécanisme proxy_arp. Dans mon cas, je fais du nat sur le routeur linux(SNAT). Etant donné que j'ai pris une adresse publique différente de l'interface de sortie de routeur, j'arrive pas à pinguer sur mon réseau interne. J'ai activé le proxy_arp mais le routeur ne répond pas aux requetes arp externes. Si vous pouvez m'aider s'il vous plait. Merci infiniment à l'avance.
Comme ca, pas vraiment. Mais si vous prenez le temps d'inclure un schema, ca peut aider. :)