KBU Bonn V2: Unterschied zwischen den Versionen

Aus Freifunk Köln, Bonn und Umgebung
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(23 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=== KBU Hood Bonn V2 ===
=== KBU Hood Bonn V2 ===
Aufgrund der alten Batman-Version der bisherigen Hood Bonn (V 2013.4.0) kann diese nicht mehr geupdatet werden, da es einen Kompatibilitätsbruch ab der Version 2013.4.0 gibt.
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.
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.
* Wireguard oder FastD als Verbindungsmöglichkeiten zu den Supernodes
 
=== 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: [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
* IBSS zwischen den Nodes
* 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.
* Aufgrund der Verwendung von IBSS als Mesh-Protokoll verwenden wir einen Mesh-Standard (IEEE 802.11), wodurch wir sehr viel mehr und modernere Geräte/WLAN-Chipsätze unterstützen können
* WLAN-Mesh via 802.11s zwischen den Nodes
* 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 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 [https://gluon.readthedocs.io/en/latest/features/wired-mesh.html 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 [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 17: 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
|-
| 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
|-
| bonn6.kbu.freifunk.net    || 157.90.178.17  || ssh bonn6.kbu.freifunk.net -p 2262        || Kevin, Nunatak, Simon, JohnnyBee
|-
|-
| bonn3.kbu.freifunk.net    || 195.154.84.24  || ssh bonn3.kbu.freifunk.net -p 2211         || Kevin, Nunatak, Simon, Tinter
| bonn7.kbu.freifunk.net    || 157.90.178.15  || ssh bonn7.kbu.freifunk.net -p 2272         || Kevin, Nunatak, Simon, JohnnyBee
 
|}
|}


Zeile 30: Zeile 51:
! 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, JohnnyBee
|-
| ntp1.bn.ffkbu    || fdd3:5d18:b5dd:fc00::1 || Interner NTP-Server 1 || Kevin, Nunatak, simon, JohnnyBee
|-
|-
| dns2.bn.ffkbu    || fdd3:5d18:b5dd:fc00::2 || Interner DNS-Server 2 (Slave) || Kevin, Nunatak, Simon, Tinter
| ntp2.bn.ffkbu    || fdd3:5d18:b5dd:fc00::2 || Interner NTP Server 2 || 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


|}
|}
Zeile 42: Zeile 67:
'''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 ===
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:
{| class="wikitable"
|-
! IP-Range                                          !! Verwendungszweck


=== IP-Bereiche ===
|-
In der neuen Hood wird der IPV6-Bereich ''fdd3:5d18:b5dd:fc00::/64'' verwendet. In diesem Bereich
| 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:
 
{| class="wikitable"
|-
! 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) eingehend und 10020 (UDP) ausgehend freigegeben.


fdd3:5d18:b5dd:fc00::/68                                        reserviert für feste Addressen
FastD-Router benötigen stattdessen (nur) den Port 10040(UDP).
fdd3:5d18:b5dd:fc00:1000::/68
fdd3:5d18:b5dd:fc00:2000::/68                                  Bonn2
fdd3:5d18:b5dd:fc00:3000::/68                                  Bonn3
fdd3:5d18:b5dd:fc00:4000::/68                                  Bonn4
fdd3:5d18:b5dd:fc00:5000::/68                                  Bonn5
fdd3:5d18:b5dd:fc00:6000::/68                                  Bonn6
fdd3:5d18:b5dd:fc00:7000::/68                                  Bonn7
fdd3:5d18:b5dd:fc00:8000::/68                                  Bonn8
fdd3:5d18:b5dd:fc00:9000::/68                                  Bonn9
fdd3:5d18:b5dd:fc00:a000::/68                                  Bonn10
fdd3:5d18:b5dd:fc00:b000::/68
fdd3:5d18:b5dd:fc00:c000::/68
fdd3:5d18:b5dd:fc00:d000::/68
fdd3:5d18:b5dd:fc00:e000::/68
fdd3:5d18:b5dd:fc00:f000::/68

Aktuelle Version vom 11. Mai 2021, 09:02 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
bonn6.kbu.freifunk.net 157.90.178.17 ssh bonn6.kbu.freifunk.net -p 2262 Kevin, Nunatak, Simon, JohnnyBee
bonn7.kbu.freifunk.net 157.90.178.15 ssh bonn7.kbu.freifunk.net -p 2272 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
ntp1.bn.ffkbu fdd3:5d18:b5dd:fc00::1 Interner NTP-Server 1 Kevin, Nunatak, simon, JohnnyBee
ntp2.bn.ffkbu fdd3:5d18:b5dd:fc00::2 Interner NTP Server 2 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) eingehend und 10020 (UDP) ausgehend freigegeben.

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