Przejdz do tresci
Avanet

Prawidłowy test wydajności Sophos Firewall za pomocą iPerf3

iPerf3 mierzy przepustowość TCP lub UDP pomiędzy dwoma określonymi punktami końcowymi. Pozwala sprawdzić, czy trasa między sieciami VLAN, przez Sophos Firewall lub tunel VPN działa wolniej, niż oczekiwano. Pojedynczy wysoki lub niski wynik nie stanowi jednak jeszcze dowodu na problem z firewallem.

Wiarygodny test wymaga najpierw pomiaru bazowego z pominięciem podejrzanej trasy. Następnie ten sam pomiar należy powtórzyć przez firewall. Kierunek, czas trwania, protokół, liczba strumieni, reguła firewalla i profile bezpieczeństwa muszą być udokumentowane. W przeciwnym razie porównywane będą wyniki, których nie można technicznie zestawić.

⚠️ Zaplanuj test obciążeniowy: iPerf3 może całkowicie wykorzystać przepustowość łącza. Testy w środowisku produkcyjnym należy przeprowadzać w oknie serwisowym lub świadomie ograniczyć poniżej dostępnego pasma. Serwer nie powinien być niepotrzebnie dostępny z Internetu.

Co mierzy iPerf3

iPerf3 składa się z serwera i klienta. Domyślnie klient wysyła dane testowe do serwera. Opcja -R odwraca kierunek. Wynik pomiaru dotyczy zawsze wyłącznie tych konkretnych punktów końcowych, tej trasy i tych parametrów.

Trzy najważniejsze rodzaje testów odpowiadają na różne pytania:

TestZnaczenie
TCP, jeden strumieńPrzepustowość typowego pojedynczego połączenia z uwzględnieniem kontroli przeciążenia i retransmisji
TCP, wiele strumieniDostępna łączna przepustowość, gdy pojedynczy strumień jest ograniczony przez opóźnienie lub wydajność punktu końcowego
UDP z zadaną przepustowościąStraty, Jitter i osiągnięty Bitrate przy świadomie określonym obciążeniu

iPerf3 nie mierzy wydajności aplikacji. SMB, RDP, VoIP lub aplikacja internetowa mogą działać wolno pomimo dobrych wyników iPerf. Z kolei pojedynczy strumień TCP na trasie o dużym opóźnieniu może nie wykorzystywać całej przepustowości łącza, mimo że firewall i WAN działają prawidłowo.

Do testowania Internetu bezpośrednio z perspektywy urządzenia lepiej nadaje się artykuł Test prędkości Internetu na Sophos Firewall przez SSH. iPerf3 jest lepszym narzędziem, gdy badane są dwa kontrolowane punkty końcowe oraz łącząca je trasa.

Planowanie trasy testowej i pomiaru bazowego

Przed wykonaniem pierwszego polecenia należy określić klienta, serwer i badaną trasę. Sensowna seria pomiarów obejmuje trzy etapy:

  1. Pomiar bazowy punktów końcowych: przetestuj klienta i serwer w tej samej sieci lokalnej lub przez przełącznik o znanej wysokiej wydajności. Jeśli już ten wynik jest słaby, najpierw sprawdź klienta, serwer, kartę sieciową, firewall hosta, hypervisor lub WLAN.
  2. Trasa przez firewall: przetestuj te same punkty końcowe przez odpowiednie sieci VLAN lub strefy oraz rzeczywistą regułę Sophos Firewall.
  3. Trasa WAN lub VPN: dopiero potem powtórz test przez operatora, SD-WAN, Site-to-Site VPN lub Remote Access.

Do oceny firewalla lepiej nadają się punkty końcowe podłączone przewodowo niż klienci WLAN. Na obu systemach należy znać stan funkcji oszczędzania energii, wykorzystanie CPU, konfigurację wirtualnych kart sieciowych oraz ruch równoległy. Serwer i klient powinny w miarę możliwości korzystać z tej samej wersji głównej iPerf3; iPerf2 i iPerf3 nie są ze sobą kompatybilne.

