Przejdz do tresci
Avanet

Przetestuj wydajność Sophos Firewall za pomocą iPerf

iPerf to dobre narzędzie, jeśli chcesz zmierzyć wydajność określonej trasy sieciowej. Na przykład w przypadku Sophos Firewall dotyczy to testów między dwiema sieciami wewnętrznymi, za pośrednictwem połączenia VPN typu lokacja-lokacja, za pośrednictwem Remote Access VPN lub między klientem za zaporą ogniową a serwerem w Internecie.

Test iPerf nie zastępuje normalnego testu aplikacji ani czystego testu szybkości WAN bezpośrednio na zaporze ogniowej. Odpowiada na inne pytanie: jaką przepustowość TCP lub UDP osiąga ta jedna trasa między dwoma zdefiniowanymi punktami końcowymi w wybranych warunkach testowych?

Obszar zastosowania i model pomiarowy

iPerf jest przydatny, jeśli chcesz w sposób powtarzalny zmierzyć określoną odległość. Przed wykonaniem poleceń powinno być jasne, co jest mierzone i na co test celowo nie odpowiada.

Kiedy iPerf ma sens

iPerf jest szczególnie pomocny, gdy zestawienie wydajności musi być powtarzalne:

  • po migracji zapory ogniowej lub zmianie modelu
  • przed i po zmianach w regułach firewalla, IPS, TLS Inspection czy kształtowaniu ruchu
  • dla wolnych połączeń pomiędzy sieciami VLAN lub lokalizacjami
  • w przypadku problemów z wydajnością VPN poprzez IPsec, SSL VPN lub Sophos Connect
  • w przypadku tematów UDP, takich jak głos, transmisje konferencyjne lub niektóre zastosowania branżowe
  • rozróżnienie pomiędzy zaporą sieciową, WAN, siecią WLAN, klientem, serwerem i aplikacją

W przypadku czystego testu Internetu z punktu widzenia zapory ogniowej bardziej odpowiedni jest artykuł Internet Speedtest via Sophos Firewall CLI. Sophos Firewall Sprawdź wskaźniki wydajności nadaje się również do klasyfikowania wykorzystania zapory ogniowej.

Co mierzy iPerf

iPerf ustanawia połączenie testowe pomiędzy serwerem a klientem. Zmierzona wartość dotyczy zatem dokładnie tej ścieżki, tego kierunku, tego portu, tego protokołu i tych punktów końcowych.

Ważna jest prawidłowa interpretacja:

  • TCP pokazuje osiągalną przepustowość z kontrolą przeciążenia, retransmisjami i rozmiarami okien.
  • UDP pokazuje utratę pakietów i jitter, ale wymaga określonej docelowej przepustowości.
  • Pojedynczy przebieg testowy nie jest wiarygodnym określeniem wydajności.
  • WiFi, klient CPU, maszyny wirtualne, karty sieciowe USB i funkcje oszczędzania energii mogą ograniczać pomiar.
  • Funkcje bezpieczeństwa w Sophos Firewall wpływają na wynik tylko wtedy, gdy połączenie testowe przebiega zgodnie z odpowiednią regułą i polityką.

Zaplanuj konfigurację testu

Przed pierwszym poleceniem powinno być jasne, która trasa jest sprawdzana:

  1. Gdzie znajduje się serwer iPerf?
  2. Gdzie jest klient iPerf?
  3. W jakim kierunku należy przeprowadzić badanie?
  4. Która reguła zapory ma zastosowanie do tego połączenia?
  5. Czy na ścieżce znajduje się NAT, VPN, Traffic Shaping, IPS lub TLS Inspection?
  6. Czy test przebiega poprzez kabel czy WLAN?
  7. Czy powinieneś sprawdzić przepustowość TCP, stratę UDP, czy jedno i drugie?

W przypadku testów przeprowadzanych za Sophos Firewall czysta struktura jest zwykle ważniejsza niż indywidualna wartość maksymalna. Klient podłączony do Wi-Fi, przeciążony hypervisor lub wolny serwer Public-iPerf mogą imitować fałszywy problem z zaporą sieciową.

