Netzplan

Freifunk Mainz & Freifunk Wiesbaden sind TCP/IP-basierte Netzwerke. Deshalb haben die beteiligten Computer (Clients, Gates und die Knoten) jeweils IP-Adressen, die eindeutig sein müssen.

Wird (z. B. aus Versehen) eine Adresse mehrfach verwendet, so führt das zu Problemen im Betrieb.

Andererseits müssen alle Adressen im Freifunk Mainz oder Freifunk Wiesbaden zum dem selben Adressbereich, sowie zum selben Netz gehören.

IPv4

Wir haben für unserer Freifunk-Communities folgende Netze zugewiesen bekommen:

  • Mainz - 10.37.0.0/16 = 37
  • Wiesbaden - 10.56.0.0/16 = 56

Datenpakete aus diesen Adressbereichen werden innerhalb des Freifunks vermittelt, im großen weiten Internet aber nicht geroutet (Hintergrundinformationen dazu gibt es hier).

Unser großes 10.X.0.0/16 (mit 65536 Adressen) teilen wir uns ein wenig ein:

10.X.0.0/16 wird nicht komplett genutzt, um in Zukunft noch was auf Halde zu haben. Wachsen ist immer einfacher als schrumpfen.

Wir nutzen von diesem Netz erstmal das untere Viertel: 10.X.0.0/18:

Netz (bis) Verwendung verteilt durch status
10.X.0.0/24 10.X.0.255 Gateways fix in Betrieb
10.X.1.0/24 10.X.1.255 ¬ ¬ frei
10.X.2.0/23 10.X.3.255 Backbone fix in Betrieb
10.X.4.0/22 10.X.7.255 User Services fix in Betrieb
10.X.8.0/22 10.X.11.255 Backbone fix in Betrieb
10.X.12.0/22 10.X.15.255 ¬ ¬ frei
10.X.16.0/22 10.X.19.255 Client DHCP-Range Lotuswurzel in Betrieb
10.X.20.0/22 10.X.23.255 Client DHCP-Range Spinat in Betrieb
10.X.24.0/22 10.X.27.255 Client DHCP-Range Ingwer in Betrieb
10.X.28.0/22 10.X.31.255 Client DHCP-Range Parmesan in Betrieb
10.X.32.0/22 10.X.35.255 Client DHCP-Range Uffschnitt in Betrieb
10.X.36.0/22 10.X.39.255 Client DHCP-Range Wasserfloh in Betrieb
10.X.40.0/22 10.X.43.255 Client DHCP-Range ¬ frei
10.X.44.0/22 10.X.47.255 Client DHCP-Range ¬ frei
10.X.48.0/22 10.X.51.255 Client DHCP-Range ¬ frei
10.X.52.0/22 10.X.55.255 Client DHCP-Range ¬ frei
10.X.56.0/22 10.X.59.255 Client DHCP-Range ¬ frei
10.X.60.0/22 10.X.63.255 Client DHCP-Range Mettigel Testbetrieb

IPv6

Wir nutzen intern das IPv6 ULA Prefix fdXX:b4dc:4b1e::/48

Dieses ist bei SixXS an zentraler Stelle registriert, siehe fd37:b4dc:4b1e::/48 oder fd56:b4dc:4b1e::/48

IPv6 Subnetze haben immer eine Prefix-Länge von 64 Bit. Durch das /48 Subnetz stehen uns also 2^16 = 65536 /64 IPv6 Subnetze zur Verfügung.

Fürs erste wird allein dieses IPv6 Subnetz verwendet: fdXX:b4dc:4b1e:0000::/64 (abgekürzt: fdXX:b4dc:4b1e::/64, siehe Address Notation).

Interface Bezeichnung

Wir vergeben unsere Interface-Bezeichnungen einheitlich!

  eth0 Mesh (Nodes) B.A.T.M.A.N Bridge Intercity-VPN Exit VPN
Mainz eth0 mzVPN mzBAT mzBR icVPN exitVPN
Wiesbaden wiVPN wiBAT wiBR

Dies erleichtert das Scripten und Debuggen.

Namenskonvention

Als Hostname der Gateways nehmen wir “irgendwas mit Nahrung”.

Next Node Adressen

Die Next Node Adressen sind dafür da, um sich im Fehler- oder Troubleshootingfall mit einem Freifunk Knoten zu verbinden.

