Content
Sprawdzanie prędkości połączenia za pomocą iperf
iperf to potężne narzędzie do testowania przepustowości sieci, które umożliwia pomiar prędkości przesyłania danych między dwoma urządzeniami. Jest szeroko stosowane przez administratorów systemów i inżynierów do diagnozowania problemów sieciowych oraz oceny wydajności połączenia. W tym artykule omówimy, jak zainstalować iperf, jak go używać oraz jak poprawnie skonfigurować zaporę sieciową, aby działał prawidłowo.
Instalacja iperf
Przed rozpoczęciem należy zainstalować iperf na obu urządzeniach: serwerze (odbierającym ruch) i kliencie (wysyłającym ruch). Istnieją dwie popularne wersje — iperf2 oraz iperf3. Zalecamy korzystanie z iperf3, ponieważ jest aktywnie wspierana i oferuje ulepszone funkcje.
Instalacja na Linux
- Ubuntu/Debian:
sudo apt update sudo apt install iperf3
- CentOS/RHEL:
sudo yum install iperf3
Instalacja na Windows
- Pobierz iperf3 z oficjalnej strony internetowej (np. https://iperf.fr/)
- Rozpakuj archiwum do wygodnego folderu (np. C:\iperf).
- Dodaj ścieżkę do folderu do zmiennej środowiskowej PATH, aby ułatwić uruchamianie z wiersza poleceń.
Instalacja na macOS
- Za pomocą Homebrew:
brew install iperf3
Po instalacji sprawdź wersję, aby upewnić się, że narzędzie działa:
iperf3 --version
Jak działa iperf?
iperf działa w modelu klient-serwer:
- Serwer: Uruchamia się na jednym urządzeniu i oczekuje na przychodzące połączenia.
- Klient: Łączy się z serwerem i wysyła dane w celu pomiaru prędkości.
Domyślnie iperf3 używa portu TCP 5201 (w iperf2 — 5001). Możesz zmienić port za pomocą opcji -p.
Konfiguracja zapory sieciowej dla iperf
Aby iperf działał poprawnie, upewnij się, że zapora sieciowa na Twoim urządzeniu nie blokuje połączeń na portach używanych przez iperf (domyślnie port TCP 5201, ale można określić inny za pomocą opcji -p). Poniżej znajdziesz instrukcje konfiguracji zapory dla różnych systemów operacyjnych.
Windows
- Otwórz ustawienia zapory:
- Naciśnij Win + R, wpisz
control
i wybierz „Zapora systemu Windows Defender”. - Przejdź do sekcji „Zezwalaj aplikacji lub funkcji na komunikację przez Zaporę systemu Windows Defender”.
- Naciśnij Win + R, wpisz
- Dodaj regułę dla iperf:
- Kliknij „Zezwól na inną aplikację”, następnie „Przeglądaj” i wskaż plik iperf3.exe.
- Zezwól na połączenia przychodzące i wychodzące dla sieci prywatnych i publicznych.
- Tworzenie reguły dla portu (alternatywna metoda):
- W „Ustawieniach zaawansowanych” wybierz „Reguły przychodzące” → „Nowa reguła”.
- Wybierz „Port”, określ TCP i port (np. 5201), a następnie zezwól na połączenie.
- Powtórz dla połączeń wychodzących, jeśli jest to potrzebne.
Linux
W zależności od dystrybucji stosuje się różne narzędzia do zarządzania zaporą sieciową:
- Dla ufw (Ubuntu, Debian):
sudo ufw allow 5201/tcp sudo ufw status # Sprawdź status
- Dla firewalld (CentOS, RHEL):
sudo firewall-cmd --add-port=5201/tcp --permanent sudo firewall-cmd --reload sudo firewall-cmd --list-ports # Sprawdź otwarte porty
- Dla iptables (konfiguracja ręczna):
sudo iptables -A INPUT -p tcp --dport 5201 -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 5201 -j ACCEPT
macOS
- Otwórz ustawienia zapory:
- Przejdź do „Ustawienia systemowe” → „Bezpieczeństwo i prywatność” → karta „Zapora”.
- Upewnij się, że zapora jest włączona.
- Dodaj wyjątek:
- Kliknij „Opcje zapory” → „+” i dodaj aplikację iperf3.
- Zezwól na połączenia przychodzące.
- Przez terminal (alternatywa):
echo "pass in proto tcp from any to any port 5201" | sudo pfctl -f - sudo pfctl -e # Włącz zaporę
Ogólne zalecenia
- Upewnij się, że port użyty w poleceniu iperf (np.
iperf3 -s -p 5201
) odpowiada otwartemu portowi w zaporze. - Użyj
netstat
lubss
(np.ss -tuln | grep 5201
), aby sprawdzić, czy port jest nasłuchiwany. - Jeśli testy są przeprowadzane przez Internet, skonfiguruj zaporę routera lub serwera w chmurze.
Używanie iperf
Uruchamianie serwera
Na urządzeniu, które będzie serwerem, wykonaj:
iperf3 -s
Zobaczysz komunikat, że serwer został uruchomiony i nasłuchuje na porcie 5201.
Uruchamianie klienta
Na drugim urządzeniu (kliencie) podaj adres IP serwera:
iperf3 -c 192.168.1.100
-c
: Tryb klienta.192.168.1.100
: Zastąp adresem IP swojego serwera.
Domyślnie test trwa 10 sekund. Wyniki pokażą prędkość przesyłania danych w megabitach na sekundę (Mbps).
Testowanie z publicznym serwerem
Jeśli nie możesz uruchomić własnego serwera, możesz skorzystać z publicznych serwerów iperf. Na przykład serwer firmy Bouygues Telecom:
iperf3 -c bouygues.iperf.fr
To polecenie łączy się z publicznym serwerem bouygues.iperf.fr (domyślnie używa portu 5201) i mierzy prędkość między Twoim urządzeniem a serwerem. Pamiętaj, że dostępność publicznych serwerów może się zmieniać, a wyniki zależą od Twojego połączenia internetowego.
Przydatne opcje
-t <czas>
: Czas trwania testu w sekundach (np.-t 30
).-p <port>
: Określ port (np.-p 5001
wchodzących i wychodzących połączeń dla prywatnych i publicznych sieci.-u
: Użyj UDP zamiast TCP.-b <prędkość>
: Ogranicz przepustowość (np.-b 10M
dla 10 Mbps).-R
: Testuj w odwrotnym kierunku (od serwera do klienta).
Przykładowy test UDP:
iperf3 -c 192.168.1.100 -u -b 100M
Interpretacja wyników
Po zakończeniu testu iperf3 wyświetla tabelę z wynikami:
- Interval: Przedział czasowy.
- Transfer: Ilość przesłanych danych.
- Bandwidth: Przepustowość w Mbps.
Przykładowy wynik dla testu lokalnego:
[ 5] 0.00-10.00 sec 1.13 GBytes 970 Mbits/sec
Oznacza to, że w ciągu 10 sekund przesłano 1,13 GB ze średnią prędkością 970 Mbps.
Przykładowy wynik dla testu z publicznym serwerem bouygues.iperf.fr:
iperf3 -c bouygues.iperf.fr Connecting to host bouygues.iperf.fr, port 5201 [ 4] local 192.168.0.47 port 56396 connected to 89.84.1.222 port 5401 [ ID] Interval Transfer Bandwidth Retr Cwnd [ 4] 0.00-1.00 sec 608 KBytes 4.98 Mbits/sec 0 48.1 KBytes [ 4] 1.00-2.00 sec 1.24 MBytes 10.4 Mbits/sec 0 80.6 KBytes [ 4] 2.00-3.00 sec 1.62 MBytes 13.6 Mbits/sec 0 120 KBytes [ 4] 3.00-4.00 sec 2.11 MBytes 17.7 Mbits/sec 0 151 KBytes [ 4] 4.00-5.00 sec 2.92 MBytes 24.5 Mbits/sec 0 173 KBytes [ 4] 5.00-6.00 sec 2.98 MBytes 25.0 Mbits/sec 0 191 KBytes [ 4] 6.00-7.00 sec 3.42 MBytes 28.7 Mbits/sec 0 212 KBytes [ 4] 7.00-8.00 sec 1.30 MBytes 10.9 Mbits/sec 0 212 KBytes [ 4] 8.00-9.00 sec 445 KBytes 3.65 Mbits/sec 1 212 KBytes [ 4] 9.00-10.00 sec 891 KBytes 7.30 Mbits/sec 0 212 KBytes [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 17.5 MBytes 14.7 Mbits/sec 1 sender [ 4] 0.00-10.00 sec 16.7 MBytes 14.0 Mbits/sec receiver
W tym przypadku test pokazuje, że w ciągu 10 sekund przesłano 17,5 MB ze średnią prędkością 14,7 Mbps (nadawca) i 14,0 Mbps (odbiorca). Kolumna Retr
wskazuje na retransmisje (w tym przypadku 1), a Cwnd
pokazuje rozmiar okna przeciążenia, który wzrasta podczas testu.
Podsumowanie
iperf to proste i skuteczne narzędzie do sprawdzania prędkości sieci. Umożliwia szybkie wykrywanie wąskich gardeł w połączeniu i ocenę rzeczywistej wydajności, zarówno w sieci lokalnej, jak i przy połączeniu z publicznymi serwerami, takimi jak bouygues.iperf.fr. Upewnij się, że zapora sieciowa jest poprawnie skonfigurowana i używaj odpowiednich opcji dla swoich potrzeb. Jeśli masz pytania, zostaw komentarz poniżej!