Przygotowanie reguły firewall

iPerf3 domyślnie używa portu 5201. Test TCP wymaga TCP 5201. W teście UDP dane testowe przesyłane są przez UDP 5201, ale połączenie sterujące nadal korzysta z TCP. Grupa usług Sophos dla testów UDP musi zatem obejmować TCP i UDP 5201.

Tymczasowa reguła w Rules and policies > Firewall rules powinna zezwalać wyłącznie na konkretny adres IP źródła, adres IP celu i usługę iPerf. Włącz Log firewall traffic i zanotuj Rule ID. Nie twórz szerokiej reguły Any ani dostępu z Internetu tylko po to, aby szybciej rozpocząć test.

Po zapisaniu sprawdź w Log viewer, czy stosowana jest dokładnie ta reguła. Jeśli przypisanie nie jest jasne, pomocny będzie artykuł Precyzyjne testowanie reguł Sophos Firewall.

Instalacja iPerf3 i zabezpieczenie serwera

Oficjalna dokumentacja projektu i pakiety źródłowe są dostępne na stronie ESnet iPerf3. ESnet wymienia Ubuntu Linux, FreeBSD i macOS jako oficjalnie wspierane platformy. W praktyce pakiety binarne dla systemu Windows często pochodzą od zewnętrznych dostawców; znany przegląd udostępnia iPerf.fr.

Narzędzie iPerf3 Speedtest w systemie Windows
iPerf3 działa jako kontrolowany punkt końcowy do powtarzalnych pomiarów TCP i UDP.

W systemie docelowym serwer uruchamia się następująco:

iperf3 -s

Bezpieczniejszym rozwiązaniem jest powiązanie procesu z testowym adresem IP i automatyczne zakończenie go po jednym połączeniu klienta:

iperf3 -s -B 10.10.10.50 -1

Opcja -B wiąże iPerf3 ze wskazanym adresem. Opcja -1 pozwala przyjąć najwyżej jedno połączenie klienta, a następnie kończy działanie serwera. Przed każdym kolejnym pojedynczym testem polecenie należy uruchomić ponownie. Jeśli ma zostać użyty inny port, po obu stronach trzeba podać tę samą wartość:

iperf3 -s -B 10.10.10.50 -p 5200 -1

Port może być również blokowany przez lokalny firewall hosta na serwerze. Także to zezwolenie należy ograniczyć do źródła testowego i niezbędnego czasu.

Testowanie TCP w obu kierunkach

Pierwszy test wykorzystuje jeden strumień TCP i trwa 30 sekund:

iperf3 -c 10.10.10.50 -t 30
Test przepustowości TCP w iPerf3 pomiędzy klientem a serwerem
Test TCP w iPerf3 pokazuje przepustowość i retransmisje dla określonej trasy.

Domyślnie klient wysyła dane do serwera. Następnie należy sprawdzić kierunek przeciwny przy użyciu tych samych punktów końcowych:

iperf3 -c 10.10.10.50 -t 30 -R

Jeśli oba kierunki znacznie się od siebie różnią, bardziej prawdopodobne są asymetryczna przepustowość WAN, routing, SD-WAN, błędy interfejsu, parametry VPN lub problem z punktem końcowym niż ogólne ograniczenie przepustowości.

Dopiero po teście pojedynczego strumienia można w razie potrzeby przeprowadzić pomiar porównawczy z czterema strumieniami równoległymi:

iperf3 -c 10.10.10.50 -t 30 -P 4

Jeśli -P 4 zapewnia znacznie wyższą prędkość, pojedynczy przepływ TCP może być ograniczony przez opóźnienie, okno TCP lub wydajność punktu końcowego. Wynik nie jest automatycznie prędkością osiąganą przez pojedynczą aplikację. Opcja --bidir obciąża jednocześnie oba kierunki i lepiej nadaje się do ukierunkowanego testu obciążeniowego niż do czystego porównania kierunków.

