7
September
2021
16:02

Datenübertragungsgeschwindigkeit mit SSH und iPerf testen

7 September 2021 16:02

Eine einfache Möglichkeit, die Geschwindigkeit des Internets oder lokalen Netzwerks zu überprüfen, ist die Verwendung des iPerf-Befehls.

Einführung

Unter Linux gibt es drei Geschwindigkeitstestprogramme: iPerf (Port 5001) und iPerf3 (Port 5201).
Der Artikel behandelt das erste iPerf-Programm, aber mit dem gleichen Erfolg können Sie die Anweisungen auf das iPerf3-Programm anwenden und die Portnummer 5001 durch 5201 ersetzen.

Aktionsplan

  1. Richten Sie eine Firewall auf dem Server ein, indem Sie eine Zulassungsregel für den iPerf-Server hinzufügen
  2. Portweiterleitung konfigurieren (für lokales Netzwerk überspringen wir)
  3. Installieren Sie iperf auf dem Client
  4. Stellen Sie über SSH eine Verbindung zum Server her
  5. Starten Sie den Iperf-Server
  6. Führen Sie einen Datenübertragungsgeschwindigkeitstest vom Client aus durch

Schritt 1: Port 5001 für Geschwindigkeitstests zulassen

Wir konfigurieren die Firewall auf dem Server:

sudo ufw allow 5001

Dabei ist 5001 der Standardport für den iPerf-Dienst.

Schritt 2. Portweiterleitung

Für ein lokales Netzwerk oder VPN überspringe ich den Weiterleitungspunkt auf Port 5001.

Für das Internet müssen Sie zwei geheime Ports am Router öffnen und weiterleiten:
1) zur Steuerung eines PCs über SSH (Weiterleitung an Server-Port 22) - Portnummer 22334.
2) für Geschwindigkeitstests (Standardweiterleitung an Port 5001 des iPerf-Servers) – Portnummer 12345.

Schritt 3. Installation des iPerf-Clients/Servers

Auf einem Desktop-Computer (einem Ubuntu-Linux-Server) und auf einem Client (einem Netbook mit MX Linux) habe ich denselben Befehl ausgeführt:

sudo apt-get install iperf

Schritt 4: Stellen Sie über SSH eine Verbindung zum Server her

Im lokalen Netzwerk:

ssh user@192.168.1.8 -p 22334

Wenn von außen:

ssh user@123.45.67.89 -p 22334

Dabei ist: user der Benutzername auf dem Server, 123.45.67.8 wird durch die IP-Adresse des SSH-Servers im Internet („weiße“ IP-Adresse) ersetzt, 22334 ist der geheime Port für die Verwaltung über SSH.

Ich gab das Passwort ein und gelangte in die Serverkonsole.

Schritt 5. Starten Sie den iPerf-Server

Über eine SSH-Sitzung auf dem Server habe ich das Programm mit der Taste „-s“ gestartet

iperf -s

Ich habe die SSH-Sitzung laufen lassen. Die Server-IP-Adresse im lokalen Netzwerk ist statisch – 192.168.1.8.

Schritt 6. Testen der Datenübertragungsgeschwindigkeit mit iPerf im lokalen Netzwerk

Eine weitere Instanz (Fenster) des Terminals auf dem Client gestartet.

Auf einem Client im lokalen Netzwerk habe ich den folgenden Befehl ausgeführt:

iperf -c 192.168.1.8 -n 10M

Dabei ist 192.168.1.8 die IP-Adresse des Servers im lokalen Netzwerk, 10M die Größe des Datenpakets zur Geschwindigkeitsmessung,
und der Standardport ist 5001.

Oder wenn iperf3 verwendet wird, lautet der Befehl:

iperf3 -c 192.168.1.8 -n 10M

Ergebnis:

$ iperf -c 192.168.1.8 -n 10M

Client connecting to 192.168.1.8 TCP port 5001

TCP window size: 110 KByte (default)

------------------------------------------------

[ 1] local 192.168.1.101 port 49772 connected with 192.168.1.8 port 5001

[ ID] Interval Transfer Bandwidth

[ 1] 0.0000-1.1685 sec 10.0 MBytes 71.8 Mbits/sec

Schritt 7. Geschwindigkeitsmessung von außerhalb des lokalen Netzwerks mit iPerf

Die Serverseite bleibt gleich:

iperf -s

Client-Teil: Aufruf eines Befehls mit einer „weißen“ IP-Adresse (123.45.67.8) und dem Schlüssel „-p“ – der an den iPerf-Server weitergeleiteten Portnummer.

iperf -c 123.45.67.8 -p 12345  -n 10M

Ergebnis:

Gelernt, wie man die Geschwindigkeit zwischen zwei Punkten misst.

Da die Einrichtung abgeschlossen ist, können in Zukunft nur noch die Schritte 4, 5 und 7 durchgeführt werden, um die Geschwindigkeit zu messen.

Unterschiede zwischen iperf und iperf3

Die Programme wurden zu unterschiedlichen Zeiten geschrieben.
iperf3 ist der neuere Port des ersten 5001 und der neueste iperf3 ist Port 5201.

iperf3 als Dienst

iPerf3 in systemd (dem Dienstinitialisierungs- und Verwaltungssubsystem in Linux) kann als Dienst gestartet werden:

systemctl enable --now operf3.service

Nach Ausführung des angegebenen Befehls wird der angegebene iperf3-Dienst aktiviert und sofort gestartet.
Mit dem Befehl können Sie den Status eines Dienstes herausfinden

systemctl status iperf3.service

As mentioned above, the external port for connecting via the iperf3 protocol is 5201/TCP.
Wenn der Dienst iperf3.service ausgeführt wird, muss der Befehl „iperf3 -s“ zum Starten des iperf3-Servers nicht ausgeführt werden, da der Computer, auf dem der Dienst iperf3.service ausgeführt wird, immer auf Anfragen an Port 5201 antwortet, wenn der Befehl von einem anderen Client-Computer ausgeführt wird iperf3 -c ip_адрес_сервера -n 10M.

Letzte Änderung: 21.08.2022



Verwandte Veröffentlichungen