Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > a412ceb851151854794ced2a242192bb > files > 3836

howto-html-fr-20080722-1mdv2010.0.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Pseudo-pont avec du Proxy-ARP</title><link href="style.css" rel="stylesheet" type="text/css" /><meta content="DocBook XSL Stylesheets V1.73.2" name="generator" /><link rel="start" href="index.html" title="HOWTO du routage avancé et du contrôle de trafic sous Linux" /><link rel="up" href="ch16.html" title="Chapitre 16. Construire des ponts et des pseudo ponts avec du Proxy ARP" /><link rel="prev" href="ch16s02.html" title="Pont et mise en forme" /><link rel="next" href="ch17.html" title="Chapitre 17. Routage Dynamique - OSPF et BGP" /></head><body><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Pseudo-pont avec du Proxy-ARP</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ch16s02.html">Précédent</a> </td><th align="center" width="60%">Chapitre 16. Construire des ponts et des pseudo ponts avec du Proxy ARP</th><td align="right" width="20%"> <a accesskey="n" href="ch17.html">Suivant</a></td></tr></table><hr /></div><div class="sect1" lang="fr"><div class="titlepage"><div><div><h2 class="title"><a id="lartc.bridging.proxy-arp" />Pseudo-pont avec du Proxy-ARP</h2></div></div></div><p>
Si vous voulez juste implémenter un pseudo pont, allez jusqu'à la section
"Implémentez-le". Cependant, il est sage de lire un peu la façon dont il
fonctionne en pratique.
</p><p>
Un pseudo pont travaille de manière un peu différente. Par défaut, un pont
transmet les paquets sans les altérer d'une interface à une autre. Il ne
regarde que l'adresse matérielle des paquets pour déterminer où ils doivent aller.
Ceci signifie que vous pouvez "pontez" un trafic que Linux ne comprend pas,
aussi longtemps qu'il y a une adresse matérielle.
</p><p>
Un "pseudo pont" travaille différemment et ressemble plus à un routeur
caché qu'à un pont. Mais, comme un pont, il a un impact faible sur
l'architecture du réseau.
</p><p>
Le fait qu'il ne soit pas un pont présente l'avantage que les paquets
traversent réellement le noyau, et peuvent être filtrés, modifiés,
redirigés ou reroutés.
</p><p>
Un pont réel peut également réaliser ces tours de force, mais il a besoin
d'un code spécial, comme le Ethernet Frame Diverter ou la mise à jour
mentionnée au-dessus.
</p><p>
Un autre avantage d'un pseudo pont est qu'il ne transmet pas les paquets
qu'il ne comprend pas, nettoyant ainsi votre réseau de beaucoup de
cochonneries. Dans le cas où vous auriez besoin de ces cochonneries 
(comme les paquets SAP ou Netbeui), utilisez un vrai pont.
</p><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N1225B" />ARP &amp; Proxy-ARP</h3></div></div></div><p>
Quand un hôte veut dialoguer avec un autre hôte sur le même segment
physique, il envoie un paquet du Protocole de Résolution d'Adresse (ARP)
qui, en simplifiant quelque peu, est lu comme ceci : "Qui a 10.0.0.1,
le dire à 10.0.0.7". En réponse à ceci, 10.0.0.1 renvoie un petit paquet
"ici".
</p><p>
10.0.0.7 envoie alors des paquets à l'adresse matérielle mentionnée dans le
paquet "ici". Il met dans un cache cette adresse matérielle pour un temps
relativement long et, après l'expiration du cache, repose sa question.
</p><p>
Quand on construit un pseudo pont, on configure le pont pour qu'il réponde
à ces paquets ARP, les hôtes du réseau envoyant alors leurs paquets au
pont. Le pont traite alors ces paquets et les envoie à l'interface adaptée.
</p><p>
Donc, en résumé, quand un hôte d'un côté du pont demande l'adresse
matérielle d'un hôte se situant de l'autre côté, le pont répond avec 
un paquet qui dit "transmets le moi".
</p><p>
De cette façon, tout le trafic de données est transmis à la bonne place et
il traverse toujours le pont.
</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N12268" />Implémentez-le</h3></div></div></div><p>
Les versions anciennes du noyau linux permettait de faire du proxy ARP
uniquement à une granularité sous réseaux. Ainsi, pour configurer un
pseudo pont, il fallait spécifier les bonnes routes vers les deux
côtés du pont, et également créer les règles proxy-ARP
correspondantes. C'était pénible, déjà par la quantité de texte qu'il
fallait taper, puis parce qu'il était facile de se tromper et créer
des configurations erronées, où le pont répondait à des requêtes pour
des réseaux qu'il ne savait pas router.
</p><p>
Avec Linux 2.4 (et peut-être bien le 2.2), cette possibilité a été retirée
et a été remplacée par une option dans le répertoire /proc, appelée
"proxy-arp". La procédure pour construire un pseudo pont est
maintenant :

<div class="orderedlist"><ol type="1"><li><p>
Assigner une adresse à chaque interface, la "gauche" et la "droite"
</p></li><li><p>
Créer des routes pour que votre machine connaisse quels hôtes
résident à gauche et quels hôtes résident à droite
</p></li><li><p>
Activer le proxy-ARP sur chaque interface

echo 1 &gt; /proc/sys/net/ipv4/conf/ethL/proxy_arp

echo 1 &gt; /proc/sys/net/ipv4/conf/ethR/proxy_arp

où L et R désignent les numéros de l'interface du côté gauche (Left) et de celle
du côté droit (Right)
</p></li></ol></div>

</p><p>
N'oubliez pas également d'activer l'option ip_forwarding ! Quand on
convertit un vrai pont, il se peut que vous trouviez cette option désactivée dans
la mesure où il n'y en a pas besoin pour un pont.
</p><p>
Une autre chose que vous devriez considérer lors de la conversion est que vous
aurez besoin d'effacer le cache arp des ordinateurs du réseau. Le cache arp
peut contenir d'anciennes adresses matérielles du pont qui ne sont plus
correctes.
</p><p>
Sur un Cisco, ceci est réalisé en utilisant la commande 'clear arp-cache'
et, sous linux, en utilisant 'arp -d ip.adresse'. Vous pouvez aussi
attendre l'expiration manuelle du cache, ce qui peut être plutôt long.
</p><p>
Il se peut que vous découvriez également que votre réseau était mal
configuré si vous avez/aviez l'habitude de spécifier les routes sans les
masques de sous-réseau. Dans le passé, certaines versions de
<span class="command"><strong>route</strong></span> pouvaient correctement deviner le masque ou, au
contraire, se tromper sans pour autant vous le notifier.  Quand vous faites
du routage chirurgical comme décrit plus haut, il est *vital* que vous
vérifiez vos masques de sous-réseau.
</p></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ch16s02.html">Précédent</a> </td><td align="center" width="20%"><a accesskey="u" href="ch16.html">Niveau supérieur</a></td><td align="right" width="40%"> <a accesskey="n" href="ch17.html">Suivant</a></td></tr><tr><td valign="top" align="left" width="40%">Pont et mise en forme </td><td align="center" width="20%"><a accesskey="h" href="index.html">Sommaire</a></td><td valign="top" align="right" width="40%"> Chapitre 17. Routage Dynamique - OSPF et BGP</td></tr></table></div></body></html>