
Mini-Howto für die OPT_BRIDGE mit mehreren NICs & Crossover-Kabeln
als Hub-Ersatz
Teil I: Einleitung
Vorbemerkungen
Begriffliche Vereinbarung
Zielsetzung
Vorarbeiten
Teil II: Hintergründe
Der Blick über den Tellerrand
Ein anderer Ansatz
Der entscheidende Knackpunkt
Teil III: Die Umsetzung
Kerneltausch
Die Konfiguration der base.txt
Die Konfiguration der dhcp.txt
Die Konfiguration der bridge.txt
Teil IV: Anhang
Gedankenspiele
Ein Wort in eigener Sache
Weiterführende Links
Danksagung
Teil I: Einleitung
Vorbemerkungen:
Diese Lösung ist genau genommen aus purem Geiz entstanden - schließlich
sind Hubs und Switchs sooo teuer (gute 40 Euro ;-) andererseits stapeln sich bei
mir alte LAN-Karten aus der Firma. Natürlich ist auch ein größerer
Einsatz denkbar. Anhand dieses HowTos sollte es kein Problem sein, die Lösung
zu skalieren. Inwiefern das Sinn macht ist dabei eine ganz andere Frage.
nach oben
Begriffliche Vereinbarung:
Der Begriff "Netze" ist ziemlich überstrapaziert. Um Mißverständnisse
im Folgenden zu vermeiden, soll unterschieden werden zwischen einem "physikalischen
Netz", das an einer NIC hängt (also tatsächlich die Kabel bis zum nächsten
Rechner), und dem IP-Netz, das die Software zur Adressierung auf OSI-Layer 3 verwendet.
nach oben
Zielsetzung:
An einen fli4l-Router sollen über zwei Netzwerkkarten (NIC) zwei Windows-Rechner
(Client A und Client B) angschlossen werden. Client A und Client B
sollen nicht nur über den fli4l-Router Zugriff auf das Internet haben, sie
sollen vor allem über die "Netzwerkumgebung" im Windows Explorer Zugriff
auf den jeweils anderen Rechner haben. Die Lösung soll (weistestgehend) ohne
Konfigurationen bei Client A und Client B auskommen.
nach oben
Vorarbeiten:
Im Folgenden wird davon ausgegangen, daß ein funktionierender fli4l-Router
zur Internet-Anbindung eines Windows-Rechners vorhanden ist. Ferner ist es sinnvoll,
das DHCP-Paket zu installieren, wenn Client A und Client B keine festen
IP-Adressen haben.

Ferner wird angenommen, daß bekannt ist, welche NIC welche Device-Kennung
innerhalb von Linux hat, und daß auf der NIC eth0 der Uplink in's Internet
liegt.
Und natürlich liegt das Paket OPT_BRIDGE bereits entpackt im Installations-Verzeichnis.
Nicht benötigt wird bei dieser Lösung das Samba-Paket mit WINS-Server.
nach oben
Teil II: Hintergründe
Der Blick über den Tellerrand:
Ein Blick auf die Lösung "Mini-Howto für mehrere NICs & Crossover-Kabeln
als Hub-Ersatz" (vergl. http://www.fli4l.de/german/howtos/howto-crossover-fli4l-2.htm)
ist vorab notwendig, um zu verdeutlichen, worin sich diese Lösung von der
von Karsten Winkelmann unterscheidet.
Nach Winkelmann werden jedem der zwei (oder mehr) physikalische Netze, die am
fli4l-Router angeschlossen sind, ein IP-Netz zugeordnet.

Jeder Daten-Verkehr, der bei dieser Lösung zwischen den physikalischen Netzen
durchgeführt werden soll, muß nun von der Software des fli4l-Routers
durchgeführt werden - und damit zwingend TCP/IP-kompatibel sein. Einige Windows-Protokolle
entsprechen nicht diesem Standard (Winkelmann weißt im Teil IV genau darauf
hin und bietet hier auch Work-Arounds an).
nach oben
Ein anderer Ansatz:
Für die Lösung hier soll der Daten-Verkehr unabhängig vom Protokoll
zwischen den beiden physikalischen Netzen weitergeleitet werden. Diese Aufgabe
übernimmt auf Software-Seite eine Bridge, die als OPT_BRIDGE von Michael
Hanselmann und Olivier Oswald für fli4l implementiert wurde. Die Bridge arbeitet
auf OSI-Layer 2 und ist damit nicht an das TCP/IP-Protokoll gebunden (wenngleich
sie selbst durchaus darüber addressiert werden kann).
nach oben
Der entscheidende Knackpunkt:
(Alle Linux-Cracks überspringen bitte diesen Absatz :-) Was ich jetzt
sage soll nicht-Linuxern, wie ich selbst einer bin, in einfachen Worten verständlich
machen, wo der Denkfehler liegt, in den auch ich gerannt bin)
Die Bridge sorgt (so wie sie in dieser Lösung eingesetzt wird) dafür,
daß zwei (oder mehr) NICs als ein Device wirken - sowohl nach Außen
wie auch nach Innen für Linux. Mit anderen Worten, die Bridge gaukelt fli4l
eine NIC vor, wo zwei (oder mehr) sind. Als Device-Kennung wird unter Linux dabei
brg0
sichtbar. Das heißt aber auch, daß der fli4l-Router alle physikalischen
Netze, die an der Bridge angeschlossen sind, nur mit einem IP-Netz belegt.

