Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > 4275f27a03145c1dd735c321a30f393b > files > 70

howto-text-nl-9.0-1mdk.noarch.rpm

  Bridging mini-Howto
  Christopher Cole cole@coledd.com
  v1.21, 7 maart 2001

  In dit document wordt beschreven hoe een ethernet bridge op te zetten.
  Wat is een ethernet bridge? Een ethernet bridge is een device dat
  gegevenspakketjes beheert binnen een subnet in een poging de
  hoeveelheid verkeer te beperken. Een bridge wordt gewoonlijk tussen
  aparte groepen computers geplaatst die daarbinnen communiceren, maar
  niet zoveel als met de computers in de andere groep. Een goed
  voorbeeld hiervan is te zien als een cluster Macintoshes en een
  cluster unix computers. Beide groepen computers neigen nogal
  babbelziek onder elkaar te zijn, en het verkeer dat ze op het netwerk
  produceren veroorzaakt aanvaringen voor de andere computers die
  proberen met elkaar te communiceren. Een bridge zou tussen deze
  groepen computers worden geplaatst. De taak van de bridge bestaat dan
  hieruit de bestemming van de gegevenspakketjes één voor één te
  bestuderen en te beslissen wel of niet de pakketjes naar de andere
  kant van het ethernet segment door te geven. Het resultaat is een
  sneller, stiller netwerk met minder aanvaringen.
  ______________________________________________________________________

  Inhoudsopgave


  1. Setup

  2. Gebruikelijke problemen



  ______________________________________________________________________

  1.  Setup


  1. Haal ``Bridge Config'' op van:


       <ftp://ftp.tux.org/people/alan-cox/BRCFG.tgz>



  BRCFG is ook te vinden op:




       <http://coledd.com/networking/bridge/>



  2. Activeer meerdere ethernet devices op je computer door het volgende
     toe te voegen aan /etc/lilo.conf, en door lilo daarna opnieuw op te
     starten:


       append = "ether=0,0,eth1"





  Als je drie interfaces op je bridge hebt, voeg je in plaats daarvan de
  volgende regel toe:

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






  Er kunnen meerdere interfaces worden gevonden door meer ether
  statements toe te voegen. Standaard onderzoekt de Linux kernel het
  systeem op een enkele ethernetkaart, en zodra er één wordt gevonden
  houdt het onderzoeken ernaar op.  Het append statement hierboven
  vertelt de kernel naar meer ethernet devices te blijven zoeken nadat
  de eerste werd gevonden.

  Als alternatief kan hiervoor in de plaats de bootparameter worden
  gebruikt:


       linux ether=0,0,eth1





  Of in het geval van 3 interfaces gebruik je:


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






  3. Hercompileer de kernel met BRIDGING geactiveerd.

  4. Aan een bridge hoeft geen IP-adres toegekend te worden.  Het KAN
     wel, maar een plain bridge heeft dit niet nodig.  Ga voor het
     verwijderen van het IP-adres dat aan je bridge is toegekend naar
     /etc/sysconfig/network-scripts/ (voor een RedHat systeem) en
     kopieer ifcfg-lo0 naar ifcfg-eth0 & ifcfg-eth1. Vervang in deze 2
     eth bestanden de regel ``DEVICE=lo'' door ``DEVICE=eth0'' en
     ``DEVICE=eth1''.  Andere distributies kunnen hiervan afwijken, doe
     wat je moet doen!  Als er meer dan 2 interfaces naar deze bridge
     zijn, maak dan bovendien de corresponderende configuraties.

  5. Herstart het systeem, zodat je de nieuwe kernel met bridging
     activeert en ook om er zeker van te zijn dat er geen IP-adres aan
     de netwerkinterfaces is gekoppeld.

  6. Zodra het systeem weer "in de lucht" is, plaats je de
     ethernetkaarten in promiscuous mode, zodat ze ieder pakketje dat de
     interface passeert bekijken:


       ifconfig eth0 promisc ; ifconfig eth1 promisc





  Alle interfaces verbonden met netwerksegmenten voor de bridge moeten
  in promiscuous mode worden gezet.

  7. Zet bridging AAN met behulp van het programma brcfg:

  brcfg -ena






  8. Verifieer dat er ander verkeer is op iedere interface:


       tcpdump -i eth0      (in een venster)
       tcpdump -i eth1      (in een ander venster)






  9. Start op een andere computer een sniffer of tcpdump ter verificatie
     dat de bridge het segment correct afzondert.

  2.  Gebruikelijke problemen


  1.

     Vraag
        Ik kreeg de melding


          ioctl(SIOCGIFBR) failed: Package not installed





     Wat betekent dit?

     Antwoord
        Je hebt geen ondersteuning voor bridging in je kernel. Zorg dat
        je aan kernel 2.0 of nieuwere versie komt, en hercompileer het
        met de BRIDGING optie geactiveerd.


  2.

     Vraag
        Computers aan de ene kant kunnen de computers aan de andere kant
        niet pingen!

     Antwoord

     ·  Heb je bridging geactiveerd met behulp van ``brcfg -ena''?
        (brcfg zou als antwoord terug moeten geven ``bridging is
        ENABLED'')

     ·  Heb je de interfaces in promiscuous mode gezet?  (voer de
        opdracht ``ifconfig'' uit.  De ``PROMISC'' vlag zou voor beide
        interfaces aan moeten staan).

     ·  Als je gebruik maakt van multiple-media interface adapters, zorg
        er dan voor dat de juiste is geactiveerd.  Misschien dat je het
        config/setup programma nodig hebt dat met de netwerk
        interfacekaart werd meegeleverd.


  3.

     Vraag
        Ik kan niet telnetten/ftp-en vanaf de bridge!  Waarom niet?

     Antwoord
        Dit komt omdat er met de bridge interfaces geen IP-adres is
        verbonden.  Een bridge is bedoeld als een transparant onderdeel
        van het netwerk.


  4.

     Vraag
        Wat heb ik nodig om routing in te stellen?

     Antwoord
        Niets!  Alle routing intelligentie wordt afgehandeld door de
        bridging code in de kernel. Gebruik het programma brcfg in debug
        mode om de ethernetadressen te bekijken zoals ze aan de bridge
        zijn opgegeven.


          brcfg -deb






  5.

     Vraag
        De bridge schijnt te werken, maar waarom laat ``traceroute'' de
        bridge niet zien als onderdeel van het path?

     Antwoord
        Vanwege de eigenschappen van een bridge, laat een ``traceroute''
        de bridge NIET als onderdeel van het path zien. Een bridge is
        bedoeld als een transparante component van het netwerk.


  6.

     Vraag
        Is het nodig IP_FORWARD in de kernel te compileren?

     Antwoord
        Nee. De bridging code in de kernel zorgt voor het transport van
        de pakketjes.  IP_FORWARD is voor een gateway waar een IP-adres
        met de interfaces is verbonden.


  7.

     Vraag
        Waarom zijn de fysieke ethernetadressen voor poort 1 en poort 2
        hetzelfde volgens het ``brcfg'' programma?  Zouden ze niet
        verschillend moeten zijn?

     Antwoord
        Nee. Aan elke poort op een bridge is doelbewust hetzelfde
        ethernetadres toegekend door de bridging code.



  8.

     Vraag
        Bridging verschijnt niet als een optie bij het uitvoeren van een
        make config op de kernel. Hoe activeert men dit?

     Antwoord
        Antwoord tijdens de kernelconfig 'Y' op de vraag, ``Prompt for
        development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL)
        [Y/n/?]''.


  9.

     Vraag
        Te veel hubs (4 of meer) achtereenvolgens in een keten (in
        serie) veroorzaakt tijdsproblemen op een ethernet. Welk effect
        heeft een bridge in een subnet dat met hubs in lagen werkt?

     Antwoord
        Een bridge reset de 3/4/5 hubs regel. Een bridge gaat niet zo
        met pakketjes om zoals een hub dat doet, en draagt daarom niet
        bij aan tijdsproblemen op een netwerk.


  10.

     Vraag
        Is een bridge interface naar zowel 10Mb als 100Mb
        ethernetsegmenten mogelijk? Zal een dergelijke configuratie de
        rest van het verkeer op de hoge snelheidszijde vertragen?

     Antwoord
        Ja, een bridge kan een 10Mb segment verbinden met een 100Mb
        segment.  Zolang als de netwerkkaart op het snelle netwerk 100Mb
        capabel is, zorgt TCP voor de rest. Ondanks dat het klopt dat de
        pakketjes van een host communicerend in het 100Mb netwerk
        verplaatst worden in slechts 10Mb/s, zal de rest van het verkeer
        op het snelle ethernet daardoor niet worden vertraagd.