Freifunk:Backend
Hier sind ein paar technische Details zu unseren Gateway-Servern.
Team
Grundsätzlich kümmert sich jeder aus dem Team um allgemeine Fragen auf der Mailingliste. Darüber hinaus haben manche Team-Mitglieder spezielle Aufgaben, die sie ausführen bzw. Themengebiete mit denen sie sich besonders auskennen.
Name | Aufgabenbereiche |
---|---|
KimCM | Public Relations, Webseite |
Tobias Theobald | Gateway-Administration, Firmware, allgemeine technische Fragen |
Tobias Kuhn | |
Tobias von dem Broch | Richtfunk, Antennenfragen |
Marvin W | Richtfunk, Knotenkarte, Gateway-Administration |
Constantin Berhard | |
Ralf J | Gateway-Administration, Netzwerk |
Hardware-Details
Hostname | CPU Threads x Modell @ Takt | RAM | Platte | Internet-Anbindung | Hoster | Sponsor | Aufgaben | Virtualisierung | Admin-Zugang |
---|---|---|---|---|---|---|---|---|---|
gw1.saar.freifunk.net | 1 x Intel(R) Xeon(R) CPU E5-2683 v3 @ 2.00GHz | 512 MB | 15 GB | 500 MBit/s | 1&1 | madonius | Gateway | VMware | Ralf J, madonius |
gw2.saar.freifunk.net | 4 x Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz | 8 GB | 1 TB | 300 MBit/s | servdiscount / myLoc | Gateway | - | Marvin W | |
gw3.saar.freifunk.net | 2 x Intel(R) Xeon(R) CPU E5-2660 v3 @ 2.60GHz | 2 GB | 50 GB | 1000 MBit/s Shared | Define Quality | Gateway | VMware | Marvin W | |
gw4.saar.freifunk.net | 2 x Intel(R) Xeon(R) CPU Skylake (Shared, IBRS) | 4 GB | 40 GB | 1000 MBit/s Shared | Hetzner | Gateway | KVM | Marvin W | |
mgmt.saar.freifunk.net | 2 x Intel(R) Xeon(R) CPU | 8 GB RAM | 40 GB | >= 100 MBit/s Shared | netcup | netcup | Knotenkarte, Monitoring, Saltmaster, Firmware | ? | Web (Marvin, Ralf) |
Reservierte IPs
Wir haben im Freifunk-Intranet-Range die Blöcke 10.24.192.0/18 (10.24.192.0 - 10.24.255.255), 10.252.64.0/18 (10.252.64.0 - 10.252.127.255), fd4e:f2d7:88d2:ffff::/64 und fd4e:f2d7:88d2:fffd::/64 reserviert.
Außerdem hat der Freifunk-Rheinland uns 185.66.193.26/31, 185.66.194.28/31 und 2a03:2260:3009::/48 aus dem öffentlichen Internet-Adresspool zugewiesen.
Diese Adressräume nutzen wir wie unten dargestellt. Nicht ausgewiesene Bereiche sind ungenutzt und zur zukünftigen Verwendung reserviert. Aktuell ist unser ganzes Netz ein einzelnes Layer-2-Segment, die Unterteilung in Subnetze hier dient lediglich der Strukturierung.
Intranet
Adressraum | Zuweisung |
---|---|
10.24.192.0/24 | Admin-Netz (Gateways, etc.) |
10.24.193.0/24 | Unbenutzt |
10.24.194.0/23 | User Services |
10.24.196.0/22 | Clients an GW1 |
10.24.200.0/22 | Clients an GW2 |
10.24.204.0/22 | Clients an GW3 |
10.24.208.0/22 | Clients an GW4 |
Adressraum | Zuweisung |
---|---|
fd4e:f2d7:88d2:ffff::/64 | Intranet Freifunk Saar |
Internet
Adressraum | Zuweisung |
---|---|
185.66.193.26/32 | NAT-IP GW1 |
185.66.193.27/32 | NAT-IP GW2 |
185.66.194.28/32 | NAT-IP GW3 |
185.66.194.29/32 | NAT-IP GW4 |
Adressraum | Zuweisung |
---|---|
2a03:2260:3009:000::/56 | Admin-Netz (Gateways, etc.) |
2a03:2260:3009:100::/56 | Clients an GW1 |
2a03:2260:3009:200::/56 | Clients an GW2 |
2a03:2260:3009:300::/56 | Clients an GW3 |
2a03:2260:3009:400::/56 | Clients an GW4 |
2a03:2260:3009:f00::/56 | User Services |
Public DNS / IPs
Hier eine Tabelle mit den DNS-Namen und IP-Adressen unserer Gateways. Die Gateways haben einerseits Adressen, die wir vom jeweiligen Provider zugewiesen bekommen; andererseits weisen wir den Gateways Adressen aus dem Pool zu, den uns der FFRL zur Verfügung gestellt hat.
Gateway | Public IPv4 | Public IPv6 | FFRL IPv4 (NAT-IP) | FFRL IPv6 |
---|---|---|---|---|
gw1.saar.freifunk.net | 82.165.162.239 | 2001:8d8:1801:56::1 | 185.66.193.26 | 2a03:2260:3009::101 |
gw2.saar.freifunk.net | 93.186.192.202 | 2001:4ba0:fff7:15c::1 | 185.66.193.27 | 2a03:2260:3009::102 |
gw3.saar.freifunk.net | 51.254.23.212 | - | 185.66.194.28 | 2a03:2260:3009::103 |
gw4.saar.freifunk.net | 159.69.210.248 | 2a01:4f8:1c1c:b3aa::1 | 185.66.194.29 | 2a03:2260:3009::104 |
mgmt.saar.freifunk.net | 131.117.148.53 | 2a01:5c0:0:7::53 | - | - |
Mesh IPs
Jeder Gateway ist Teil unseres Mesh-VPN und braucht als solches diverse Adressen, über die er im Mesh erreichbar ist.
Gateway | Intranet IPv4 | Intranet IPv6 | Intranet MAC | Batman MAC |
---|---|---|---|---|
gw1.saar.freifunk.net | 10.24.193.1 | fd4e:f2d7:88d2:ffff::101 | ee:ee:ee:ee:00:01 | ca:fe:ba:be:00:01 |
gw2.saar.freifunk.net | 10.24.193.2 | fd4e:f2d7:88d2:ffff::102 | ee:ee:ee:ee:00:02 | ca:fe:ba:be:00:02 |
gw3.saar.freifunk.net | 10.24.193.3 | fd4e:f2d7:88d2:ffff::103 | ee:ee:ee:ee:00:03 | ca:fe:ba:be:00:03 |
gw4.saar.freifunk.net | 10.24.193.4 | fd4e:f2d7:88d2:ffff::104 | ee:ee:ee:ee:00:04 | ca:fe:ba:be:00:04 |
mgmt.saar.freifunk.net | 10.24.192.254 | fd4e:f2d7:88d2:ffff::fe | ee:ee:ee:ee:00:fe | ca:fe:ba:be:00:fe |
Anycast: Aktueller Knoten | 10.24.192.1 | fd4e:f2d7:88d2:ffff::1 | 32:3d:f9:8f:01:52 | - |
Client-IPs
Auf jedem Gateway läuft ein DHCP-Server, der IP-Adressen an Clients verteilt, die diesen Server als Gateway nutzen. Grundsätzlich verteilen wir hier /22-Ranges, also bis zu 1022 IP-Adressen pro Gateway. Ich halte es für denkbar, dass ein einzelner Server nicht so viele Clients packt, aber reduzieren geht ja schließlich immer, erweitern ist problematisch. Außerdem announcen die Gateways über Router Advertisments öffentlich nutzbare IPv6-Adressbereiche, aus denen sich die Clients bedienen können. Zusätzlich senden Gateways und Knoten Router Advertisments für unseren site-lokalen, internen Adressraum - Kommunikation über fd4e:f2d7:88d2:ffff::/64 klappt also auch, wenn die Knoten keinen Uplink haben.
Die konkreten Adressen, die von den einzelnen GWs den Clients zugewiesen werden, stehen in der Tabelle oben.
Mesh-VPN
Das Mesh-VPN bezeichnet Punkt-zu-Punkt VPN-Verbindungen zwischen den Knoten und den Gateways. Über diese Verbindungen wird dann wiederum per Batman ein Mesh aufgebaut, das die Illusion eines einzigen großen Netzwerks mit allen Knoten erzeugt (auch denen, die nur per WLAN angebunden sind).
Wir nutzen für diese VPN-Verbindungen L2TP, ein sehr schlankes und effizientes Tunnelprotokoll welches der Linux-Kernel nativ unterstützt. So können die Knoten mit ihren schwachen CPUs problemlos 30 MBit/s und mehr an Daten transportieren, und auch die Gateways (wo ja alles zusammen kommt) brauchen keine extrem starken CPUs. L2TP geht von einer statischen Konfiguration und öffentlichen IP-Adressen auf beiden Seiten aus; Tunneldigger ermöglicht es uns, solche Tunnel auch dynamisch und durch NAT hindurch aufzubauen. Tunneldigger lauscht auf Port UDP/10000, und auch die L2TP-Verbindung wird über diesen Port aufgebaut.
Nebenher sind auch noch Tunnel via fastd möglich. fastd haben wir früher statt L2TP eingesetzt, es bietet den Vorteil einer verschlüsselten Verbindung. Allerdings geht das mit viel CPU-Last sowohl auf den Knoten als auch den Gateways einher, weshalb fastd nicht mehr verwendet wird und zur Zeit lediglich der Kompatibilität mit alten Knoten wegen noch läuft. fastd lauscht auf Port UDP/10003. Als Cipher unterstützen unsere Server salsa2012+umac, die VPN-interne MTU beträgt 1406 byte.
Da die Ports ggfls. angepasst werden müssen, empfiehlt sich eine Freigabe der UDP-Ports 10000-10010 für den Betrieb des Freifunk-Routers hinter einer Firewall.
Hier eine Übersicht über die Public Keys und den Online-Status (nicht live) unserer Gateways:
Gateway | Public fastd Key | Aktiv? |
---|---|---|
gw1.saar.freifunk.net | 5136a920a8c7aa9ae2ca1c2a1e33ea8c45e01501fac0f02b9d6a05b167ac5993 | Ja |
gw2.saar.freifunk.net | 80859883c8a22867b20082078ab0934bdf58f556e7acda90730ea282d8da9388 | Ja |
gw3.saar.freifunk.net | 711d1dc6f2048ffe88997441612ca764595b414abea5495c4f3ce746c72774e6 | Ja |
gw4.saar.freifunk.net | 33e02014b00a45bc8249b4428a9da614a370b5e386fa5d8d66c325941aa27568 | Ja (L2TP nur eingeschränkt) |
Mesh-WLAN
Hier die Details für das WLAN auf den Clients
Netz | Mesh {E/B}SSID | Clients ESSID | 2.4 GHz Kanal | 5 GHz Kanal | HT-Modul |
---|---|---|---|---|---|
Saar | 5e:ba:7a:d2:c4:b9 | saar.freifunk.net | 1 | 36 | HT20 |
Exit-VPN
Unser Traffic geht derzeit über diese Parteien ans Netz:
- Freifunk Rheinland e.V.
- Backup-Leitung: Förderverein Freie Netzwerke e.V.