  Bridging mini-HOWTO
  Ralph Wetzel (Ralph.Wetzel@munich.netsurf.de)
  v1.0-2, 22. Oktober 1996

  Dieses mini-HOWTO erklrt in einfachen Worten und ziemlich schnell,
  wie man einen Linux-Rechner als Bridge einrichtet. Es basiert (im
  Moment noch zu 100%) auf dem "Bridging mini-HOWTO v1.03" von Chris
  Cole.


  1.  Installation


  1. Man besorge sich die Bridge Config-Tools:

       shadow.cabi.net:/pub/Linux/BRCFG.tgz



  2. Man besorge sich und lese das Multiple ethernet mini-HOWTO:

       metalab.unc.edu:/pub/Linux/docs/HOWTO/mini/Multiple-Ethernet



  3. Man bringe seinem Rechner bei, mehrere Ethernet-Karten zu
     verwalten, indem man die folgende Zeile in /etc/lilo.conf einfgt,
     und anschlieend lilo startet:


       append = "ether=0,0,eth1"




  Ist der zuknftige Bridge-Rechner mit drei Ethernet-Karten bestckt,
  so sollte man diese Zeile verwenden:


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




  Je mehr ether-Anweisungen man einfgt, desto mehr Karten kann Linux
  finden. Standardmig testet ein Linux Kernel nur die Anwesenheit
  einer einzigen Ethernet-Karte, und beendet die Suche, nachdem er sie
  gefunden hat. Die ether-Anweisungen fordern den Kernel auf, die Suche
  zustzlich auf weitere Karten auszudehnen.

  Als Alternative zur Vernderung der /etc/lilo.conf knnen die
  Anweisungen als Boot-Parameter bergeben werden:

  linux ether=0,0,eth1




  Oder, bei drei installierten Karten:


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





  4. Man erstelle einen Kernel mit bridging-Fhigkeiten. Dazu sind,
     whrend der Kernel-Konfiguration, auf


    die einzige Option in Code maturity level options.

    Bridging (EXPERIMENTAL) in Networking options.


  5. Eine Bridge sollte keine IP Adresse haben. Sie kann, aber eine
     reine Bridge bentigt keine. Um die IP Adressen der Bridge zu
     entfernen, gehe man zu /etc/sysconfig/network-scripts/ (fr ein
     RedHat System) und kopiere ifcfg-lo0 nach ifcfg-eth0 &ifcfg-eth1.
     In diesen Files ndere man die Zeile Soll die Bridge mehr als zwei
     Ethernet-Karten beinhalten, sind die entsprechenden Files auch fr
     die restlichen Karten einzurichten.

     Fr andere Distributionen, wie z.B. S.u.S.E., mu man hier etwas
     anders vorgehen. Darauf werde ich in zuknftigen Versionen dieses
     HOWTO's nher eingehen. :))


  6. Man reboote den Rechner, so da nun


    der Kernel bridging-Fhigkeiten besitzt

    die Ethernet-Karten eingerichtet und

    mglichst an keine IP Adresse gebunden sind.


  7. Ist das System wieder zurck, sind die Ethernet-Karten in den
     promiscous-mode zu setzen, so da sie jedes packet annehmen,
     welches sie erreicht. Dabei ist darauf zu achten, da jede Karte,
     die an einen Netzwerk-Bereich angeschlossen ist, der ber die
     Bridge angebunden werden soll, in diesen Modus zu schalten ist:


       ifconfig promisc eth0 ; ifconfig promisc eth1





  8. Man schalte die Bridge mittels des Programms brcfg EIN:


       brcfg -ena



  9. Der Netzverkehr auf den einzelnen Karten sollte sich unterscheiden.
     Man berprfe dies mittels:


       tcpdump -i eth0     (in einem Fenster)
       tcpdump -i eth1     (in einem anderen Fenster)





  10.
     Startet man einen sniffer oder tcpdump auf einem anderen Rechner,
     kann man berprfen, ob die Bridge die einzelnen Teile des
     Netzwerks richtig verwaltet.


  2.  FAQ - Normale Probleme


    Was bedeutet die Fehlermeldung "ioctl(SIOCGIFBR) failed: Package
     not installed"?

     Der verwendete Kernel besitzt keine bridging-Fhigkeit.  Man
     besorge sich den Source-Code fr einen Kernel v2.x.x, und
     compiliere ihn entsprechend ``Nr. 4)''.


    Mein Rechner auf der einen Seite der Bridge kann den auf der
     anderen nicht anpingen!


     1. Ist die Bridge eingeschaltet ('brcfg -ena' erledigt das)?  brcfg
        sollte dann mit 'bridging is ENABLED' antworten.

     2. Sind alle Karten im promiscous-mode? Falls unklar, bemhe man
        den Befehl ifconfig. Fr jede Karte sollte das PROMISC-Flag
        gesetzt sein.

     3. Verwendet man Ethernet-Karten, die an verschiedene Netzwerktypen
        angeschlossen werden knnen, stelle man sicher, da der richtige
        Anschlu aktiviert ist. Im Erstfall hilft sicher das mit der
        Karte mitgelieferte Setup-/Konfigurations- Programm.

    Ich kann von der Bridge aus mit telnet/ftp keinen anderen Rechner
     erreichen!

     Ganz einfach: Die Netzwerkkarten der Bridge besitzen keine IP
     Adressen, da sie gem Standard ein transparenter Teil des
     Netzwerkes sind.

    Was mu ich machen um den routing-Pfad festzulegen?

     Gar nichts! Der bridging code im Kernel verwaltet alles Notwendige.
     Um die Ethernet-Adressen zu sehen, die die Bridge erkannt hat, kann
     man den Debug-Modus des brcfg-Programms verwenden:


       brcfg -deb





    Die Bridge scheint zu funktionieren, aber warum zeigt traceroute
     sie nicht als Teil des Netzwerkes?
     Auf Grund der ursprnglichen Definition einer Brigde sollte
     traceroute die Bridge nicht zeigen. Noch einmal: Die Bridge ist ein
     transparenter Baustein des Netzwerkes.


    Mu IP_FORWARD in den Kernel compiliert werden?

     Nein! Der bridging code des Kernels kmmert sich um den Transport
     der packets. IP_FORWARD wird nur fr einen Gateway bentigt, dessen
     Netzwerkkarten an IP Adressen gebunden sind.


    Warum sind die physikalischen Ethernet-Adressen fr Port 1 und Port
     2, laut brcfg-Programm, identisch? Sollten sie sich nicht
     unterscheiden?

     Nein! Der bridging code weist jedem Port der Bridge dieselbe
     physikalische Ethernet-Adresse zu.


  3.  Ausblicke

  Dies ist die erste und zugegebener Maen ziemlich dnne Version des
  deutschen Bridging mini-HOWTO. Um das Ganze mit mehr Leben zu fllen,
  sind als Erweiterungen geplant:

  1. Darstellung der Unterschiede der Installation der Bridge bei
     verschiedenen Distributionen. Von mir festgelegte Reihenfolge der
     Dringlichkeit dabei:

       S.u.S.E. - DLD - RedHat - andere


  2. Begriffsbestimmungen.

  3. Erklrung von Fehler-/ Debug-Meldungen.

  4. hmmm.... mal sehen.

     ber

    Anregungen,

    Kritik,

    Mail von jedem, der schon vor einem Problem mit dieser Bridge
     stand, und es gelst hat,

    Mail von jedem, der vor einem Problem mit dieser Bridge steht und
     es noch nicht gelst hat

     wrde ich mich sehr freuen.














