Um die Geschwindigkeit auf einem Gluon-Knoten zu messen, kann das Tool iperf3 genutzt werden.
Die Verwendung, sowie verschiedene Testmöglichkeiten werden in diesem kurzen Beitrag erklärt.
iperf3 Installation auf Freifunk-Knoten
Da iperf3 für den allgemeinen Freifunk-Betrieb nicht benötigt wird, ist es zunächst auch nicht auf den Knoten installiert.
Um die Installation vorzunehmen muss
opkg update && opkg install iperf3
ausgeführt werden.
Anschließend können verschiedene Tests mit iperf3 durchgeführt werden.
Speedtests von Freifunk-Knoten zu iperf3 Server
Um die Geschwindigkeit zu einem externen Server zu testen, ist zunächst ein iperf3 Server notwendig, Beispiele sind:
iperf3 -c speed.freifunk-aachen.de -p 5201 -P10 -t10 -R
iperf3 -c iperf-hexac.relaix.net -p 5201 -P10 -t10 -R
iperf3 -c freifunkm01.ring.nlnog.net -p 5202 -P10 -t10 -R
Allerdings kann stets nur ein Client an einem Port testen. Wenn also bereits ein Client einen Speedtest durchführt, muss unser Client solange warten.
Durch den Parameter -R wird die Download-Geschwindigkeit gemessen. Um den Upload zu messen, muss der Parameter -R entfernt werden.
In der Ausgabe sind zunächst 10 Verbindungen zu sehen (aufgrund von -P10 verwenden wir 10 Prozesse).
Anschließend sieht man sekündliche Messungen (für 10 Sekunden aufgrund von -t10) mit dem Netto-Durchsatz als SUM Eintrag.
Abschließend wird eine Gesamtübersicht angezeigt.
Der letzte Eintrag hierbei ist im obigen Beispiel der gemittelte Download-Speed.
Inter-Mesh Messungen
Wenn wir nun innerhalb der gleichen Mesh-Wolke von Router zu Router die Geschwindigkeit testen wollen, muss ein Freifunk-Knoten als iperf3-Server agieren und ein anderer als iperf3-Client.
Standardmäßig blockiert die Freifunk-Firmware Gluon jedoch zusätzliche eingehende Verbindungen. Somit müssen wir temporär erst den Port mit iptables öffnen, können die Tests durchführen und sollten abschließend den Port auch wieder schließen:
- iperf3 port in firewall auf gluon-node erlauben:
iptables -I INPUT -p tcp --dport 5201 -j ACCEPT && ip6tables -I INPUT -p tcp --dport 5201 -j ACCEPT
- iperf3 server auf dem gluon node starten
iperf3 -s
- tests durchführen auf dem client oder einem anderen router
iperf3 -c gluon_ipv6 -R -P10
- angepasste gluon firewall regeln wieder löschen
iptables -D INPUT -p tcp --dport 5201 -j ACCEPT && ip6tables -D INPUT -p tcp --dport 5201 -j ACCEPT
Das ganze hilft enorm, um herauszufinden, wie die Geschwindigkeit zwischen einzelnen Mesh-Verbindungen tatsächlich ist.
Also viel Spaß beim Meshen!