vxlan in der Node-Firmware

Signed-off-by: Robert Langhammer <rlanghammer@web.de>
This commit is contained in:
Robert Langhammer 2022-11-30 23:11:13 +01:00
parent d9898446a8
commit bfcec94e50
3 changed files with 162 additions and 0 deletions

View File

@ -0,0 +1,13 @@
---
title: "Node Firmware"
date: 2022-11-25T23:29:16+01:00
---
Einblick in die Technik der node-firmware
<!--more-->
{{< section >}}

View File

@ -0,0 +1,54 @@
---
title: "Batman über VXLAN"
date: 2022-11-25T23:31:14+01:00
---
Anbindung der node-Router an die Gateways via VXLAN
<!--more-->
## Motivation
VXLAN ist eine ressourcenschonende Möglichkeit den Layer 2 Tunnel zum Gateway zu realisieren.
Die Erfahrungen mit fastd haben gezeigt, dass dies bei kleinen Routern mit schwacher CPU (z.B WR841) der Flaschenhals ist.\
[SpeedTest Vergleich fastd und VXLAN](speedtest-vxlan-vs-fastd.txt)
Es lassen sich auch sehr günstige Gateways realisieren, die mehrere Hoods performant versorgen können.
## Konzept
Die Daten für den VXLAN-Tunnel erhält der Router mit dem Hoodfile. Ein entsprechender `vpn` Eintrag muss vorhanden sein:
```
---
"vpn": [
{
"protocol": "vxlan",
"address": "gateway.url"
}
],
---
```
Der Router konfiguriert damit ein VXLAN Interface `vxlan0` als weiteres batmaninterface.
Das VXLAN interface wird mit einer geringeren `hop_penalty` konfiguriert und somit bevorzugt.
In aller Regel werden die node-Knoten über einen Router mit NAT Funktionalität am Internet teilnehmen. Darüber ist nur ein einziger VXLAN-Tunnel via IPv4 möglich. Diese Einschränkung gilt für IPv6 nicht. Aus diesem Grund ist VXLAN nur via IPv6 implementiert.
Auf den Gateways wird die jeweilige VXLAN Gegenstelle konfiguriert und ebenfalls als weiteres batman-adv Interface in die Hood gehängt.
## Konfiguration des Gateways
[Freifunk-Gateway aufsetzen/VPN/vxlan -> Freifunk Wiki](https://wiki.freifunk-franken.de/w/Freifunk-Gateway_aufsetzen/VPN/vxlan)
## Testen
Zum Testen `http://rl-fff1.fff.community/v2/` als keyserver eintragen. Man findet den Eintrag in der Datei
`/usr/lib/functions/fff/hoodfile`
```
echo "Getting hoodfile from Keyserver"
if /bin/busybox wget -T15 -O "$file" "http://rl-fff1.fff.community/v2/?lat=$lat&long=$long"; then
return 0
```
In den Hoods Schweinfurt, Hassfurt, Ebern, Coburg, Gerolzhofen ist VXLAN aktiv.

View File

@ -0,0 +1,95 @@
Messung direkt vom Gateway via 100/40 dsl
Gerät: WR841N v9.0
Am Clientport
Via VXLAN
Download
Connecting to host 10.83.44.2, port 5201
Reverse mode, remote host 10.83.44.2 is sending
[ 5] local 10.83.47.127 port 33214 connected to 10.83.44.2 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 8.09 MBytes 67.8 Mbits/sec
[ 5] 1.00-2.00 sec 8.63 MBytes 72.4 Mbits/sec
[ 5] 2.00-3.00 sec 8.65 MBytes 72.5 Mbits/sec
[ 5] 3.00-4.00 sec 8.69 MBytes 72.9 Mbits/sec
[ 5] 4.00-5.00 sec 8.67 MBytes 72.7 Mbits/sec
[ 5] 5.00-6.00 sec 7.75 MBytes 65.0 Mbits/sec
[ 5] 6.00-7.00 sec 8.61 MBytes 72.2 Mbits/sec
[ 5] 7.00-8.00 sec 8.64 MBytes 72.5 Mbits/sec
[ 5] 8.00-9.00 sec 7.06 MBytes 59.2 Mbits/sec
[ 5] 9.00-10.00 sec 8.53 MBytes 71.5 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.04 sec 84.7 MBytes 70.7 Mbits/sec 143 sender
[ 5] 0.00-10.00 sec 83.3 MBytes 69.9 Mbits/sec receiver
Upload
Connecting to host 10.83.44.2, port 5201
[ 5] local 10.83.47.127 port 38846 connected to 10.83.44.2 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 4.22 MBytes 35.4 Mbits/sec 41 45.6 KBytes
[ 5] 1.00-2.00 sec 3.92 MBytes 32.9 Mbits/sec 3 52.8 KBytes
[ 5] 2.00-3.00 sec 2.45 MBytes 20.5 Mbits/sec 3 64.2 KBytes
[ 5] 3.00-4.00 sec 1.47 MBytes 12.3 Mbits/sec 1 58.5 KBytes
[ 5] 4.00-5.00 sec 2.70 MBytes 22.6 Mbits/sec 5 52.8 KBytes
[ 5] 5.00-6.00 sec 3.92 MBytes 32.9 Mbits/sec 7 61.3 KBytes
[ 5] 6.00-7.00 sec 3.68 MBytes 30.8 Mbits/sec 9 45.6 KBytes
[ 5] 7.00-8.00 sec 3.92 MBytes 32.9 Mbits/sec 10 51.3 KBytes
[ 5] 8.00-9.00 sec 3.92 MBytes 32.9 Mbits/sec 2 61.3 KBytes
[ 5] 9.00-10.00 sec 3.86 MBytes 32.4 Mbits/sec 4 55.6 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 34.1 MBytes 28.6 Mbits/sec 85 sender
[ 5] 0.00-10.05 sec 33.6 MBytes 28.1 Mbits/sec receiver
Via fastd
Download
Connecting to host 10.83.44.2, port 5201
Reverse mode, remote host 10.83.44.2 is sending
[ 5] local 10.83.47.127 port 42080 connected to 10.83.44.2 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 1.61 MBytes 13.5 Mbits/sec
[ 5] 1.00-2.00 sec 1.78 MBytes 15.0 Mbits/sec
[ 5] 2.00-3.00 sec 1.74 MBytes 14.6 Mbits/sec
[ 5] 3.00-4.00 sec 1.80 MBytes 15.1 Mbits/sec
[ 5] 4.00-5.00 sec 1.80 MBytes 15.1 Mbits/sec
[ 5] 5.00-6.00 sec 1.77 MBytes 14.8 Mbits/sec
[ 5] 6.00-7.00 sec 1.81 MBytes 15.2 Mbits/sec
[ 5] 7.00-8.00 sec 1.79 MBytes 15.0 Mbits/sec
[ 5] 8.00-9.00 sec 1.78 MBytes 15.0 Mbits/sec
[ 5] 9.00-10.00 sec 1.80 MBytes 15.1 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.04 sec 17.9 MBytes 15.0 Mbits/sec 26 sender
[ 5] 0.00-10.00 sec 17.7 MBytes 14.8 Mbits/sec receiver
Uplad
Connecting to host 10.83.44.2, port 5201
[ 5] local 10.83.47.127 port 51834 connected to 10.83.44.2 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 1.94 MBytes 16.2 Mbits/sec 0 130 KBytes
[ 5] 1.00-2.00 sec 1.72 MBytes 14.4 Mbits/sec 0 205 KBytes
[ 5] 2.00-3.00 sec 1.96 MBytes 16.4 Mbits/sec 0 279 KBytes
[ 5] 3.00-4.00 sec 1.90 MBytes 15.9 Mbits/sec 0 355 KBytes
[ 5] 4.00-5.00 sec 1.53 MBytes 12.8 Mbits/sec 0 429 KBytes
[ 5] 5.00-6.00 sec 1.84 MBytes 15.4 Mbits/sec 0 505 KBytes
[ 5] 6.00-7.00 sec 2.08 MBytes 17.5 Mbits/sec 0 542 KBytes
[ 5] 7.00-8.00 sec 1.04 MBytes 8.73 Mbits/sec 0 542 KBytes
[ 5] 8.00-9.00 sec 1.04 MBytes 8.73 Mbits/sec 0 542 KBytes
[ 5] 9.00-10.00 sec 1.04 MBytes 8.74 Mbits/sec 1 542 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 16.1 MBytes 13.5 Mbits/sec 1 sender
[ 5] 0.00-11.74 sec 14.2 MBytes 10.2 Mbits/sec receiver