Diskussion:Kabel-Kopplung

Aus Freifunk Leipzig
(Weitergeleitet von Diskussion:LAN-Kopplung)
Wechseln zu: Navigation, Suche

Wie erstelle ich ein Lan-Kopplung?

Weil man vom Lesen nicht dümmer sonder schlauer wird, ein kleines Zitat von Sven-Ola Tuecke aus der Berliner Mailingliste:

Jetzt nochmal in kleinen Schritten - das ist eigentlich nicht schwer, aber die zugrunde liegende Binaer-Logik ist vielen Zeitgenossen offenbar nicht eingaengig:

Du hast einen WRT mit irgeneiner IP, z.B 104.1.2.3/8 auf dem Wifi/WLAN/Drahtlos-Interface. Das /8 bedeutet: Netzmaske ist 255.0.0.0, ein Rundruf (Broadcast) geht dann an 104.255.255.255 und die Netzbasis ist 104.0.0.0. Du hast einen 2. WRT mit derselben Konfiguration, z.B. 104.4.2.1/8. Die beiden koennen sich per Funk vielleicht sogar gegenseitig was senden. Das klappt, weil beide im selben Netzbereich sind. Der Netzbereich wird durch die Netzmaske definiert (deren Kurzschreibweise /8 ist).

Jetzt willst du beide WRTs ueber die WAN-Schnittstelle per Draht verbinden. Es ist guenstig, nicht einfach irgendwelche 104er-IPs zu nehmen. Sondern welche mit einer "engen" Netzmaske. Wenn ein Netzwerk nur 2 Teilnehmer haben soll, ist die passende "Netzgroesze" eben ein 4-IP-Netzwerk. Also z.B. 104.0.8.16/30. Dies umfasst genau 4 IP-Adressen (104.0.8.16, 104.0.8.17, 104.0.8.18 und 104.0.8.19). Dies wird durch die Netzmaske 255.255.255.252 gekennzeichnet. Die unterste IP-Adresse in einem IP-Netzbereich wird normalerweise nicht benutzt - das ist die Netzwerk-Adresse. Und die oberste Adresse ist die Broadcast-Adresse. Also die IP, unter der alle Teilnehmer in einem Netzbereich antworten/emfpangen. Es sind also noch genau 2 IP-Adressen in diesem Mini-Netz uebrig und die verwendest Du fuer die beiden WAN-Schnittstellen/Ports/Interfaces. Das Wifi/WLAN/Drahtlos laesst du einfach wie es war.

Warum machen wir das so? Nun, wenn ein Geraet zwei Ethernet-Interfaces / Ports / Schnittstellen im gleichen Netzbereich hat, kannst du nie sagen ueber welches Interface ein IP-Paket gesendet wird. Die Reihenfolge, in der die Routing-Tabelle abgesucht wird ist bei gleicher Netzmaske naemlich beliebig. Darum verwenden wir bei 2 Interfaces gerne einen "engere" Netzmaske. Die haben Prio. Wenn ein Paket gesendet werden soll, werden zunaechst die Interfaces mit den ganz engen Netzmasken bedient, das sind die Host-Routen (Routen mit der Netzmaske 255.255.255.255). Dann im aufsteigender Reihenfolge bis zum Schuss die Default-Route bedient wird. Die hat die Netzmaske 0.0.0.0. Mit der vorgeschlagenen Konfiguration kannst du daher das Nachbar-Geraet ueber die beiden WAN-Interface auch dann erreichen, wenn der OLSR mal gestoppt ist.

Zusammenfassung:

WRT1 / Funk: 104.1.2.3/8, Broadcast an 104.255.255.255
WRT1 / WAN 104.8.0.17/30, Broadcast an 104.8.0.19
WRT2 / WAN 104.8.0.18/30, Broadcast an 104.8.0.19
WTT2 / Funk 104.4.2.1/8, Broadcast 104.255.255.255

Zwischen den beiden WRTs machst du eine Ethernet-Strippe WAN -- WAN. Und schon werden nach kurzer Zeit alle Routen ueber die WAN-Strecke bevorzugt. Kann man mit traceroute verifizieren. Und mit "ipkg install tcpdump" und "tcpdump -ni vlan1" kann man sogar sehen, was passiert.

Wie wird eine solche Lan-Kopplung vom OLSR intern gemanaged?

Um zu Verstehen was dann eigentlich passiert noch ein Zitat von Marco Tidow aus der Berliner Mailingliste:

von Seiten des olsrd wird´s _sehr_ elegant gehandelt  ;-)