Kontrolowane testowanie UDP

Test UDP zawsze wymaga realistycznej docelowej przepustowości. Bez opcji -b iPerf3 używa domyślnie tylko 1 Mbit/s. Na tej podstawie nie można ocenić trasy o przepustowości 100 Mbit/s ani trasy gigabitowej.

Przykład dla 100 Mbit/s:

iperf3 -c 10.10.10.50 -u -b 100M -t 30

Nie należy od razu rozpoczynać od teoretycznej przepustowości łącza. Najpierw warto przetestować na przykład od 60 do 80 procent oczekiwanej przepustowości użytkowej, a następnie stopniowo zwiększać wartość docelową. W przypadku VPN trzeba dodatkowo uwzględnić narzut protokołu i szyfrowania.

W przypadku UDP kluczowe są trzy wartości:

  • Bitrate: faktycznie osiągnięta szybkość transmisji danych.
  • Jitter: zmienność czasu przesyłania pakietów.
  • Lost/Total Datagrams: utrata pakietów wykryta przez odbiornik.

Celowo ustawiona zbyt wysoka przepustowość docelowa sama powoduje utratę pakietów. Jest to test graniczny, ale nie dowód na nieprawidłowe działanie firewalla. Również w przypadku UDP kierunek przeciwny należy przetestować osobno za pomocą -R.

Obserwowanie Sophos Firewall podczas testu

Wynik iPerf staje się miarodajny dopiero wtedy, gdy można go zestawić w czasie z działaniem firewalla. Podczas 30-sekundowego testu powinny być widoczne następujące informacje:

  • W Log viewer wartości Firewall Rule ID, źródło, cel, usługa i zezwolone połączenie są zgodne.
  • W Control center wartości CPU, Memory, Bandwidth i Sessions pokazują, czy urządzenie osiąga granicę wydajności podczas testu.
  • W sekcji Diagnostics > System graphs w Interface graphs sprawdzane są wartości Bits, Drops, Errors i Collisions na używanych interfejsach.
  • W sekcji Diagnostics > Packet capture precyzyjny filtr obejmujący klienta, serwer i port 5201 może pokazać, czy pakiety są odrzucane lub przetwarzane przez nieoczekiwane moduły.

Packet Capture pokazuje między innymi numer reguły firewall oraz numery polityk Web, Application i IPS. Przechwytywanie powinno trwać krótko, korzystać z precyzyjnego filtra i zostać zatrzymane po zakończeniu testu. Artykuł Packet Capture na Sophos Firewall dokładniej opisuje analizę.

Izolowanie profili bezpieczeństwa

Jeśli pomiar bazowy punktów końcowych jest dobry, a wolna jest wyłącznie trasa przez firewall, nie należy wyłączać wszystkiego jednocześnie. Najpierw udokumentuj faktycznie stosowaną regułę i jej profile bezpieczeństwa. Następnie w oknie serwisowym zmień dokładnie jedną zmienną i powtórz ten sam test.

Reguła diagnostyczna bez dodatkowej inspekcji może obejmować wyłącznie źródło testowe, cel testowy i usługę iPerf. Po pomiarze porównawczym należy ją natychmiast wyłączyć lub usunąć. Pozwala to ustalić, czy wpływ ma IPS, Application Control, Traffic Shaping lub inna polityka, bez pozostawiania pozostałego ruchu bez ochrony.

Prawidłowa interpretacja wyników

W przypadku TCP istotne są podsumowania sender i receiver oraz retransmisje. Duża liczba retransmisji wskazuje na straty lub zakłócenia na trasie, a nie automatycznie na zbyt niską wydajność CPU firewalla. Dobry lokalny wynik bazowy i słaby wynik przez firewall zawężają obszar poszukiwań, ale nie wskazują jeszcze przyczyny.

