Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von...

34
Die L3 Transition von Freifunk Franken KNF-Kongress 2015 Tim Niemeyer <[email protected]> https://github.com/RedDog99/vortrag-knf.git f7ec013 22.11.2015

Transcript of Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von...

Page 1: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Die L3 Transition von Freifunk Franken

KNF-Kongress 2015

Tim Niemeyer <[email protected]>

https://github.com/RedDog99/vortrag-knf.gitf7ec013

22.11.2015

Page 2: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Inhalt

1 Freifunk

2 Grundlagen

3 Stand von heute

4 Mogliche Losungen

22.11.2015 Die L3 Transition von Freifunk Franken 1/31

Page 3: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Freifunk

22.11.2015 Die L3 Transition von Freifunk Franken 2/31

Page 4: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Freifunk

• Offenes WLAN• Wireless-Adhoc-Mesh Netzwerk

• Lokaler Ableger der Freifunk-Bewegung (freifunk.net)• Nicht-kommerzielle Initiative fur freie Funknetzwerke

→ Burger investieren in Eigenregie Zeit, Geld undEnthusiasmus

• Mehr als ”kostenloses Internet“:• Unabhangiges / dezentrales Netz• Internet Technologie beim Burger

→ Freies Netzwerken

• (Irgendwann mal Teil vom Internet?)

22.11.2015 Die L3 Transition von Freifunk Franken 3/31

Page 5: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Das braucht man

• Einen gunstigen, unterstutzten Router (ab ca. 17C)• Eine spezielle Firmware• Die Zustimmung zum ”Pico-Peering Agreement“1:

1 Freier Transit2 Offene Kommunikation3 Keine Garantie (Haftungsausschluss)4 Nutzungsbestimmungen5 Lokale (individuelle) Zusatze

1Regelwerk, uber grundsatzliche Eigenschaften des Freifunks22.11.2015 Die L3 Transition von Freifunk Franken 4/31

Page 6: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Grundlagen

22.11.2015 Die L3 Transition von Freifunk Franken 5/31

Page 7: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Ein typisches Freifunk Netz• Ein Batman-Adv Netz

→ ”Wie ein großer dezentraler Switch”• VPN (fastd) fur die Funkinseln

• Multi-Client zu Multi-Client VPN• Kein internes Routing• Kein Forwarding• Layer-II Netz

• Mehrere VPN Server / Gateway• DHCP• DNS Namensauflosung• Gateway zum Internet / ICVPN

• z. B. mittels Policy-based routing

• Monitoring• Karte aller Knoten

22.11.2015 Die L3 Transition von Freifunk Franken 6/31

Page 8: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Freifunk Router (aussen)

• Client-Ports & Infrastructure Funknetz: Wie ein großerSwitch

• Batman-Ports & Ad-Hoc Funknetz: Mesh-Netz• WAN-Ports: VPN Netz

} }LAN

WAN

BATMAN} }

LAN

WAN

BATMAN } }LAN

WAN

BATMAN

} }

LAN

WAN

BATMAN

22.11.2015 Die L3 Transition von Freifunk Franken 7/31

Page 9: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Freifunk Router (innen)

• OpenWrt• Batman-Adv• Fastd Client• Monitoring Daten (Nodewatcher / Alfred)• .. kleinere Tools / Configs / Skripte

Bridge

ManagedB.A.T.M.A.N

Client-VLanAd-Hoc VPN Node-VLan

WiFi WAN LAN1 LAN2 LAN3 LAN4

22.11.2015 Die L3 Transition von Freifunk Franken 8/31

Page 10: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Ein typisches Freifunk Netz

ICVPNInternet

VPNTunnelBatman

22.11.2015 Die L3 Transition von Freifunk Franken 9/31

Page 11: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Unser grobes Ziel} }

LAN

WAN

BATMAN

} }

LAN

WAN

BATMAN

} }

LAN

WAN

BATMAN

} }

LAN

WAN

BATMAN

} }

LAN

WAN

BATMAN

} }

LAN

WAN

BATMAN

} }

LAN

WAN

BATMAN

} }

LAN

WAN

BATMAN

VPNTunnel

Batman

VPNTunnel

Batman

} }

LAN

WAN

BATMAN

} }

LAN

WAN

BATMAN

Hood A Hood BHood C

Layer 3Verbindungen

ICVPNInternet

• Mehrere Layer-2 Inseln (Hoods)• Verbindung per Layer-3• Dezentrale Gateways

22.11.2015 Die L3 Transition von Freifunk Franken 10/31

Page 12: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Stand von heute

22.11.2015 Die L3 Transition von Freifunk Franken 11/31

Page 13: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Freifunk Knoten

• Ziel: Ohne Konfiguration• Keine DHCP Ranges• LAN Ports vorkonfiguriert• Ausnahme: Passwort fur root Login