Diese Adressen sind auf jedem Knoten gleich. Der Freifunker muss sich nur diese Adresse(n) merken und seine Netzwerkkarte für ein Subnetz konfigurieren, in dem diese Adresse(n) liegt um auf seinen Knoten zuzugreifen.

Wir nutzen dazu die jeweils niedrigsten Adressen

  • Mainz:
    • IPv4: 10.37.0.1
    • IPv6: fd37:b4dc:4b1e::1
  • Wiesbaden:
    • IPv4: 10.56.0.1
    • IPv6: fd56:b4dc:4b1e::1

Gateway-Schema

Bevor wir ein Gateway aufsetzen definieren wir einen Namen (leichter zu merken) und ziehen eine Nummer (1 <= x < 255).

Mit den uns zugewiesenen Netznummern sowie der Gateway-Nummer und dem Gateway-Namen werden alle benötigten Informationen abgeleitet:

  • IPv4
    • Das Netz von unten auffüllen (10.x.0.0/24 ist für Gateways)
  • MAC-Adresse
    • Privates Prefix (02:00) + IPv4-Adresse in hexadezimal
    • Beispiele (für Mainz):
      • 10.37.0.1 -> 02:00:0a:25:00:01
      • 10.37.23.42 -> 02:00:0a:25:17:2a
      • 10.37.254.2 -> 02:00:0a:25:fe:02
    • Beispiele (für Wiesbaden):
      • 10.56.0.1 -> 02:00:0a:38:00:01
      • 10.56.23.42 -> 02:00:0a:38:17:2a
      • 10.56.254.2 -> 02:00:0a:38:fe:02
    • Wer zu faul zum rechnen ist, darf auch gerne den IP2MAC-Konverter nutzen.
  • IPv6
    • Range-Prefix (fd37:b4dc:4b1e bzw. fd56:b4dc:4b1e) + IPv4 Adresse in hexadezimal, Doppelpunkte anpassen, führende Nullen streichen
    • Beispiele (für Mainz):
      • gate02 -> fd37:b4dc:4b1e::0a25:0002/64
      • gate05 -> fd37:b4dc:4b1e::0a25:0005/64
    • Beispiele (für Wiesbaden, abgekürzt):
      • gate02 -> fd56:b4dc:4b1e::a38:2/64
      • gate23 -> fd56:b4dc:4b1e::a38:17/64
  • DNS
    • xxxx.freifunk-mwu.de -> A- + AAAA-Record
    • gateXX.freifunk-mwu.de -> CNAME auf s.o.
    • Reverse DNS Eintrag korrekt setzen für Haupt DNS Namen: xxxx.freifunk-mwu.de
  • IC-VPN
    • Soll ein Gate am IC-VPN teilnehmen benötigt es dafür noch einen Kurznamen sowie einen weiteren DNS Eintrag. (s. a. IC-VPN)
    • Jedes Gate nimmt als MWU unter dem AS 65037 am BGP im IC-VPN teil, und announced unter diesem AS die Community Netze.
    • Kurzname: mwu[Nr], z. B. mwu7
    • DNS-Eintrag zum Aufbau des Transfernetzes -> CNAME nach dem Muster icvpn[Nr].freifunk-mwu.de
    • IP-Adressen (v4 und v6) im IC-VPN-Transfernetz, z. B. 10.207.37.[Nr], fec0: :a:cf:25:[Nr-in-hex]
    • Wir versuchen die IPv4-Adressen immer aus der Range 10.207.37.0/24 zu verwenden.

Beispiel

Gateway: Lotuswurzel - Nummer: 23

Zahlen umwandeln:

dec hex
10 0a
37 25
0 00
23 17
56 38

und einsetzen:

Lotuswurzel Mainz Wiesbaden IC-VPN
IPv4 10.37.0.23 10.56.0.23 10.207.37.23
IPv6 fd37:b4dc:4b1e:0a25:00017 fd37:b4dc:4b1e:a38:17 fec0: :a:cf:25:17
MAC 02:00:0a:25:00:17 02:00:0a:38:00:17 02:00:0a:cf:25:17
DNS1 lotuswurzel.freifunk-mwu.de lotuswurzel.freifunk-mwu.de .
DNS2 lotuswurzel.ffmz.org lotuswurzel.ffwi.org .
CNAME1 gate23.freifunk-mwu.de gate23.freifunk-mwu.de icvpn23.freifunk-mwu.de
CNAME2 gate23.ffmz.org gate23.ffwi.org .