Zainstaluj iPerf

iPerf jest dostępny dla systemów Windows, macOS, Linux, Android i iOS. Dobrze znanym źródłem pobierania jest iPerf.fr.

Narzędzie iPerf3 Speedtest w systemie Windows
iPerf3 w systemie Windows
W przypadku pomiarów produktywnych zwykle wybiera się iPerf3. Jeśli to możliwe, serwer i klient powinni używać tej samej wersji głównej.

Uruchom iPerf

Jeśli konfiguracja testu jest jasna, najpierw uruchamiasz serwer, a następnie przeprowadzasz ukierunkowane testy klienta. TCP, UDP, kierunek przeciwny i strumienie równoległe odpowiadają na różne pytania i dlatego nie należy ich mieszać.

Uruchom serwer iPerf

W systemie docelowym iPerf jest uruchamiany w trybie serwera:

iperf3 -s

Domyślnie iPerf3 nasłuchuje na porcie TCP 5201. Jeśli ma zostać użyty inny port, jest on określony tak samo na serwerze i kliencie:

iperf3 -s -p 5200

Uwaga: W systemach Windows, macOS lub Linux zapora hosta lokalnego może blokować port iPerf. Jeśli klient nie może połączyć się z serwerem, należy najpierw sprawdzić lokalną zaporę sieciową na serwerze iPerf.

Rozpocząć test TCP

Na kliencie serwer jest adresowany za pomocą adresu IP:

iperf3 -c 10.10.10.50

Aby uzyskać bardziej stabilne wyniki, sensowny jest dłuższy test:

iperf3 -c 10.10.10.50 -t 30

Test szybkości iPerf wydajności TCP
Test szybkości iPerf wydajności TCP
Jeśli między klientem a serwerem znajduje się Sophos Firewall, odpowiednia reguła zapory musi zezwalać na ruch. Jeśli przypisanie reguły jest niejasne, pomaga ukierunkowane testowanie reguł Sophos Firewall. Przy problemach z połączeniem kolejnymi krokami są Packet Capture na Sophos Firewall oraz logi usług Sophos Firewall.

Sprawdź konkretnie kierunek

Problemy z wydajnością często występują tylko w jednym kierunku. iPerf3 może odwrócić przepływ danych bez zamiany serwera i klienta:

iperf3 -c 10.10.10.50 -t 30 -R

Jest to szczególnie przydatne w przypadku tras VPN, routingu asymetrycznego, problemów z przesyłaniem lub linii WAN o różnej przepustowości pobierania i wysyłania.

Wykonaj test UDP

UDP należy zawsze testować z rozsądną docelową przepustowością. Bez odpowiedniej docelowej przepustowości test nie mierzy rzeczywistego oczekiwanego obciążenia.

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

W przypadku trasy 1 Gbit wyższa wartość docelowa może mieć sens:

iperf3 -c 10.10.10.50 -u -b 1G -t 30

Wartości te są szczególnie ważne dla UDP:

  • Utracone/całkowite datagramy: Utrata pakietów
  • Jitter: Różnice w czasie przesyłania pakietów
  • Bitrate: efektywna przepustowość wysłana lub odebrana

Test UDP ze zbyt dużą docelową przepustowością celowo powoduje przeciążenie. Może to być przydatne do testowania granic, ale nie powinno być błędnie interpretowane jako normalny test linii.

Użyj wielu strumieni

Pojedynczy strumień TCP może być ograniczony opóźnieniem, rozmiarem okna TCP lub wydajnością klienta. Do testowania wydajności można używać wielu równoległych strumieni:

iperf3 -c 10.10.10.50 -t 30 -P 4

Wynik pokazuje większą część całkowitej przepustowości użytkowej trasy. W przypadku pojedynczej aplikacji test pojedynczego strumienia jest często bardziej znaczący.

Użyj publicznego serwera iPerf

Do przybliżonych porównań internetowych można używać publicznego serwera iPerf. Jednakże serwerów publicznych nie można kontrolować: wykorzystanie, ograniczenia, dostępność i odległość mogą znacznie się zmieniać. Dobrze utrzymany przegląd można znaleźć na przykład na liście iPerf Public Servers on GitHub.