• Hat nur eine Link-Local IPv6 Adresse• Nur SSH Zugang

→ Kein Webinterface

• Batman-Adv 2013 (!)

22.11.2015 Die L3 Transition von Freifunk Franken 12/31

Page 14: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Knoten VPN

• Verwendetes VPN: fastd• Wir nutzen keine Verschlusselung (! :-O)• Script zum Austausch der VPN Peers uber den

KeyXchange

22.11.2015 Die L3 Transition von Freifunk Franken 13/31

Page 15: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

VPN-KeyXchange

• Zentrale Webseite• Knoten meldet sich beim VPN-KeyXchange an• Knoten ladt Liste mit Peers• Knoten Identifizierung uber MAC, alternativ uber Name

• Aufteilung in ,,hood”s:• Die Hood, welche am nachsten dran ist (voronoi) wird

zugewiesen• Standort des Routers wird im Netmon anhand der MAC

ermittelt• Problem: Abhangigkeit vom Netmon

• Clients bekommen eine Liste aller Server• Server bekommen eine Liste aller Clients+Server

• Problem: Funk Verbindung zwischen den Hoods

22.11.2015 Die L3 Transition von Freifunk Franken 14/31

Page 16: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

VPN-KeyXchange

• Zentrale Webseite• Knoten meldet sich beim VPN-KeyXchange an• Knoten ladt Liste mit Peers• Knoten Identifizierung uber MAC, alternativ uber Name• Aufteilung in ,,hood”s:

• Die Hood, welche am nachsten dran ist (voronoi) wirdzugewiesen

• Standort des Routers wird im Netmon anhand der MACermittelt

• Problem: Abhangigkeit vom Netmon• Clients bekommen eine Liste aller Server• Server bekommen eine Liste aller Clients+Server

• Problem: Funk Verbindung zwischen den Hoods

22.11.2015 Die L3 Transition von Freifunk Franken 14/31

Page 17: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

VPN Server

• VPN Server: In jeder Hood gibt es mehrere davon• Hoodzuweisung manuell im KeyXchange• DHCP

• Aktuell ausschließlich IPv4• Ungleiche Server Auslastung durch schlechtes DHCP

Timing• Batman-Adv GW Selection

• DNS Namesauflosung• Policy base routing• VPN (GRE) Tunnel zu anderen Gateways• OLSR

• Routing zu anderen Gateways

22.11.2015 Die L3 Transition von Freifunk Franken 15/31

Page 18: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Gateways

• Verbindet Freifunk und Internet• IPv4 NAT (oft ubers Ausland) ins Internet• Announced 0.0.0.0/0 via OLSR

• Dynamic Gateway Plugin• VPN Server konnen diese Routen nutzen• Problem: Ungleiche Server Auslastung durch statische

Routen-Qualitat

22.11.2015 Die L3 Transition von Freifunk Franken 16/31

Page 19: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Netmon• Nodewatcher

• Generiert Status-Daten• XML• alle 5 Minuten

• Configurator• Verknupft Netmon und Knoten

• Crawler• Sammelt Status-Daten• Download uber http Schnittstelle der Knoten• Alles uber Link-Local

• Muss in jeder Hood drin sein

• Netmon• Visualisiert Status-Daten• Mit den vielen Crawls hoffnungslos uberfordert

22.11.2015 Die L3 Transition von Freifunk Franken 17/31

Page 20: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Monitoring

• Alfred• XML• alle 5 Minuten• Multicast

• Multicast Daten konnen auf mehreren Gateways gelesenwerden

• Die Daten konnen von dort an eine zentrale Webseite(Karte, etc.) geschickt werden

• Standort und Ansprechpartner wird aus dem Netmongeladen

• Problem: Abhangig vom Netmon

22.11.2015 Die L3 Transition von Freifunk Franken 18/31

Page 21: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Domain-Name-System

• ganz Neu.. ! :-)• fff.community

• Langer Name, aber• Keine Kollision

• Mehrere DNS Server• Zonen-Synchronisation uber dig axfr• Subdelegation an synchronisierte Hosts moglich• Noch keine reverse delegation

22.11.2015 Die L3 Transition von Freifunk Franken 19/31

Page 22: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Firmware Bau

• Basiert auf OpenWrt• ,,Eigenes” Framework (Buildscript)• Zentrales ,,files” Verzeichnis• Board-Support-Packages

• Ein .config• Uberschreibende ,,files”

• Template System fur versch. Communities

22.11.2015 Die L3 Transition von Freifunk Franken 20/31

Page 23: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Zusammenfasssung

• Erfolgreich das L2 Netz in mehrere L3 Netze geteilt• VPN Schlusseltausch uber zentrales Tool

