Revision 6 as of 2008-10-21 01:03:09

Clear message
Locked History Actions

FunkInsel

TableOfContents

Funkinsel

Grundsätzlich ist aber zu erwähnen das ein Tunnelsetup nicht ganz einfach einzurichten und zu warten ist. Es ist also generell eher für den erfahrenen User geignet. Auf alle Fälle bitten wir um Rücksparche auf der Tech Mailingliste bevor mit Experimenten rund um ein Tunnelsetup begonnen wird.

Grundlegendes

Wozu ein Tunnel?

Primär, um anders nicht erreichbare Teile des Netzes, über das Internet anzubinden, z.B. funkmäßig nicht erreichbare Inseln. Aber auch, um redundante Verbindungen zu schaffen.

Was wird eingesetzt?

OpenVPN (http://www.openvpn.net/) ist die Implementierung der Wahl. Es kann alles, was man brauchen kann, ist leidlich einfach aufgesetzt und es existieren Implementierungen für alle relevanten Betriebssysteme. Als Routing-Deamon wird olsrd (http://www.olsr.org/) eingesetzt. Das hat mit OpenVPN (http://www.openvpn.net/) nur insoweit etwas zu tun, als dass wir "tap" Interfaces verwenden (müssen), damit der olsrd (http://www.olsr.org/) drüber broadcasten kann.

Wie funktioniert das?

Ein Tunnelendpunkt ist konkret am tunnel.graz.funkfeuer.at (83.64.208.20), der andere auf einem beliebigen lokalen Host. Die einzige Voraussetzung ist eine "normale" Internet-Verbindung vom Host zu tunnel.graz.funkfeuer.at. Dabei sind ppp, Masquerading/NAT und ähnliche Besonderheiten kein Problem oder besondere Einschränkung.

Was ist zu beachten?

Ist der Tunnel einmal aufgebaut und OLSR aktiviert am Tunnel Interface routet OLSR nach einigen Sekunden den gesamten Traffic über den Tunnelserver. Inklusive der OpenVPN Packete - das ist fatal da der Tunnel somit abreissen muss. Bei den früheren Tunnels wurde um das zu Umgehen eine Hostroute zu tunnel.graz.funkfeuer.at eingetragen was aber zu unnötigen Nebenwirkungen führt ausserdem existiert. Ausserdem gibt es unter Linux/BSD eine viel schönere Lösung: Policy Routing. Wie dieses einzurichten ist hängt von dem Betreibssystem bzw der Firmware des Routers ab.

Sonstiges

Der Tunnel ist ein unverschlüsselter IP-Tunnel, d.h. man kann darüber alles mitsniffen. Das liegt daran, dass auf einem typischen Linksys/Buffalo Router nicht genug Rechenpower für einen verschlüsselten Tunnel zur Verfügung steht (wenn man auf nennenswerte Bandbreite nicht verzichten will) und ein verschlüsselter Tunnel ein falsches Gefühl der Sicherheit erzeugen könnte: Der Tunnel terminiert am anderen Tunnelendpunkt und nicht erst am Zielserver, zu dem man eigentlich will. D.h. man muß sowieso zusätzlich sichere/verschlüsselte Protokolle verwenden oder einen sicheren IP-Tunnel vom eigenen Desktop bis zum Zielserver legen. Für beides bringt ein weiterer "teilweiser" Tunnel drunter nur mehr Latenz (jedes Paket will einmal zusätzlich verschlüsselt und entschlüsselt werden) und verbraucht CPU-Leistung, aber ansonsten (insbesondere Security-mäßig) gar nichts

Konfiguration

Die folgenden Howtos können verwendet werden um eine Funkinsel mit Debian, OpenWRT Kamikaze und der Freifunk Firmware einzurichten.

Funkinsel Tinc Testbetrieb

Eine Zeit lang haben wir [http://www.tinc-vpn.org/ Tinc] als Ersatz für OpenVPN getestet. Der Mesh Modues von Tinc war zwar sehr vielversprechend aber in der Praxis macht der OSPF-ähnliche Algorithmus um Knoten zu verbinden die keine direkte Kommunikation aufbauen können in Kombination mit OLSR einige Probleme die mit vertretbaren Aufwand nicht verhindert werden konnten. Für diesen Testbetrieb gab es dieses Howto: FunkInselTinc.