Freifunk Augsburg

Blog zu Freifunk Augsburg und Mesh-Netzen im Allgemeinen

OLSR über Tinc endlich gefixt

Wichtiges Update 11.11.2011

Das funktioniert so nicht (richtig), daher: NICHT NACHMACHEN

Das Problem ist, dass tinc so Traffic leakt.

 

Wir verwenden ja seit einigen Jahren die wirklich einfach einzurichtende VPN-Software Tinc um einzelne Funkinseln in Augsburg über das Internet miteinander zu verbinden. Das hat auch immer einigermaßen geklappt, es gab jedoch eine Sache, die unser stadtinternes Tinc-Netz ziemlich fehleranfällig und schwer zu debuggen gemacht hat: Da wir den Switch-Mode verwenden müssen sind alle Knoten im Tinc-Netz direkt auf Layer2 miteinander verbunden (so als ob sie eben alle an einem Switch hängen würden), auch wenn sie nur indirekte Verbindungen untereinander haben. Das ist ein tolles Feature von Tinc, das für andere Nutzer sicher extrem nützlich ist (z.B. Gamer, die dann alle in einem Netzwerk sind und problemlos miteinander spielen können). Dazu verwendet Tinc internes Routing. Wir wollen aber die Routingentscheidungen OLSR überlassen. Da Tinc jedoch alle Broadcasts von OLSR an alle Nodes in der Tinc-Cloud weitergeleitet hat, war OLSR der Meinung, zu allen anderen Knoten eine direkte Verbindung zu haben, was die Topologie verfälschte und zu falschen Routingentscheidungen führte. Die Freifunker in Chemnitz haben daher versucht, diesem Problem mit einem OLSR-Plugin beizukommen (siehe hier), was allerdings ein ziemlich unschöner Hack ist.

Ich hab daher ein bisschen mit Tinc in virtuellen Maschinen gespielt und Settings gefunden, die das Forwarding von Broadcasts unterbinden:

DirectOnly = yes
TunnelServer = yes
Forwarding = off

Damit werden OLSR-Broadcasts nur noch an andere Rechner im Tinc Netz gesendet mit denen tatsächlich eine direkte Verbindung besteht. Dies hat auch den Vorteil, dass man nun die Links zu einzelnen Rechnern die Probleme machen (z.B. Forwarding deaktiviert oder keine LQMult für OLSR gesetzt) gezielt deaktivieren kann. Ich glaube das ist auch für andere Nutzer von Tinc, die über Tinc ein eigenes Routingprotokoll benutzen durchaus interessant.

Wens interessiert: Hier gehts zum Howto für unser komplettes Tinc-Setup.

 

Kommentare (0)

Bisher keine Kommentare vorhanden.

Neuen Kommentar schreiben