Und damit ist die Lösung erreicht - alle Daten-Pakete werden über die
Bridge zwischen den NICs hin- und hergereicht. Gleichzeitig fungiert die Bridge
mit ihrer IP-Adresse auch als Anschluß an die Router-Software.
nach oben
Teil III: Die Umsetzung
Kerneltausch
Zunächst muß gemäß Oswald der Kernel von fli4l getauscht
werden. Also im img-Verzeichnis von fli4l die Datei "kernel" in "kernel-old" umbenennen.
Dann entweder die Datei "kernel-bridge" oder "kernel-bridge+ipchains" in "kernel"
umbenennen. Eine genauere Beschreibung ist in dem Paket OPT_BRIDGE enthalten.
Bitte beachtet, daß der Kernel in der Version, in der er mir vorliegt, nicht
das deutsche Tastatur-Layout unterstützt.
nach oben
Die Konfiguration der base.txt:
An entsprechender Stelle folgende Zeilen einfügen:
IP_ETH_N='1'
IP_ETH_1_NAME='brg0'
IP_ETH_1_IPADDR='192.168.1.1'
IP_ETH_1_NETWORK='192.168.1.0'
IP_ETH_1_NETMASK='255.255.255.0'
Die NICs, die der Bridge zugeordnet werden, tauchen hier ausdrücklich nicht
auf. Sollten weitere NICs im Router stecken, die nicht der Bridge zugeordnet werden,
kommen sie natürlich sehr wohl hier hinein (wenn sie denn vom Router verwaltet
werden sollen).
nach oben
Die Konfiguration der dhcp.txt:
An entsprechender Stelle folgende Zeilen einfügen:
DHCP_RANGE_1='192.168.1.50 192.168.1.250'
Da nur ein Device in der base.txt angegeben wurde (nämlich die Bridge) muß
auch der DHCP-Server nur ein Device behandeln.
nach oben
Die Konfiguration der bridge.txt:
An entsprechender Stelle folgende Zeilen einfügen:
OPT_BRIDGE='yes'
BRIDGE_IP='192.168.1.1'
BRIDGE_DEV_N='2'
BRIDGE_DEV_1_NAME='eth1'
BRIDGE_DEV_2_NAME='eth2'
Das funktioniert natürlich nur, wenn auf eth0 der Uplink zum Internet liegt.
Andernfalls einfach modifizieren.
nach oben
Teil IV: Anhang
Gedankenspiele
Wie eingangs gesagt sollte es ohne Probleme möglich sein, die Lösung
beliebig größer zu skalieren. So sollte man an die NICs in der Bridge
auch ohne Probleme Hubs anschließen können.
Man muß sich klar machen: Die Bridge selbst ist nicht teil eines IP-Netzes,
auch wenn sie über eben die adressiert werden kann. Angenommen man würde
zwei Rechner aus einem weiteren IP-Netz an zwei NICs in der Bridge anschließen,
könnten die ohne Probleme miteinander über TCP/IP miteinander kommunizieren.
Solange keine entsprechenden Routing-Regeln hinterlegt sind, kämen diese
beiden Rechner halt nur nicht in's Internet.
nach oben
Ein Wort in eigener Sache
Ich selbst habe meinen fli4l-Router übrigens mit fünf NICs bestückt
- mein Besuch kann so ohne Probleme seinen Laptop einfach per Crossover-Kabel
direkt an's Internet anbinden und auch auf meine Desktop-Rechner zugreifen - und
das ohne irgend eine Konfiguration der Netzwerkeinstellungen unter Windows - der
Laptop bezieht alle Daten von meinem fli4l-Router dynamisch.
Auf das Samba-Paket habe ich bewußt verzichtet. Es hat sich herausgestellt,
daß Windows 2000 dann ständig das Tastatur-Layout dem WINS-Server anpaßt
- und das ist dank des Bridge-Kernels amerikanisch ;-)
nach oben
Weiterführende Links
nach oben
Danksagung
- Meinem Kollegen Matthias Geisler, der mich auf fli4l gebracht hat und sich
geduldig alle meine Ideen zur Bridge angehört hat
- Michael Hanselmann und Olivier Oswald für die OPT_BRIDGE
- Dem ganzen fli4l-Team für ein verflixt feines Stück Software :)
nach oben
von Niels Christian Görz - Anregungen nehme ich gerne auf: fli4l-AT-goerz.net
Klicken Sie hier, um
die Seite auszudrucken.