KBU Bonn V2: Unterschied zwischen den Versionen

Aus Freifunk Köln, Bonn und Umgebung
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
(15 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
Deswegen haben wir eine neue Bonner Hood erstellt, welche (leider) inkompatibel zur bisherigen Hood ist.
Deswegen haben wir eine neue Bonner Hood erstellt, welche (leider) inkompatibel zur bisherigen Hood ist.


Die neue Hood Bonn (KBU Hood Bonn V2) hat folgende technische Daten:
Da wir in Bonn also ohnehin mit der Kompatibilität brechen mussten, ergab sich die Gelegenheit in allen Bereichen der Firmware "auf der grünen Wiese" anzufangen und sich von legacy ballast zu befreien.
 
=== Technische Daten ===
* Wahlweise WireGuard oder FastD als VPN Verbindungsmöglichkeiten zu den Supernodes
* Wahlweise WireGuard oder FastD als VPN Verbindungsmöglichkeiten zu den Supernodes
** Beide VPN Provider bauen eine verschlüsselte Verbindung auf, unterscheiden sich aber in einigen Punkten deutlich: WireGuard unterstützt Multithreading skaliert also auf MultiCore CPU Systemen. Außerdem lässt es sich im Linux Kernelspace ausführen. Beides führt besserer Cryptoperformance und daher zu höherem Datendurchsatz. FastD bleibt vor allem ein Vorteil: Es verbraucht weniger Platz in der Firmware und kann daher auch auf Routern eingesetzt werden die nur über 4MB Flashspeicher verfügen. Für alle Modelle mit mehr als 4MB Speicher ist es sinnvoll WireGuard einzusetzen. Daher pflegen wir aktuell zwei Branches: [https://github.com/ff-kbu/site-ffkbu-bonn-v2/tree/gluon2018.1-wireguard WireGuard] und [https://github.com/ff-kbu/site-ffkbu-bonn-v2/tree/gluon2018.1-fastd FastD]
** Beide VPN Systeme bauen eine verschlüsselte Verbindung auf, unterscheiden sich aber in einigen Punkten deutlich: WireGuard unterstützt Multithreading, skaliert also auf MultiCore CPU Systemen. Außerdem lässt es sich im Linux Kernelspace ausführen. Beides führt zu besserer Cryptoperformance und daher zu höherem Datendurchsatz. FastD bleibt vor allem ein Vorteil: Es verbraucht weniger Platz in der Firmware und kann daher auch auf Routern eingesetzt werden, die nur über 4MB Flashspeicher verfügen. Für alle Modelle mit mehr als 4MB Speicher ist es sinnvoll WireGuard einzusetzen. Daher pflegen wir aktuell zwei Branches: [https://github.com/ff-kbu/site-ffkbu-bonn-v2/tree/gluon2018.1-wireguard WireGuard] und [https://github.com/ff-kbu/site-ffkbu-bonn-v2/tree/gluon2018.1-fastd FastD]
* Batman-Adv 2018.X
* Batman-Adv 2018.X
* OpenWrt 18.06.x(ab Gluon 2018.2). Dadurch verwenden wir jetzt den Kernel 4.9.146 oder 4.14.89 je nach Hardware-Target.
* WLAN-Mesh via 802.11s zwischen den Nodes
* WLAN-Mesh via 802.11s zwischen den Nodes
** Die Verwendung des Mesh-Standard IEEE 802.11s anstelle von IBSS/Adhoc eröffnet die Möglichkeit Support für zusätzliche aktuelle Routermodelle anzubieten.
** Die Verwendung des Mesh-Standard IEEE 802.11s anstelle von IBSS/Adhoc eröffnet die Möglichkeit Support für zusätzliche aktuelle Routermodelle anzubieten. Außerdem kann dadurch der WLAN-Treiber [https://wireless.wiki.kernel.org/en/users/drivers/ath10k/configuration ath10k] statt ath10k-ct genutzt werden der stabiler und schneller läuft. Z.B. unterstützt er [https://de.wikipedia.org/wiki/MIMO_(Nachrichtentechnik) MU-MIMO] wenn die Hardware das hergibt. (getestet auf [https://map.kbu.freifunk.net/#/de/map/7cff4d26e354 AVM Fritzbox 4040] & [https://map.kbu.freifunk.net/#/de/map/b8eca3d763f4 zyxel NGB6617])
* Kabelbasiertes Mesh via VxLAN anstelle von MeshOnLAN   
* Kabelbasiertes Mesh via [https://gluon.readthedocs.io/en/latest/features/wired-mesh.html VxLAN] anstelle von MeshOnLAN   
* Dynamic DNS.  
* Dynamic DNS.  
** Dadurch können die Router und andere Rechner/Dienste auch über Ihren Namen angesprochen werden und nicht nur über die IP-Adressen. Diese Funktion funktioniert sowohl für feste als auch dynamische IP-Adressen.
** Dadurch können die Router und andere Rechner/Dienste auch über Ihren Namen angesprochen werden und nicht nur über die IP-Adressen. Diese Funktion funktioniert sowohl für feste als auch dynamische IP-Adressen.
* Die Autoupdate Funktion kann aktiviert werden.
* Die Autoupdate Funktion kann aktiviert werden.
* Es gibt ein Paket Repository, um Kerneltreiber nachzuinstallieren. Dadurch kann z.B. ein eventuell vorhandener USB-Port verwendet werden.
Die Kombination von 802.11s & WireGuard macht das Target [https://github.com/freifunk-gluon/gluon/blob/v2018.2.x/targets/ipq40xx ipq40xx] besonders interessant:
* durch den Einsatz von WireGuard können alle 4 CPU cores des Routers für einen performanten und stabilen VPN-Uplink
* WLAN-Mesh via 802.11s mit dem WLAN-Treiber ath10k erlauben MultiUser MIMO sowohl für clients als auch für WLAN-Meshverbindungen.


=== Supernodes ===
=== Supernodes ===
Zeile 21: Zeile 29:
! DNS-Name                                          !! IP-Adresse                      !! Zugriffsmöglichkeit  !!  Zugriffe
! DNS-Name                                          !! IP-Adresse                      !! Zugriffsmöglichkeit  !!  Zugriffe
|-
|-
| bonn2.kbu.freifunk.net    || 163.172.107.146 || ssh bonn2.kbu.freifunk.net -p 2208        || Kevin, Nunatak, simon, Tinter
| bonn1.kbu.freifunk.net    || 5.9.102.119 || ssh bonn1.kbu.freifunk.net -p 222        || Kevin, Nunatak, Simon, JohnnyBee
|-
|-
| bonn3.kbu.freifunk.net    || 195.154.84.24  || ssh bonn3.kbu.freifunk.net -p 2211        || Kevin, Nunatak, simon, Tinter
| bonn2.kbu.freifunk.net    || 163.172.107.146 || ssh bonn2.kbu.freifunk.net -p 2208        || Kevin, Nunatak, Simon, JohnnyBee
|-
| bonn3.kbu.freifunk.net    || 195.154.84.24  || ssh bonn3.kbu.freifunk.net -p 2211        || Kevin, Nunatak, Simon, JohnnyBee
|-
| bonn4.kbu.freifunk.net    || 81.173.204.217  || ssh bonn4.kbu.freifunk.net -p 2250        || Kevin, Nunatak, Simon, JohnnyBee
|-
| bonn5.kbu.freifunk.net    || 164.68.121.184  || ssh bonn5.kbu.freifunk.net -p 22        || Kevin, Nunatak, Simon, JohnnyBee


|}
|}
Zeile 34: Zeile 48:
! DNS-Name                                          !! IP-Adresse                      !! Funktion !!  Zugriffe
! DNS-Name                                          !! IP-Adresse                      !! Funktion !!  Zugriffe
|-
|-
| dns1.bn.ffkbu    || fdd3:5d18:b5dd:fc00::1 || Interner DNS-Server 1 (Master) || Kevin, Nunatak, simon, Tinter
| dns1.bn.ffkbu    || fdd3:5d18:b5dd:fc00::1 || Interner DNS-Server 1 (Master) || Kevin, Nunatak, simon, JohnnyBee
|-
|-
| dns2.bn.ffkbu    || fdd3:5d18:b5dd:fc00::2 || Interner DNS-Server 2 (Slave) || Kevin, Nunatak, simon, Tinter
| dns2.bn.ffkbu    || fdd3:5d18:b5dd:fc00::2 || Interner DNS-Server 2 (Slave) || Kevin, Nunatak, simon, JohnnyBee
|-
|-
| ansible.bn.ffkbu    || fdd3:5d18:b5dd:fc00::10 || Zum Ausrollen der Maschinen via Ansible || Kevin, Nunatak, simon, Tinter
| ansible.bn.ffkbu    || fdd3:5d18:b5dd:fc00::10 || Zum Ausrollen der Maschinen via Ansible || Kevin, Nunatak, simon, JohnnyBee
|-
|-
| updates.bn.ffkbu    || fdd3:5d18:b5dd:fc00::11  || Dort liegen die Firmwareupdates und Pakete zur Installation via opkg    || Kevin, Nunatak, simon, Tinter
| updates.bn.ffkbu    || fdd3:5d18:b5dd:fc00::11  || Dort liegen die Firmwareupdates und Pakete zur Installation via opkg    || Kevin, Nunatak, simon, JohnnyBee


|}
|}


'''Alle Zugriffsberechtigten können mit Ihrem privaten Zertifikat und Ihrem Namen entsprechend auf die Maschinen zugreifen!'''''
'''Alle Zugriffsberechtigten können mit Ihrem privaten Zertifikat und Ihrem Namen entsprechend auf die Maschinen zugreifen!'''''


=== IP-Bereiche ===
=== IP-Bereiche ===
Zeile 122: Zeile 135:


|}
|}
=== Nötige Freigaben für den Betrieb des Routers hinter einer Firewall ===
Als erstes müssen natürlich die Zieladressen aller Supernodes(siehe oben) freigegeben werden!
Danach werden für Wireguard-Router noch die Ports 443(TCP) und 10020 (UDP) freigegeben.
FastD-Router benötigen stattdessen (nur) den Port 10040(UDP).