Jeśli chodzi o to, czy lokalna zapora ogniowa, VPN lub określona polityka go spowalnia, oddzielny serwer iPerf po drugiej stronie jest zwykle znacznie bardziej niezawodny.

Pomiar porównawczy i ocena

Pojedyncza wartość iPerf jest wystarczająco rzadka. Test nabiera sensu dopiero wtedy, gdy kierunek, parametry, reguła zapory ogniowej i czas pomiaru zostaną udokumentowane, a następnie powtórzone w tych samych warunkach.

Zaplanuj pomiary bazowe i porównawcze

iPerf jest szczególnie cenny, gdy wykonywane są porównywalne pomiary przed i po zmianie. Pojedyncze badanie po reklamacji pokazuje jedynie aktualny stan. Nie jest jeszcze powiedziane, czy trasa była już wcześniej wolna, czy też nowa reguła zapory sieciowej, profil IPS, TLS Inspection, kształtowanie ruchu, parametr VPN lub problem z dostawcą spowodowały zmianę.

W celu uzyskania wiarygodnych porównań należy zapisać następujące warunki testowe:

  • Data i godzina: Kopie zapasowe, aktualizacje, raporty lub obciążenie dostawców mogą zniekształcić wyniki.
  • Źródło i miejsce docelowe: Inni klienci, serwery lub sieci VLAN prowadzą do innych ścieżek.
  • Kierunek: Pobieranie, przesyłanie i -R mogą pokazywać bardzo różne wartości.
  • Protokół i parametry: TCP, UDP, strumienie, czas trwania i docelowa przepustowość muszą pozostać porównywalne.
  • ** Obowiązująca reguła zapory sieciowej:** Profile zabezpieczeń, rejestrowanie, NAT i kształtowanie ruchu zależą od polityki.
  • Ścieżka VPN lub WAN: Status i typ tunelu SD-WAN, Route Precedence, Gateway wpływają na trasę.
  • Środowisko: Kabel, WLAN, hypervisor, obciążenie CPU i ruch równoległy muszą być sklasyfikowane.

Jeśli planowane są zmiany, prosty proces ma sens:

  1. Przed wprowadzeniem zmian wykonaj test referencyjny.
  2. Udokumentuj regułę zapory ogniowej, politykę, ścieżkę VPN i parametry pomiarowe.
  3. Wprowadź dokładnie jedną zmianę.
  4. Uruchom ponownie ten sam test.
  5. Jeśli występują odchylenia, sprawdź Log Viewer, Packet Capture, błąd interfejsu i obciążenie systemu.
  6. Dopiero wtedy przetestuj kolejną zmianę.

Szczególnie w przypadku testu VPN i lokalizacji ta procedura zapobiega pomieszaniu wielu przyczyn. Jeśli MTU, IPS, SD-WAN, reguły zapory sieciowej i profile klientów zostaną dostosowane w tym samym czasie, trudno będzie później przypisać lepszą wartość iPerf.

Oceń wyniki

Przy ocenie należy zwrócić uwagę nie tylko na najwyższy numer Mbit/s.

Typowe obserwacje:

  • Niska przepustowość TCP z wieloma retransmisjami: wskazuje to na utratę pakietów, problem z dupleksem/łączem, jakość WAN albo temat MTU/MSS.
  • Dobre pobieranie, złe przesyłanie: Możliwe są asymetryczna linia, routing, kształtowanie dostawcy lub kierunek VPN.
  • Utrata pakietów UDP nawet przy umiarkowanym obciążeniu: Typowymi przyczynami są przeciążenie, niska jakość WAN, nieprawidłowy kształt lub WLAN.
  • Wartości o dużym wahaniu: Sprawdź obciążenie równoległe, WLAN, limit CPU lub środowisko wirtualne.
  • Tylko serwery publiczne są powolne: Wtedy wpływa to na serwer zewnętrzny lub komunikację równorzędną, a nie automatycznie na lokalną zaporę ogniową.