• Zuordnung zu Hood uber Standort aus Netmon• Manuelle Zuweisung der VPN Server• Keine Anpassung an Firmware

• Fehlerhafte Verbindung (loop) der Hoods durchversehentliches Meshing

• Kein Traffic Balancing zwischen VPN Server und Gateways• Netmon uberlastet• Netmon muss zu jeder Hood eine L2 Verbindung haben• Neues Monitoring kennt Knoten Standort nur uber Netmon• Keine Moglichkeit die L2 Netze per Richtfunk zu verbinden

22.11.2015 Die L3 Transition von Freifunk Franken 21/31

Page 24: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Mogliche Losungen

22.11.2015 Die L3 Transition von Freifunk Franken 22/31

Page 25: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Großten Baustellen

Großere (langerfristige) Baustellen:• Netmon soll weg• KeyXchange soll dezentralisiert werden• Funk Verbindungen zwischen Hoods

22.11.2015 Die L3 Transition von Freifunk Franken 23/31

Page 26: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Monitoring

• Netmon abschalten, Abhangigkeiten losen• keyXchange• neues Monitoring

• Position und Owner Daten vom Gerat• Webinterface notig

22.11.2015 Die L3 Transition von Freifunk Franken 24/31

Page 27: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Webinterface

• z. B. mit haserl (Freifunk Bielefeld)• z. B. mit lua (OpenWrt)• Parameter setzen

• Koordinaten setzen• Losung gesucht: Kartenansicht ohne Netz?

• Kontakt-Daten

• Problem: ”GUI” Browser und IPv6 Link-Local

22.11.2015 Die L3 Transition von Freifunk Franken 25/31

Page 28: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

IP fur Knoten

• Knoten mussen eine normale IP bekommen• DHCP IP immer anders → wie Router finden?

• Dynamic DNS: MAC.node.fff.community• Muss schnell gehen → DHCP setzt das Dynamic DNS• Problem: offline Knoten

• Local-Node IP:• Jeder Knoten hat die selbe IP• Beispiel: Vom DHCP zugewiesene Netzadresse +127• Local-Node IP wird nicht ins Mesh geroutet• Problem: Geht nur bei großeren Netzen

• IP im Monitoring nachschlagen• Problem: offline Knoten

• Local Node mit ebtables?

22.11.2015 Die L3 Transition von Freifunk Franken 26/31

Page 29: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

KeyXchange

• Dezentralisieren: Knoten soll selber seine Hood finden• VPN Server auswahlen• VPN Server alle Verbindungen akzeptieren

• WiFi Settings auswahlen• Problem: wenn z.B. kein VPN da ist?

• Zwei Dinge werden benotigt:• Mogliche VPN Server• Daten der Hood (WiFi / Routing / etc)

22.11.2015 Die L3 Transition von Freifunk Franken 27/31

Page 30: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Hood-Configs

Hood Config[general]version=1

[hood]name=fuerthbssid=ca:ff:ee:ba:be:00protocol=batman-adv-v14channel2=1mode2=ht20+type=802.11slocation=49.4814;10.966noAutoConnect=true

[network]subnet=10.16.44.0/27

Gateway Config[general]version=1

[network]hood=fuerthip4range=10.50.44.1-.46.255//ip6range=2001:xx:xx:xx/64

[vpn]protocol=fastdaddress=vpn1.fff.communityport=10000key=<fastd-public-key>

[sign]key=<public-key>

22.11.2015 Die L3 Transition von Freifunk Franken 28/31

Page 31: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Hood-Configs verteilen

• Gesucht: Synchronisation• Uberschreiben/Loschen absichern

→ Synchronisation nur mit Signatur• Offline Hood

• Mogliche Funkpartner finden• WiFi suchen

→ Zwei WiFi• Mit Freifunk• Ohne Freifunk

22.11.2015 Die L3 Transition von Freifunk Franken 29/31

Page 32: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

L3 Richtfunk

22.11.2015 Die L3 Transition von Freifunk Franken 30/31

Page 33: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

L3 Richtfunk

• Batman Netz = Normales Ethernet• OLSR gegen Unfug absichern → sOLSR (??)• Problem: Nur ein default Gateway pro Client

→ Das Gateway vom Dach oder das hinter dem DSL?

22.11.2015 Die L3 Transition von Freifunk Franken 31/31

Page 34: Die L3 Transition von Freifunk Franken - KNF-Kongress 2015€¦ · Freifunk Grundlagen Stand von heute Mogliche L¨ osungen¨ Das braucht man • Einen gunstigen, unterst¨ utzten

Freifunk Grundlagen Stand von heute Mogliche Losungen

Ende

Vielen Dank fur Eure Aufmerksamkeit ...

22.11.2015 Die L3 Transition von Freifunk Franken 32/31