Version vom 4. November 2019, 11:46 Uhr

KBU Hood Bonn V2

Aufgrund der alten Batman-Version der bisherigen Hood Bonn (V 2013.4.0) kann diese nicht mehr sinnvoll weiter geupdatet werden, da es einen Kompatibilitätsbruch ab der Version 2013.4.0 gibt. Deswegen haben wir eine neue Bonner Hood erstellt, welche (leider) inkompatibel zur bisherigen Hood ist.

Da wir in Bonn also ohnehin mit der Kompatibilität brechen mussten, ergab sich die Gelegenheit in allen Bereichen der Firmware "auf der grünen Wiese" anzufangen und sich von legacy ballast zu befreien.

Technische Daten

  • Wahlweise WireGuard oder FastD als VPN Verbindungsmöglichkeiten zu den Supernodes
    • Beide VPN Systeme bauen eine verschlüsselte Verbindung auf, unterscheiden sich aber in einigen Punkten deutlich: WireGuard unterstützt Multithreading, skaliert also auf MultiCore CPU Systemen. Außerdem lässt es sich im Linux Kernelspace ausführen. Beides führt zu besserer Cryptoperformance und daher zu höherem Datendurchsatz. FastD bleibt vor allem ein Vorteil: Es verbraucht weniger Platz in der Firmware und kann daher auch auf Routern eingesetzt werden, die nur über 4MB Flashspeicher verfügen. Für alle Modelle mit mehr als 4MB Speicher ist es sinnvoll WireGuard einzusetzen. Daher pflegen wir aktuell zwei Branches: WireGuard und FastD
  • Batman-Adv 2018.X
  • OpenWrt 18.06.x(ab Gluon 2018.2). Dadurch verwenden wir jetzt den Kernel 4.9.146 oder 4.14.89 je nach Hardware-Target.
  • WLAN-Mesh via 802.11s zwischen den Nodes
    • Die Verwendung des Mesh-Standard IEEE 802.11s anstelle von IBSS/Adhoc eröffnet die Möglichkeit Support für zusätzliche aktuelle Routermodelle anzubieten. Außerdem kann dadurch der WLAN-Treiber ath10k statt ath10k-ct genutzt werden der stabiler und schneller läuft. Z.B. unterstützt er MU-MIMO wenn die Hardware das hergibt. (getestet auf AVM Fritzbox 4040 & zyxel NGB6617)
  • Kabelbasiertes Mesh via VxLAN anstelle von MeshOnLAN
  • Dynamic DNS.
    • Dadurch können die Router und andere Rechner/Dienste auch über Ihren Namen angesprochen werden und nicht nur über die IP-Adressen. Diese Funktion funktioniert sowohl für feste als auch dynamische IP-Adressen.
  • Die Autoupdate Funktion kann aktiviert werden.
  • Es gibt ein Paket Repository, um Kerneltreiber nachzuinstallieren. Dadurch kann z.B. ein eventuell vorhandener USB-Port verwendet werden.