Er verwaltet sogenannte MID entries; also eine Tabelle, welche IP´s einund denselben node bezeichnen. außer bei den unmittelbaren Nachbarn, tauchenz.B. die ethernet-if IP´s in den routing-tables entfernter nodes garnicht mehr auf. Umgekehrt ermöglicht die Unterscheidung der interfaces eines routers per IP, festzustellen, ob sein ethernet-backbone "congested", also von packet-loss betroffen ist. Ein guter Indikator, daß die node ein Nadelöhr seitens der CPU-power darstellt, oder daß mit der wired-hardware was nicht stimmt.

Nimmt man ein- und dieselbe IP für wifi+LAN, hängen beide interface simple per (kernel-)bridge zusammen, bilden ein logisches interface. Zwischen kernel und hardware-interfaces wird also eine zusätzliche Abstraktion/software-Schicht eingefügt, die auch Rechenzeit kostet. Im Zweifel (hier) eher gegen die angeklagte kernel-bridge...

Bei unterschiedlichen 104er IP´s auf wifi+ether ergibt sich dagegen vorteilhaft, per iptables die Funk-olsr-packets der drahtgebundenen Nachbarn rausfiltern zu können, a ka die CPU-load des olsrd zu veringern. (iptables ist wesentlich effizienter, weil sonst der olsrd erst die zusätzlich-via-Funk-vom-Draht-Nachbarn empfangenen broadcasts zerlegen, die source-IP als "synonym" eines Draht-Nachbarn einstufen und - trotzdem - die LQ´s durchrechnen muß, nur um festzustellen, daß der Draht- link zum Nachbarn besser ist...)

Letzter Punkt:
habe bei einer Reihe von routern gesehen, daß wan und wifi dieselbe MAC hatten. (besonders bei V1-hardware, ALL0277 z.b., MAC[wan]==MAC[wifi] ; aber auch MAC[lan]==MAC[wifi] !!!aarrgh!!!) In bridged setups gibt sowas Probleme, denn die MAC ist das einzige Unterscheidungs-Kriterium auf diesem layer. Soll ein packet vom wired-Nachbarn via Funk oder per ethernet an "meine" bridge weitergereicht werden? Dem Aufmerksamkeit schenken zu müssen entgeht man, wenn per device-bezogenem Eintrag in der routing table klargestellt werden kann, wo´s langgehen soll, was bei unterschiedlicher 104er IP für ether und wifi pro router - sprich getennten devices möglich wird.

Alte Anleitung

So gehts:

  • Beide Linksys mit den Kabeln über die WAN-Ports verbinden.
  • Auf der Leipzig-Freifunk-Seite /Stand der Vernetzung/ das Projekt 88 aufrufen (das ist die Liste der Backbone- und anderen "virtuellen" IP-Adressen von solchen Kopplungsgeräten). Eine freie IP aus diesem Projekt aussuchen und auch gleich dort eintragen!
  • Auf der Verwaltungsseite beider zu koppelnder Nodes das Menü "WAN" aufrufen.
  • Bei "WAN-IP" die IP (mit Netzmaske 255.0.0.0) eintragen, die in der Liste von Projekt 88 frei war und die ihr euch ausgesucht habt. (Natürlich kriegt jeder der beiden Nodes eine andere!)
  • Wenn in dieses Mini-LAN noch weitere Rechner/Server eingebunden werden sollen, kann man sich auch einen kleinen Subnetzbereich aus dem 88er-Projekt sichern (zB. 104.61.88.28/30 (IPs von .28-.31 mit Netzmaske 255.255.255.252) und dem 3ten Rechner eine IP aus diesem Bereich mit der entsprechenden Netzmaske geben - das vereinfacht die Kommunikation in solchen Netzen. (Tipp: auf http://www.netzmafia.de/skripten/netze/netz8.html#8.3 etwas weiter unten gibt es einen kleinen Netzmaskenrechner)
  • Wichtig ist auch unter Verwaltung->OLSR das DynGateway-Plugin ausschalten (sonst wird hin und wieder der gekoppelte Node per HNA als default-Gateway angekündigt)
  • einfacher Neustart!
  • Fertig. Jetzt sollte die IP der jeweiligen Gegenseite in der Nodeliste der beiden Nodes stehen. In der Regel mit nem ETX-Wert von 1.00 ;). Beide Nodes sind jetzt gekoppelt.
  • Beachtet, dass ihr, wenn ihr für die Kopplung die LAN-Ports verwendet (diese Anleitung verwenden, nur statt der WAN- die LAN-ports nehmen) und per Kabel am Node dranhängt, ihr auch eurem Computer jetzt eine neue IP geben lassen müsst (DHCP-Lease erneuern), um wieder auf den Node draufzukommen.