Podczas testu należy sprawdzić pamięć RAM, obciążenie interfejsu, obciążenie IPS i reguły, których to dotyczy, na Sophos Firewall CPU. Wartości można lepiej sklasyfikować za pomocą wskaźników wydajności i dzienników na żywo.

Błędy i lista kontrolna

Wiele fałszywych wniosków wynika z tego, że ścieżka testowa nie jest jasno zdefiniowana lub nie bierze się pod uwagę serwerów publicznych, sieci WLAN, zapór sieciowych hostów lokalnych i kierunku VPN.

Typowe błędy

  • Port iPerf jest blokowany na serwerze przez zaporę hosta lokalnego.
  • Sprawdzany jest zły kierunek.
  • Klient WLAN jest używany do sprawdzania wydajności zapory.
  • UDP został przetestowany bez odpowiedniej docelowej przepustowości lub z nierealistycznie dużą docelową przepustowością.
  • Publiczny serwer iPerf jest używany jako jedyny dowód wydajności Internetu.
  • Pojedynczy strumień TCP i wiele równoległych strumieni TCP są mieszane.
  • Nie sprawdzono obowiązującej reguły Sophos Firewall.
  • Testy VPN są oceniane bez sprawdzenia MTU, MSS, CPU i strony zdalnej.

Krótka lista kontrolna

  1. Określ trasę i kierunek testu.
  2. Uruchom serwer iPerf na odpowiednim punkcie końcowym.
  3. Sprawdź zaporę hosta lokalnego na serwerze iPerf.
  4. Znajdź odpowiednią regułę Sophos Firewall.
  5. Uruchom test TCP na co najmniej 30 sekund.
  6. Jeśli to konieczne, przetestuj w przeciwnym kierunku za pomocą -R.
  7. Testuj UDP tylko z realistyczną docelową przepustowością.
  8. Sprawdź równolegle metryki zapory, dzienniki i Packet Capture.
  9. Po zmianach powtórzyć test i udokumentować wyniki.
  10. Dokonując pomiarów porównawczych, używaj tych samych parametrów, kierunku i ścieżki.

Często zadawane pytania

Czy iPerf mierzy prędkość Internetu Sophos Firewall?

iPerf mierzy przepustowość pomiędzy dwoma zdefiniowanymi punktami końcowymi. W przypadku testu WAN bezpośrednio na zaporze bardziej odpowiedni jest oddzielny test szybkości zapory przy użyciu SSH. W przypadku VPN, sieci VLAN, połączeń lokacji lub tras klient-serwer, iPerf często dostarcza więcej informacji.

Czy powinieneś używać publicznego serwera iPerf?

Publiczne serwery iPerf nadają się tylko do przybliżonych porównań. Aby uzyskać niezawodny firewall, VPN lub testy lokalizacji, lepiej mieć własny serwer iPerf po drugiej stronie, ponieważ obciążenie, odległość, peering i ograniczenia serwera publicznego mogą w przeciwnym razie zniekształcić wynik.

Dlaczego wyniki TCP i UDP różnią się?

TCP reaguje na utratę pakietów, opóźnienia i retransmisje, kontrolując przeciążenia. UDP wysyła z określoną docelową przepustowością i przede wszystkim pokazuje utratę, jitter i osiągniętą przepływność. Obydwa testy odpowiadają na różne pytania i nie należy ich bezpośrednio utożsamiać.

Dlaczego powinieneś przetestować odwrotny kierunek za pomocą -R?

Wiele problemów z wydajnością występuje tylko w jednym kierunku. -R odwraca kierunek danych bez zamiany serwera i klienta. Pomaga to w przypadku linii asymetrycznych, ścieżek powrotnych VPN, ścieżek SD-WAN lub problemów z przesyłaniem.

Czy powolny test iPerf dowodzi problemu z zaporą ogniową?

Nie. Wolny test iPerf początkowo pokazuje tylko, że ta konkretna trasa jest wolna w wybranych warunkach. Następnie należy osobno sprawdzić regułę zapory sieciowej, ścieżkę NAT, ścieżkę VPN, MTU/MSS, jakość WAN, klienta, serwer, WLAN i obciążenie równoległe.