Bridging mini HOWTO
 Christopher Cole  <mailto:[email protected]>
 Version fran�aise : Samuel Tribehou  <mailto:Samuel-
 [email protected]>
 v1.11, 7 Septembre 1998.

 Ce document d�crit l'installation d'un pont ethernet. Un pont est une
 machine qui contr�le des paquets de donn�es � l'int�rieur d'un sous-
 r�seau dans le but de r�duire le trafic.  Un pont est g�n�ralement
 pla�� entre deux groupes diff�rents d'ordinateurs qui peuvent communi�
 quer entre eux, mais pas avec les ordinateurs de l'autre groupe.  Un
 bon exemple est de consid�rer un groupe de Macintosh et un autre de
 machines Unix.  Ces groupes de machines tendent � beaucoup communiquer
 entre eux, et le trafic qu'ils produisent sur le r�seau engendre des
 collisions pour les autres machines qui tentent de communiquer.  Un
 pont sera pla�� entre ces groupes d'ordinateurs. Son r�le sera alors
 d'examiner la destination des paquets de donn�es un par un et de
 d�cider de passer ou non les paquets de l'autre c�t� du segment ether�
 net.  Le r�sultat est un r�seau plus rapide, �silencieux�, et engen�
 drant moins de collisions.
 ______________________________________________________________________

 Table des mati�res


 1. Installation

 2. Questions fr�quemment pos�es.



 ______________________________________________________________________

 11..  IInnssttaallllaattiioonn


 �  Se procurer �Bridge Config� :
    <ftp://shadow.cabi.net/pub/Linux/BRCFG.tgz>


 �  Authoriser de multiples interfaces ethernet sur la machine en
    ajoutant ceci � votre /etc/lilo.conf, et en relan�ant lilo :


      append = "ether=0,0,eth1"




 Si vous avez trois interfaces sur votre pont, utilisez cette ligne �
 la place :



      append = "ether=0,0,eth1 ether=0,0,eth2"





 D'autres interfaces pourront �tre trouv�es en rajoutant plus de d�cla�
 rations ether. Par d�faut le noyau ne cherche � d�tecter qu'une seule
 carte ethernet, et d�s qu'il en a trouv� une la d�tection cesse.  La
 d�claration append ci-dessus indique au noyau de continuer � chercher
 d'autres cartes ethernet une fois la premi�re trouv�e.  Alternative�
 ment, les param�tres de boot peuvent �tre utilis�s � la place :
      linux ether=0,0,eth1





 ou, avec 3 interfaces, utilisez :



      linux ether=0,0,eth1 ether=0,0,eth2





 �  Recompilez le noyau en rajoutant l'option BRIDGING.


 �  Un pont ne devrait pas avoir d'adresse IP. Il PEUT, mais un
    v�ritable pont n'en a pas besoin. Pour enlever l'adresse IP de
    votre pont, allez dans /etc/sysconfig/network-scripts/ (pour une
    RedHat) et copiez ifcfg-lo0 dans ifcfg-eth0 et ifcfg-eth1. Dans ces
    deux fichiers, changez la ligne contenant �DEVICE=lo� en
    �device=eth0� et �DEVICE=eth1�. Les autres distributions peuvent
    d�river sur ce point. Faites ce que vous devez faire ! S'il y a
    plus de 2 interfaces sur ce pont, soyez s�r de faire les
    configurations correspondantes pour les autres aussi.


 �  Rebootez, de fa�on � utiliser le nouveau noyau avec l'option
    bridging, et pour �tre s�r que des adresses IP ne sont pas
    attach�es aux interfaces reseau.


 �  Une fois que le syst�me est pr�t, mettez les cartes ethernet en
    mode �promiscuous�, de fa�on � ce qu'elles regardent chaque paquet
    qui passe par leur interface :


      ifconfig eth0 promisc; ifconfig eth1 promisc




 Toutes les interfaces qui sont connect�es aux segments r�seau � relier
 doivent �tre mises en �promiscuous mode�.


 �  Mettez le pont en route en utilisant le programme brcfg :


      brcfg -ena





 �  V�rifiez qu'il y a un trafic diff�rent pour chaque interface :


      tcpdump -i eth0 (dans une fen�tre).
      tcpdump -i eth1 (dans une autre fen�tre).



 �  Lancez un sniffer ou tcpdump sur une autre machine pour v�rifier
    que le pont s�pare les segments correctement.


 22..  QQuueessttiioonnss ffrr��qquueemmmmeenntt ppooss��eess..


 �  QQ ::
     _J_'_a_i _l_e _m_e_s_s_a_g_e _: ioctl(SIOCGIFBR) failed~: Package not installed.
    Qu'est-ce que �a veut dire ?
    RR ::  Le support du pontage n'est pas int�gr� dans votre noyau.
    Utilisez un noyau 2.0 ou sup�rieur, et recompilez-le avec l'option
    BRIDGING.

 �  QQ :: _L_e_s _m_a_c_h_i_n_e_s _q_u_i _s_o_n_t _d_'_u_n _c_�_t_� _d_u _p_o_n_t _n_e _p_e_u_v_e_n_t _p_a_s _�_p_i_n_g_e_r_�
    _l_e_s _a_u_t_r_e_s _!
    RR ::

    1. Avez vous activ� le pontage en utilisant �brcfg -ena� ?  (brcfg
       devrait r�pondre �bridging is ENABLED� )

    2. Avez vous mis l'interface en �promiscuous mode� ? (Tapez la
       commande �ifconfig�. Le drapeau (flag) devrait �tre mis sur les
       deux interfaces.)

    3. Si vous utilisez des cartes pouvant g�rer plusieurs sortes
       d'interface, v�rifiez que c'est la bonne qui est utilis�e. Il se
       peut que vous ayez besoin d'utiliser le programme de
       configuration qui est livr� avec votre carte r�seau.


 �  QQ :: _J_e _n_e _p_e_u_x _p_a_s _u_t_i_l_i_s_e_r _t_e_l_n_e_t _o_u _f_t_p _d_e_p_u_i_s _l_e _p_o_n_t _!
    _p_o_u_r_q_u_o_i _?
    RR :: C'est parce que le pont n'a d'adresse IP pour aucune de ses
    interfaces. Un pont doit �tre une partie transparente d'un r�seau.

 �  QQ :: _Q_u_e _d_o_i_s_-_j_e _c_o_n_f_i_g_u_r_e_r _p_o_u_r _q_u_e _l_e _r_o_u_t_a_g_e _s_e _f_a_s_s_e _b_i_e_n _?
    RR :: Rien ! Tout le m�chanisme de routage est d�l�gu� au code de
    pontage du noyau. Pour voir les adresses ethernet telles qu'elles
    sont comprises par le noyau, utilisez le programme brcfg en mode
    debug : bbrrccffgg --ddeebb

 �  QQ :: _L_e _p_o_n_t _s_e_m_b_l_e _m_a_r_c_h_e_r_, _m_a_i_s _p_o_u_r_q_u_o_i traceroute ne montre pas
    le pont comme faisant partie du chemin ?
    RR :: � cause de la nature d'un pont, traceroute ne devrait PAS
    montrer le pont comme faisant partie du chemin. Un pont doit �tre
    transparent pour le reste du r�seau.

 �  QQ :: _E_s_t_-_i_l _n_�_c_e_s_s_a_i_r_e _d_e _c_o_m_p_i_l_e_r _l_e _n_o_y_a_u _a_v_e_c _l_'_o_p_t_i_o_n
    IP_FORWARD ?
    RR :: Non. Le code de pontage dans le noyau se charge du transport
    des paquets. IP_FORWARD sert pour une passerelle qui a des adresses
    IP associ�es � ses interfaces.

 �  QQ :: _P_o_u_r_q_u_o_i _e_s_t_-_c_e _q_u_e _l_e_s _a_d_r_e_s_s_e_s _e_t_h_e_r_n_e_t _p_h_y_s_i_q_u_e_s _p_o_u_r _l_e
    _p_o_r_t _1 _e_t _2 _s_o_n_t _l_e_s _m_�_m_e_s _s_e_l_o_n brcfg ? Ne devraient-elles pas
    �tre diff�rentes ?
    RR :: Non. Chaque port sur un pont est intentionellement assign� � la
    m�me adresse ethernet physique par le code de pontage.

 �  QQ :: _B_r_i_d_g_i_n_g _n_'_a_p_p_a_r_a_i_t _p_a_s _d_a_n_s _l_e_s _o_p_t_i_o_n_s _l_o_r_s_q_u_e _j_e _f_a_i_s _u_n_/
    make config sur les sources du noyau. Comment faire pour pouvoir le
    s�lectionner ?
    RR :: Pendant la configuration du noyau, r�pondez Y � la
    question�Prompt for development and/or incomplete code/drivers
    (CONFIG_EXPERIMENTAL) Y/n/?�.
 �  QQ :: _T_r_o_p _d_e _h_u_b_s _(_4 _o_u _p_l_u_s_) _c_h_a_�_n_�_s _l_'_u_n _a_p_r_�_s _l_'_a_u_t_r_e _(_e_n _s_�_r_i_e_)
    _p_o_s_e_n_t _d_e_s _p_r_o_b_l_�_m_e_s _d_e _t_i_m_i_n_g _s_u_r _u_n _e_t_h_e_r_n_e_t_. _Q_u_e_l _e_f_f_e_t _a _u_n
    _p_o_n_t _d_a_n_s _u_n _s_o_u_s_-_r_�_s_e_a_u _a_c_c_�_d_� _p_a_r _d_e_s _h_u_b_s _?
    RR :: Un pont annule la r�gle des 3/4/5 hubs. Un pont ne g�re pas les
    paquets de la m�me fa�on qu'un hub, et ne contribue donc pas aux
    probl�mes de timing dasns un r�seau.

 �  QQ :: _E_s_t_-_c_e _q_u_'_u_n _p_o_n_t _p_e_u_t _�_t_r_e _i_n_t_e_r_f_a_�_� _a_v_e_c _d_e_s _s_e_g_m_e_n_t_s
    _e_t_h_e_r_n_e_t _d_'_u_n _c_�_t_� _d_e _1_0_M_b _e_t _d_e _l_'_a_u_t_r_e _d_e _1_0_0_M_b _?
    RR :: Oui, un pont peut joindre entre eux un segment de 10Mb avec un
    autre de 100Mb. Du moment que la carte r�seau du c�t� rapide du
    r�seau est une 100Mb, TCP prendra en charge le reste. Bien qu'il
    soit vrai que les paquets d'un h�te dans le r�seau � 100Mb
    communiquant avec un autre du r�seau � 10Mb se d�placeront �
    seulement 10Mb/s, le reste du trafic sur l'ethernet rapide n'est
    pas ralenti.