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

nach oben
 
  von Niels Christian Görz - Anregungen nehme ich gerne auf: fli4l-AT-goerz.net

Klicken Sie hier, um die Seite auszudrucken.

1