bird6 konfigurieren

Wir betreiben zwei Supernodes, die unser Freifunk-Netz über GRE-Tunnel an das Backbone des Freifunk Rheinland e.V. (FFRL) anbinden (sollen).

Für IPv4 funktioniert das Netz bereits. Nur auf IPv6 funktioniert die Rückroute für die Pakete nicht. Ein Datenpaket kommt zwar am Zielhost an, doch ein Router des FFRL 2a03:2260::5 findet die Rückroute nicht.

Anfangs hatte ich die Ursache darin vermutet, dass sich die bird6 auf den GRE-Tunneln nicht miteinander verbinden.

# birdc6 show protocol
...
gre_dus_a BGP      master   start  21:38:20    Connect
...

Nach langem Suchen und fand ich die Ursache mehr oder weniger durch Zufall. Die eingehenden Pakete hatten ein HOP=64, die ausgehenden einen HOP=1.

Durch einfügen der Zeile multihop 64; im Uplink Template und Restart des bird6 konnten sich die bird6 dann verbinden.

template bgp uplink {
        local as 65201;
        import where is_default();
        export filter hostroute;
        gateway recursive;
        multihop 64;
}

Damit verbinden sich die bird6. – Endlich.

# birdc6 show protocol
...
gre_dus_a BGP      master   up     21:42:11    Established
...

Ein Test mit ping ergibt das minimale Hop Limit = 10 auf den GRE-Tunnel, damit alle bird6 sich verbinden.

for IP in $(ip a | grep -A 4 ': gre' | grep 'inet6' | sed 's#.* inet6 ##; s#2/64.*#1#'); do ping -6 -t 4 -c1 $IP ; done

Nun Frage ich mich, wieso auf den GRE-Tunneln mehr als ein HOP entsteht. Eigentlich nicht möglich. Aber ein traceroute zeigt:

# traceroute -6 2a03:2260:0:520::1
traceroute to 2a03:2260:0:520::1 (2a03:2260:0:520::1), 30 hops max, 80 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  2a03:2260:0:520::1 (2a03:2260:0:520::1)  7.839 ms  7.947 ms  7.808 ms

Leider war dies nur ein erster Schritt in Richtung einer Lösung, denn der Router 2a03:2260::5 findet den Rückweg trotzdem nicht.

Wie schnell ist Freifunk?

Bei der ein oder anderen Gelegenheit messe ich die Geschwindigkeit einzelner Router mit Hilfe eines Speedtest auf den Handy. In der Regel liegt die Geschwindigeit des Download bei 3 MBit/s bis knapp über 10 MBit/s. Die obere Grenze ist wesentlich der Hardware und der Verschlüsselung geschuldet. Die häufigsten Router, TP-Link TL-WR841N(D), können die Daten nicht schneller ver- und entschlüsseln. Die Geschwindigkeit des Upload liegt oft nur bei wenigen KBit/s was oft dem Internet-Anschluss geschuldet ist, den auf einen 16 MBit/s – 2 MBit/S DSL -Anschluss ist nicht viel zu erwarten. Da macht ein Upload eines Bildes keinen Spaß, aber zum Surfen reicht dieser Upload aus.

Round Trip Time zu
Gestern habe ich die Round Trip Time (RTT) mittels Ping zwischen meinem Router su-rhb-server-1 zu jedem anderen Router gemessen. An meiner Leitung leigt die RTT bei etwa 20 ms zu meinem Server im Internet. Zwischen zwei Routern, die nicht über WLAN verbunden sind, muss ein Paket über den DSL-Anschluss zum Freifunk Server im Internet und von dort über den DSL-Anschluss zum Ziel-Router und wieder zurück. D.h. eine RTT von 40 ms zwischen zwei Routern ist somit schon sehr schnell.

Die nebenstehende Grafik zeigt, dass 2/3 der Pakete weniger als 60 ms benötigen; 90% benötigen weniger als 140 ms. Natürlich gab es auch Paketverluste und ausreißer mit weit über 300 ms.

Für Freifunker-Techniker: Die Router sind über fastd an der Domäne WUPPER angeschlossen.