Richtlinien

Aus Freifunk Kiel
Zur Navigation springen Zur Suche springen

Freifunk kann nur funktionieren wenn sich alle Teilnehmer an bestimmte Richtlinien halten. Die hier gesammelten Vereinbarungen sollten daher von allen Teilnehmern eingehalten werden. Anders gesagt wenn du dich an diese Vereinbarungen hältst sollte deine Firmware kompatibel mit Freifunk Kiel sein.

Notwendiges

AdHoc / Mesh WLAN

In jedem Freifunk Router sollte es ein WLAN Interface geben was wie folgt konfiguriert ist:

  • Modus: AdHoc
  • ESSID: batman.kiel.freifunk.net
  • BSSID: 02:CA:FF:EE:BA:BE (leicht zu merken: "2 Caffee Babe")
  • Modulation: (mindestens) 802.11g oder (besser) 802.11n
  • Kanal: 11

Im folgenden werden wir diesen Interface mit dem Gerätesynonym wlanM bezeichnen. Wobei M auf deinem Gerät eine beliebige Nummer sein könnte.

Routing / B.A.T.M.A.N. Advanced

Zum Aufbau des Mesh Netzwerkes verwenden wir in Kiel B.A.T.M.A.N. Advanced und zwar in der 'compatibility version 14' z.B. Version 2011.3.0. Mehr zu B.A.T.M.A.N. Advanced findest du im OpenMesh Wiki. Das Interface wlanM muss dabei von B.A.T.M.A.N. Advanced verwaltet werden.

IP Adressen Vergabe

Um Adressvergabe Listen zu umgehen wird im Freifunk Mesh Netzwerk IPv6 verwendet. Wir benutzen als Präfix:

FDA1:384A:74DE:4242::/64

Wenn eine Verbindung zur Kieler Wolke besteht oder per W-LAN eine direkte Verbindung zu einem Freifunk-Knoten besteht kann Router Advertizement genutzt werden um Adressen zu vergeben. Dazu muss unter Linux das IPv6 forwarding auf dem Interface abgestellt werden:

sysctl -w net.ipv6.conf.$BRIDGE.forwarding=0

Wobei $BRIDGE die Finale Freifunk Netzwerk Schnittstelle sein sollte. Das kann bat0 sein, falls das Mesh Netzwerk nicht mehr mit anderen Netzwerkschnittstellen über eine Brücke verbunden wird. Danach sollte sich die Schnittstelle innerhalb von 10 minuten eine IPv6 Adresse mit obigem Präfix geben.

Alternativ kann der Interface Identifier auch selbst festgelegt werden.

Siehe auch IP-Adressen.

Empfohlendes

EndGeräte WLAN

Wir bezeichnen Geräte, die nicht die in der Lage sind, B.A.T.M.A.N. Advanced zu betreiben, als Endgeräte. Für diese kann/sollte man einen Access Point (AP) betreiben, welcher mit dem 'bat0' (dem virtuellen Interface von B.A.T.M.A.N. Advanced) in einer Netzwerkbrücke verbunden werden sollte.

FASTd / Kieler Wolke

Falls dein Router der einzige in der Gegend ist kannst du Verbindung zur 'Kieler Wolke' aufbauen. Das virtuelle Interface von tinc sollte dabei mit von B.A.T.M.A.N. Advanced verwaltet werden.


Optionales

Siehe auch Gateway.

Öffentliche Dienste

Reserviere dir eine fest IP und lass dich damit auch ins DNS eintragen.

Internet Zugang oder andere Subnetze

Als erstes solltest du in der Liste IP-Adressen sowohl eine IPv4 als auch eine IPv6 Adresse reservieren. Danach brauchst du je nach Zweck folgende Dienste (Technologien):

  • babeld (babel)

Wenn du Internet Zugang anbieten möchtest brauchst du folgende Dienste (Technologien):

  • dhcpd (dhcp)
  • optional bind (dns)

Babel

Um im die Route zu einem Subnetz im Netz bekannt zu gegeben verwenden wir babeld. Wir verwenden Port 6696 und die Multicast Adresse ff02:0:0:0:0:0:1:6.

 # /etc/babeld.conf
 interface br-ffki wired false
 # refuse default gateway routes
 in ip 0.0.0.0/32 le 0 deny
 # deny subnets in mesh subnet
 in ip fda1:384a:74de:4242::/64 le 127 deny
 # allow private v6  and v4 networks
 in ip fc00::/7 ge 48 allow
 in ip 10.116.0.0/16 le 32 deny
 in ip 10.0.0.0/8 ge 16 allow
 # refuse other routes
 in deny
 # redistribute private v6 subnets
 redistribute ip fc00::/7 metric 256
 # redistribute v4 subnets but not addresses from our own
 redistribute ip 10.116.0.0/16 le 32 deny
 redistribute ip 10.0.0.0/16 ge 16 metric 256
 # redistribute local interface addr
 redistribute local if br-ffki
 # refuse anything else not explicitely allowed
 redistribute local deny
 redistribute deny

DHCP

Reserviere dir für diesen Zweck ein IPv4 Subnetz in der IP-Adressen Liste. Das Netz sollte mit der Subnetmask /16 verteilt werden. Als DNS sollten, wenn du nicht selber einen DNS Server pflegst, Server aus der Liste der DNS Server verteilt werden.

Siehe auch DHCP.