Speedtest mit iperf3

Szenario

Internet - (Uplink-)Node1 - Node2 - Client

Voraussetzung

Idee

Man möchte die Geschwindigkeit in seinem Freifunknetz testen. Startet man einen Test über Speedtest.net sieht man „Internet ist langsam“. Man weiß aber nicht, woran es liegt.

Man hat wenig Einfluss auf diese Störquellen mit dem *. Auch kann es sein, dass z.B. der Speedtest-Server nur temporär nicht gut erreichbar ist. Liegt es am WLAN zwischen den Nodes, kann man dies beheben, indem man z.B. Störquellen entfernt (andere Nodes) oder WLAN-Router wenige Zentimeter bewegt, sodass sie z.B. nicht durch Metall funken müssen …

Hier hilft das Programm iperf3, mit dem man die Geschwindigkeit zwischen zwei Punkten messen kann. iperf3 gibt es auch für z.B. Android. Man kann also auch die Geschwindigkeit von Client zu einem beliebigen Node testen und auf Fehlersuche zu gehen, an welcher Stelle es zu Leistungseinbrüchen kommt.

Installation

Das Programm iperf3 muss auf beiden Punkten, die getestet werden sollen, installiert sein. Da im Netz von Freifunk-MYK die Nodes keine eigene IPv4-Adresse haben, können Sie sich das Paket nicht direkt herunterladen. Wir können noch nicht einmal nach updates suchen:

root@node:~# opkg update Downloading http://downloads.lede-project.org/releases/17.01-SNAPSHOT/packages/mips_24kc/base/Packages.gz Failed to establish connection Failed to download the package list from http://downloads.lede-project.org/releases/17.01-SNAPSHOT/packages/mips_24kc/base/Packages.gz

Ein Workaround ist notwendig. Je nach Router-Typ benötigt man das iperf-Paket für arm, mips, x86…

Der oben aufgeführte Befehl und die Ausgabe hilft uns weiter, wo wir das Programm iperf3 für den eigenen Node herunterladen können. In diesem Fall ist es hier: http://downloads.lede-project.org/releases/17.01-SNAPSHOT/packages/mips_24kc/base/

Nun sucht man dort das Paket iperf3, läd es herunter und spielt es mit scp auf den Node. Dort kann man es dann mit opgk installieren:

opkg install [File] # z.B. opkg install /tmp/iperf3_3.1.4-1_mips_24kc.ipk

Hat man iperf3 auf beiden Nodes installiert, kann man nun mit dem Test beginnen

Testen

  1. Mit SSH auf beide Nodes verbinden
  2. Auf Node1 einen iperf3 server starten: iperf3 -s
  3. Auf Node2 einen iperf3 client starten und eine Richtung testen: iperf3 -c [IP-Adresse von Node1]
  4. Auf Node2 in die andere Richtung testen: iperf3 -c [IP-Adresse von Node2] -R
  5. iperf3 Server auf Node1 beenden mit Strg+C

Ergebnis