Typowe wzorce:

  • Niska prędkość już w tej samej sieci LAN: sprawdź punkty końcowe, sterowniki kart sieciowych, platformę wirtualną, firewall hosta lub WLAN.
  • Niska prędkość tylko przez firewall: sprawdź regułę, profile bezpieczeństwa, Traffic Shaping, błędy interfejsów i obciążenie systemu.
  • Niska prędkość tylko przez VPN: sprawdź jakość WAN, opóźnienie, profil szyfrowania, trasę tunelu oraz MTU i MSS.
  • Niska prędkość tylko w jednym kierunku: porównaj test z opcją Reverse, liczniki interfejsów, routing asymetryczny i upstream operatora.
  • Wolny pojedynczy strumień, szybkie strumienie równoległe: oceń opóźnienie, okno TCP i wydajność punktów końcowych, zanim uznasz, że ograniczeniem jest firewall.
  • Wolny tylko jeden serwer publiczny: ograniczeniem może być obciążenie, odległość lub peering zewnętrznego serwera.

Publiczne serwery iPerf nadają się co najwyżej do przybliżonego porównania łącza internetowego. W diagnostyce firewalla, VPN lub połączeń między lokalizacjami bardziej wiarygodny jest własny, kontrolowany serwer po drugiej stronie.

Dokumentowanie pomiaru i usuwanie konfiguracji testowej

Aby później można było odtworzyć porównanie przed i po zmianie, należy zapisać co najmniej datę, klienta, serwer, kierunek, polecenie, Rule ID, profile bezpieczeństwa, trasę VPN lub WAN oraz wyniki sender i receiver. Podczas diagnostyki należy zmieniać tylko jedną zmienną pomiędzy kolejnymi pomiarami.

Po zakończeniu:

  1. Zatrzymaj serwer iPerf3.
  2. Usuń zezwolenie z firewalla hosta.
  3. Wyłącz lub usuń tymczasową regułę Sophos Firewall i usługę testową, jeśli nie są już potrzebne.
  4. Przywróć zmienione profile bezpieczeństwa do przewidzianego stanu.
  5. Ponownie sprawdź Log viewer i liczniki interfejsów pod kątem odrzuceń lub błędów.

FAQ

Czy iPerf3 mierzy prędkość Internetu na Sophos Firewall?

iPerf3 mierzy przepustowość pomiędzy dwoma punktami końcowymi. Do testowania WAN bezpośrednio na urządzeniu lepiej nadaje się osobny test prędkości firewalla. W przypadku tras VLAN, VPN, połączeń między lokalizacjami oraz klient-serwer iPerf3 zapewnia lepszy, kontrolowany pomiar.

Czy test UDP wymaga portu TCP i UDP 5201?

Tak. Dane testowe UDP są przesyłane przez UDP, ale iPerf3 nadal korzysta z połączenia sterującego TCP. Na potrzeby testu firewall i lokalny firewall hosta muszą więc zezwalać na oba protokoły.

Dlaczego test UDP bez opcji -b jest tak wolny?

Bez opcji -b domyślna docelowa przepustowość dla UDP wynosi 1 Mbit/s. Aby pomiar był miarodajny, trzeba podać realistyczną docelową przepustowość i stopniowo ją zwiększać.

Dlaczego należy przetestować kierunek przeciwny za pomocą -R?

Wiele problemów występuje tylko w jednym kierunku. Opcja -R sprawia, że serwer wysyła dane do klienta bez zamiany ról urządzeń końcowych. Pozwala to szybciej wykryć asymetrię łącza oraz problemy z routingiem, VPN lub interfejsem.

Czy wolny test iPerf3 dowodzi problemu z firewallem?

Nie. Wynik dotyczy początkowo tylko konkretnej trasy i wybranych parametrów. Dopiero pomiar bazowy, właściwy Rule ID, wartości systemowe i interfejsów oraz kontrolowane testy porównawcze pozwalają ustalić, czy Sophos Firewall może być przyczyną.