Die Kombination von 802.11s & WireGuard macht das Target ipq40xx besonders interessant:

  • durch den Einsatz von WireGuard können alle 4 CPU cores des Routers für einen performanten und stabilen VPN-Uplink
  • WLAN-Mesh via 802.11s mit dem WLAN-Treiber ath10k erlauben MultiUser MIMO sowohl für clients als auch für WLAN-Meshverbindungen.

Supernodes

Es existieren aktuell folgende Supernodes:

DNS-Name IP-Adresse Zugriffsmöglichkeit Zugriffe
bonn1.kbu.freifunk.net 5.9.102.119 ssh bonn1.kbu.freifunk.net -p 222 Kevin, Nunatak, Simon, JohnnyBee
bonn2.kbu.freifunk.net 163.172.107.146 ssh bonn2.kbu.freifunk.net -p 2208 Kevin, Nunatak, Simon, JohnnyBee
bonn3.kbu.freifunk.net 195.154.84.24 ssh bonn3.kbu.freifunk.net -p 2211 Kevin, Nunatak, Simon, JohnnyBee
bonn4.kbu.freifunk.net 81.173.204.217 ssh bonn4.kbu.freifunk.net -p 2250 Kevin, Nunatak, Simon, JohnnyBee
bonn5.kbu.freifunk.net 164.68.121.184 ssh bonn5.kbu.freifunk.net -p 22 Kevin, Nunatak, Simon, JohnnyBee

