KBU Bonn V2: Unterschied zwischen den Versionen
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. | ||
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: [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 | ||
* 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, | | 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 | ||
|} | |} | ||
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, | | 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, | | 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, | | 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 | |||
|- | |||
| 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. | |||
FastD-Router benötigen stattdessen (nur) den Port 10040(UDP). | |||
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).