Archiv:Kamikaze/freifunk-policyrouting

Aus wiki.freifunk.net
(Weitergeleitet von Kamikaze/freifunk-policyrouting)
Wechseln zu: Navigation, Suche

Was macht freifunk-policyrouting?

Eine aktuellere Version ist verfügbar unter http://doc.meshkit.freifunk.net/daily/html/usage/policy-routing.html

Das Paket ist für diese beiden Szenarien gedacht:

1) Man hat einen eigenen Internetzugang und will diesen mit PCs die an den LAN-Buchsen des Routers angeschlossen sind nutzen können. Gleichzeitig will man das Freifunknetzwerk unterstützen und auf Dienste im Freifunknetz zugreifen können, indem man das WLAN des Routers für Freifunk betreibt. Das Problem ist nun, dass dabei Nutzer aus dem Freifunknetz, die ins Internet wollen und am eigenen Knoten "vorbeikommen" dort dann Richtung Internet abbiegen. Was man in diesem Fall braucht ist eine Regel ("policy") die besagt, dass diese Freifunker eben nicht hier ins Internet dürfen, sondern zum nächsten Freifunkzugangspunkt weitergeleitet werden sollen.

2) Der eigene Router soll selbst über die eigene Internetleitung ins Internet dürfen, soll aber Traffic anderer Freifunker ebenfalls zu Gateways im Freifunknetz weiterleiten. Das ist besonders nützlich, wenn man den Router über ein VPN (z.B. Tinc) über das Internet mit anderen Routern im Freifunknetz verbinden will.

Voraussetzungen

Bei Package Release 1: Das eigene Internet muss unbedingt am WAN-Anschluss des Routers angeschlossen werden, sonst funktioniert das Paket nicht! Diese Einschränkung entfällt seit Release 2. Dort kann Internet nun über ein beliebiges Interface kommen.

Konfiguration

Die Konfiguration kann entweder auf der Kommandozeile des Routers oder über ein Luci-Plugin erfolgen:

Kommandozeile

Die Konfiguration liegt in /etc/config/freifunk-policyrouting und sieht standardmässig so aus:

config 'settings' 'pr'
	option 'strict' '1'
       option 'fallback' '1'
	option 'zones' 
	option 'enable' '0'

Um Policyrouting für die Firewallzone "freifunk" zu aktivieren müssen die Optionen enable und zones verändert werden:

config 'settings' 'pr'
	option 'strict' '1'
       option 'fallback' '1'
	option 'zones' 'freifunk'
	option 'enable' '1'
* Die Option strict besagt, dass auch als Backup nicht die eigene Internetverbindung von anderen genutzt werden darf, wenn keine Route ins Internet über Freifunk möglich ist.
* Fallback: Ist kein eigener Gateway vorhanden dann sende eigene Pakete (z.B. vom Router lokal oder der LAN-Schnittstelle) über einen Gateway im Mesh.

Nachdem dies geändert wurde aktiviert man das Policy Routing:

* Package Release 1: 'ifup wan'.
* seit Package Release 2: /etc/init.d/freifunk-policyrouting restart

Luci

Die Konfiguration ist auch über ein Luci-Plugin /luci-app-freifunk-policyrouting) möglich, das sieht dann so aus:

Luci010-policyrouting.jpg

FAQ

Wo sind alle meine Routen hin?

Package Release 1

Policyrouting benutzt 3 neue Routingtabellen, die man sich mit "ip ru s" anzeigen lassen kann:

0:      from all lookup local 
32764:  from all lookup olsr 
32765:  from all lookup main 
32766:  from all fwmark 0x1 lookup olsr-default 
32767:  from all lookup default 

Die eigene Defaultroute findet man in der "default"-Tabelle, anzeigen mit

ip r s t default

Package Release 2

Ab Release 2 bleibt die eigene Defaultroute in der main Routingtable. Alle Interfaces, die zu Zonen gehören die mit Policyrouting behandelt werden sollen bekommen einen Eintrag vor der Main-Tabelle, damit sie diese überspringen und direkt zur olsr-default Tabelle weitergehen:

0:	from all lookup local 
1000:	from all lookup olsr 
20000:	from all iif wlan0-1 lookup olsr-default 
20000:	from all iif wlan0 lookup olsr-default 
32766:	from all lookup main 
32767:	from all lookup default 
33000:	from all lookup olsr-default 

Hier wird Traffic über wlan0 und wlan0-1 nur übers mesh weitergeschickt.

* Main Routingtabelle und eigene Defaultroute anzeigen: 'ip r'
* OLSR Routen: ip r s t olsr
* OLSR Defaultroute: ip r s t olsr-default

Allgemein (alle Releases)

In "olsr-default" befindet sich die Defaultroute übers Mesh und in "olsr" schliesslich die ganzen Routen die zu anderen Knoten/Netzwerken im mesh die via olsr empfangen wurden.

Source

http://luci.subsignal.org/trac/browser/luci/trunk/contrib/package/freifunk-policyrouting