Heute möchte ich euch kurz zeigen wie ihr auf eurem OpenWRT Router das Tool iperf installiert und einen Autostart einrichtet. Iperf ist ein verbreitetes OpenSource Kommandozeilen-Tool mit welchem man den Netzwerk-Durchsatz zwischen zwei Systemen ermitteln kann. Die folgende Konfiguration wurde auf einem Linksys WRT1900AC mit OpenWRT Version 15.05.1 durchgeführt.

Installation

Zunächst muss iperf installiert werden. Dies geht entweder über die Paketverwaltung im Webinterface oder mit folgendem Befehl direkt in der Kommandozeile.

opkg install iperf

In den OpenWRT Paketquellen liegt iperf in Version 2.0.5 vor.

Iperf verwenden

Iperf kann nun schon verwendet werden. Mit folgendem Befehl kann iperf im Server-Modus auf dem OpenWRT Router gestartet werden:

iperf -s

Nun kann euer OpenWRT von Clients im internen Netzwerk zur Messung der Geschwindigkeit verwendet werden. Auf der Client-Seite wird iperf mit dem Parameter „-c“ und Angabe des iperf-Servers verwendet. Gemessen wird die Netzwerkgeschwindigkeit von Server zum Client.

iperf -c 192.168.0.1

Mit dem Parameter „-d“ wird die Geschwindigkeit bidirektional gemessen, also zuerst in Richtung Server>>Client und anschließend in Richtung Client>>Server.

iperf -c 192.168.0.1 -d

Aus dem Internet kann iperf natürlich noch nicht angesprochen werden. Mit einer Firewall-Regel könnt ihr dies aber ermöglichen. Dazu legt ihr im Menü „Netzwerk“ > „Firewall“ > „Verkehrsregeln“ eine neue Regel an. In dieser wird der TCP Port 5001 freigegeben. Da in meinem Beispiel iperf von einem bestimmten Host im Internet ansprechen werden soll, wurde zusätzlich eine Quell-Adresse definiert (Achtung: ohne Angabe einer Quell-Adresse kann euer iperf-Server von jedem genutzt werden).

OpenWRT iperf Firewall Regel

Autostart einrichten

Um iperf automatisch beim Boot des Routers zu starten gibt es mehrere Möglichkeiten. Über Cron lässt sich der Autostart nur schwierig abbilden, da die BSD Erweiterung „@reboot“ in OpenWRT nicht verfügbar ist. Den Weg über ein eigenes init-Skript empfinde ich als zu umständlich.

Meiner Meinung nach geht es am einfachsten über das lokale Startskript. Dazu geht ihr im Webinterface im Menü „System“ auf den Punkt „Systemstart“ und erweitert das lokale Startskript um folgenden Eintrag. Wichtig ist hierbei den Eintrag über die Zeile „exit 0“ zu setzen.

iperf -s -D

OpenWRT iperf lokales Startskript

Der Parameter „-D“ startet iperf als Deamon. Dies ist an dieser Stelle wichtig da sonst das Startsktipt beim Boot nicht erfolgreich beendet werden kann.

Links

iperf Dokumentation

iperf Download

OpenWRT Projekt

OpenWRT unterstützte Hardware