  Bridging mini HOWTO
  Christopher Cole  <mailto:cole@coledd.com>
  Version franaise : Samuel Tribehou  <mailto:Samuel-
  TRIBEHOU@mail.cpod.fr>
  v1.11, 7 Septembre 1998.

  Ce document dcrit l'installation d'un pont ethernet. Un pont est une
  machine qui contrle des paquets de donnes  l'intrieur d'un sous-
  rseau dans le but de rduire le trafic.  Un pont est gnralement
  pla entre deux groupes diffrents d'ordinateurs qui peuvent communi
  quer entre eux, mais pas avec les ordinateurs de l'autre groupe.  Un
  bon exemple est de considrer 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 rseau engendre des
  collisions pour les autres machines qui tentent de communiquer.  Un
  pont sera pla entre ces groupes d'ordinateurs. Son rle sera alors
  d'examiner la destination des paquets de donnes un par un et de
  dcider de passer ou non les paquets de l'autre ct du segment ether
  net.  Le rsultat est un rseau plus rapide, silencieux, et engen
  drant moins de collisions.
  ______________________________________________________________________

  Table des matires


  1. Installation

  2. Questions frquemment poses.



  ______________________________________________________________________

  11..  IInnssttaallllaattiioonn


    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 relanant 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 trouves en rajoutant plus de dcla
  rations ether. Par dfaut le noyau ne cherche  dtecter qu'une seule
  carte ethernet, et ds qu'il en a trouv une la dtection cesse.  La
  dclaration append ci-dessus indique au noyau de continuer  chercher
  d'autres cartes ethernet une fois la premire trouve.  Alternative
  ment, les paramtres de boot peuvent tre utiliss  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
     vritable 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
     driver sur ce point. Faites ce que vous devez faire ! S'il y a
     plus de 2 interfaces sur ce pont, soyez sr de faire les
     configurations correspondantes pour les autres aussi.


    Rebootez, de faon  utiliser le nouveau noyau avec l'option
     bridging, et pour tre sr que des adresses IP ne sont pas
     attaches aux interfaces reseau.


    Une fois que le systme est prt, mettez les cartes ethernet en
     mode promiscuous, de faon  ce qu'elles regardent chaque paquet
     qui passe par leur interface :


       ifconfig eth0 promisc; ifconfig eth1 promisc




  Toutes les interfaces qui sont connectes aux segments rseau  relier
  doivent tre mises en promiscuous mode.


    Mettez le pont en route en utilisant le programme brcfg :


       brcfg -ena





    Vrifiez qu'il y a un trafic diffrent pour chaque interface :


       tcpdump -i eth0 (dans une fentre).
       tcpdump -i eth1 (dans une autre fentre).



    Lancez un sniffer ou tcpdump sur une autre machine pour vrifier
     que le pont spare les segments correctement.


  22..  QQuueessttiioonnss ffrrqquueemmmmeenntt ppoosseess..


    QQ ::
      _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 ?
     RR ::  Le support du pontage n'est pas intgr dans votre noyau.
     Utilisez un noyau 2.0 ou suprieur, et recompilez-le avec l'option
     BRIDGING.

    QQ :: _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 _!
     RR ::

     1. Avez vous activ le pontage en utilisant brcfg -ena ?  (brcfg
        devrait rpondre 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 grer plusieurs sortes
        d'interface, vrifiez que c'est la bonne qui est utilise. Il se
        peut que vous ayez besoin d'utiliser le programme de
        configuration qui est livr avec votre carte rseau.


    QQ :: _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 _?
     RR :: 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 rseau.

    QQ :: _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 _?
     RR :: Rien ! Tout le mchanisme de routage est dlgu 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 : bbrrccffgg --ddeebb

    QQ :: _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 ?
     RR ::  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 rseau.

    QQ :: _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 ?
     RR :: 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 associes  ses interfaces.

    QQ :: _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 diffrentes ?
     RR :: Non. Chaque port sur un pont est intentionellement assign  la
     mme adresse ethernet physique par le code de pontage.

    QQ :: _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
     slectionner ?
     RR :: Pendant la configuration du noyau, rpondez Y  la
     questionPrompt for development and/or incomplete code/drivers
     (CONFIG_EXPERIMENTAL) Y/n/?.
    QQ :: _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 _?
     RR :: Un pont annule la rgle des 3/4/5 hubs. Un pont ne gre pas les
     paquets de la mme faon qu'un hub, et ne contribue donc pas aux
     problmes de timing dasns un rseau.

    QQ :: _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 _?
     RR :: Oui, un pont peut joindre entre eux un segment de 10Mb avec un
     autre de 100Mb. Du moment que la carte rseau du ct rapide du
     rseau est une 100Mb, TCP prendra en charge le reste. Bien qu'il
     soit vrai que les paquets d'un hte dans le rseau  100Mb
     communiquant avec un autre du rseau  10Mb se dplaceront 
     seulement 10Mb/s, le reste du trafic sur l'ethernet rapide n'est
     pas ralenti.


















