Interne Dienste/Maschinen

Außerdem gibt es bis jetzt folgende interne Dienste/Systeme:

DNS-Name IP-Adresse Funktion Zugriffe
dns1.bn.ffkbu fdd3:5d18:b5dd:fc00::1 Interner DNS-Server 1 (Master) Kevin, Nunatak, simon, JohnnyBee
dns2.bn.ffkbu fdd3:5d18:b5dd:fc00::2 Interner DNS-Server 2 (Slave) Kevin, Nunatak, simon, JohnnyBee
ansible.bn.ffkbu fdd3:5d18:b5dd:fc00::10 Zum Ausrollen der Maschinen via Ansible Kevin, Nunatak, simon, JohnnyBee
updates.bn.ffkbu fdd3:5d18:b5dd:fc00::11 Dort liegen die Firmwareupdates und Pakete zur Installation via opkg Kevin, Nunatak, simon, JohnnyBee

Alle Zugriffsberechtigten können mit Ihrem privaten Zertifikat und Ihrem Namen entsprechend auf die Maschinen zugreifen!

IP-Bereiche

In der neuen Hood wird der IPv6-Bereich fdd3:5d18:b5dd:fc00::/64 verwendet. In diesem Bereich werden IPv6-Bereiche mit einer 68 Bit Maske verwendet. Diese teilen sich wie folgt auf:

IP-Range Verwendungszweck
fdd3:5d18:b5dd:fc00::/68 reserviert für feste Dienste/Maschinen
fdd3:5d18:b5dd:fc00:1000::/68 DHCP-Bereich Supernode Bonn1
fdd3:5d18:b5dd:fc00:2000::/68 DHCP-Bereich Supernode Bonn2
fdd3:5d18:b5dd:fc00:3000::/68 DHCP-Bereich Supernode Bonn3
fdd3:5d18:b5dd:fc00:4000::/68 DHCP-Bereich Supernode Bonn4
fdd3:5d18:b5dd:fc00:5000::/68 DHCP-Bereich Supernode Bonn5
fdd3:5d18:b5dd:fc00:6000::/68 DHCP-Bereich Supernode Bonn6
fdd3:5d18:b5dd:fc00:7000::/68 DHCP-Bereich Supernode Bonn7
fdd3:5d18:b5dd:fc00:8000::/68 DHCP-Bereich Supernode Bonn8
fdd3:5d18:b5dd:fc00:9000::/68 DHCP-Bereich Supernode Bonn9
fdd3:5d18:b5dd:fc00:a000::/68 DHCP-Bereich Supernode Bonn10
fdd3:5d18:b5dd:fc00:b000::/68 Frei
fdd3:5d18:b5dd:fc00:c000::/68 Frei
fdd3:5d18:b5dd:fc00:d000::/68 Frei
fdd3:5d18:b5dd:fc00:e000::/68 Frei
fdd3:5d18:b5dd:fc00:f000::/68 Frei


Als IPv4-Bereich wird 10.70.0.0 mit einer 16er Subnetzmaske verwendet. Dann verwenden wir 21er Bereiche für die einzelnen Bereiche:

IP-Range Verwendungszweck
10.70.0.0/21 Für interne Dienste
10.70.8.0/21 DHCP-Bereich für Supernode Bonn1
10.70.16.0/21 DHCP-Bereich für Supernode Bonn2
10.70.24.0/21 DHCP-Bereich für Supernode Bonn3
10.70.32.0/21 DHCP-Bereich für Supernode Bonn4
10.70.40.0/21 DHCP-Bereich für Supernode Bonn5
10.70.48.0/21 DHCP-Bereich für Supernode Bonn6
10.70.56.0/21 DHCP-Bereich für Supernode Bonn7
10.70.64.0/21 DHCP-Bereich für Supernode Bonn8
10.70.72.0/21 DHCP-Bereich für Supernode Bonn9
10.70.80.0/21 DHCP-Bereich für Supernode Bonn10
10.70.88.0/21-10.70.248.0/21 Frei

Nötige Freigaben für den Betrieb des Routers hinter einer Firewall

Als erstes müssen natürlich die Zieladressen aller Supernodes(siehe oben) freigegeben werden!

Danach werden für Wireguard-Router noch die Ports 443(TCP) und 10020 (UDP) freigegeben.

FastD-Router benötigen stattdessen (nur) den Port 10040(UDP).