Vai al contenuto
Avanet

Testare le prestazioni del Sophos Firewall con iPerf

iPerf è un ottimo strumento se desideri misurare le prestazioni di un percorso di rete specifico. Per un Sophos Firewall, ad esempio, questo vale per i test tra due reti interne, su una connessione VPN da sito a sito, su Remote Access VPN o tra un client dietro il firewall e un server in Internet.

Un test iPerf non sostituisce un normale test dell’applicazione o un puro test di velocità WAN direttamente sul firewall. Risponde a un’altra domanda: quanta velocità effettiva TCP o UDP raggiunge questo percorso tra due endpoint definiti nelle condizioni di test selezionate?

Ambito di applicazione e modello di misurazione

iPerf è utile se si desidera misurare una distanza specifica in modo riproducibile. Prima di eseguire i comandi, dovrebbe essere chiaro cosa viene misurato e a cosa il test non risponde deliberatamente.

Quando iPerf ha senso

iPerf è particolarmente utile quando una dichiarazione di prestazione deve essere riproducibile:

  • dopo una migrazione del firewall o una modifica del modello
  • prima e dopo le modifiche alle regole del firewall, IPS, TLS Inspection o traffic shaping
  • per connessioni lente tra VLAN o posizioni
  • per problemi di prestazioni di VPN tramite IPsec, SSL VPN o Sophos Connect
  • per argomenti UDP come voce, flussi di conferenze o determinate applicazioni di settore
  • distinguere tra firewall, WAN, WLAN, client, server e applicazione

Per un test Internet puro dal punto di vista del firewall, l’articolo Test di velocità Internet tramite la CLI Sophos Firewall è più adatto. Sophos Firewall Controlla i parametri delle prestazioni è adatto anche per classificare l’utilizzo del firewall.

Cosa misura iPerf

iPerf stabilisce una connessione di prova tra un server e un client. Il valore misurato vale quindi esattamente per questo percorso, questa direzione, questa porta, questo protocollo e questi punti finali.

L’interpretazione corretta è importante:

  • TCP mostra il throughput ottenibile con controllo della congestione, ritrasmissioni e dimensioni delle finestre.
  • UDP mostra perdita di pacchetti e jitter, ma richiede una larghezza di banda target definita.
  • Una singola esecuzione di prova non costituisce una dichiarazione affidabile di capacità.
  • WiFi, client CPU, macchine virtuali, adattatori di rete USB e funzioni di risparmio energetico possono limitare la misurazione.
  • Le funzioni di sicurezza sul Sophos Firewall influiscono sul risultato solo se la connessione di prova viene eseguita attraverso una regola e una policy adeguate.

Pianifica l’impostazione del test

Prima del primo comando dovrebbe essere chiaro quale percorso viene controllato:

  1. Dove si trova il server iPerf?
  2. Dov’è il client iPerf?
  3. In quale direzione deve essere effettuato il test?
  4. Quale regola del firewall si applica a questa connessione?
  5. Sul percorso sono presenti NAT, VPN, Traffic Shaping, IPS o TLS Inspection?
  6. Il test viene eseguito tramite cavo o WLAN?
  7. Dovresti controllare il throughput di TCP, la perdita di UDP o entrambi?

Per i test dietro un Sophos Firewall, una struttura pulita è solitamente più importante del valore massimo individuale. Un client su WiFi, un hypervisor sovraccarico o un server Public-iPerf lento possono simulare un falso problema di firewall.

Installa iPerf

iPerf è disponibile per Windows, macOS, Linux, Android e iOS. Una fonte di download molto nota è iPerf.fr.

Strumento Speedtest iPerf3 su Windows
iPerf3 su Windows
Per misurazioni produttive, iPerf3 è la scelta abituale. Se possibile, server e client dovrebbero utilizzare la stessa versione principale.

Esegui iPerf

Se la configurazione del test è chiara, avviare prima il server e poi eseguire test client mirati. TCP, UDP, direzione opposta e flussi paralleli rispondono a domande diverse e pertanto non devono essere mischiati.

Avvia il server iPerf

Sul sistema di destinazione, iPerf viene avviato in modalità server:

iperf3 -s

Per impostazione predefinita, iPerf3 è in ascolto sulla porta TCP 5201. Se si deve utilizzare una porta diversa, viene specificata la stessa cosa sul server e sul client:

iperf3 -s -p 5200

Attenzione: Su Windows, macOS o Linux, il firewall dell’host locale potrebbe bloccare la porta iPerf. Se il client non riesce a raggiungere il server, è necessario controllare prima il firewall locale sul server iPerf.

Avviare il test TCP

Sul client il server viene indirizzato con il suo indirizzo IP:

iperf3 -c 10.10.10.50

Per risultati più stabili, è opportuno un test più lungo:

iperf3 -c 10.10.10.50 -t 30

Test di velocità iPerf delle prestazioni TCP
Test di velocità iPerf delle prestazioni TCP
Se tra client e server è presente un Sophos Firewall, la regola firewall corretta deve consentire il traffico. Se l’associazione della regola non è chiara, è utile testare in modo mirato le regole Sophos Firewall. In caso di problemi di connessione, i passaggi successivi sono Packet Capture su Sophos Firewall e i log dei servizi Sophos Firewall.

Controlla specificatamente la direzione

I problemi di prestazioni spesso si verificano solo in una direzione. iPerf3 può invertire il flusso di dati senza scambiare server e client:

iperf3 -c 10.10.10.50 -t 30 -R

Ciò è particolarmente utile per i percorsi VPN, il routing asimmetrico, i problemi di upload o le linee WAN con diversa larghezza di banda downstream e upstream.

Eseguire il test UDP

UDP deve essere sempre testato con una larghezza di banda target ragionevole. Senza una larghezza di banda target adeguata, il test non misura il carico effettivo previsto.

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

Per un percorso da 1 Gbit può avere senso un valore target più elevato:

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

Questi valori sono particolarmente importanti per UDP:

  • Datagrammi persi/totali: Perdita di pacchetti
  • Jitter: Variazione del tempo di transito dei pacchetti
  • Bitrate: larghezza di banda effettiva inviata o ricevuta

Un test UDP con una larghezza di banda target troppo elevata crea intenzionalmente un sovraccarico. Ciò può essere utile per i test sui confini, ma non deve essere interpretato erroneamente come un normale test di linea.

Utilizza più flussi

Un singolo flusso TCP può essere limitato dalla latenza, dalle dimensioni della finestra TCP o dalle prestazioni del client. È possibile utilizzare più flussi paralleli per il test della capacità:

iperf3 -c 10.10.10.50 -t 30 -P 4

Il risultato mostra una parte maggiore della capacità utilizzabile totale del percorso. Per una singola applicazione, un test a flusso singolo è spesso più significativo.

Utilizza il server pubblico-iPerf

Un server pubblico iPerf può essere utilizzato per confronti Internet approssimativi. Tuttavia, i server pubblici non possono essere controllati: l’utilizzo, le limitazioni, l’accessibilità e la distanza possono variare notevolmente. Una panoramica ben curata si trova ad esempio nell’elenco dei iPerf Public Servers on GitHub.

Quando si tratta di stabilire se il firewall locale, il VPN o una policy specifica lo rallentano, un server iPerf separato sull’altro lato è solitamente molto più affidabile.

Misurazione e valutazione comparativa

Un singolo valore iPerf è abbastanza raro. Il test diventa significativo solo quando la direzione, i parametri, la regola firewall e il tempo di misurazione vengono documentati e successivamente ripetuti nelle stesse condizioni.

Pianificare misurazioni di riferimento e di confronto

iPerf è particolarmente utile quando vengono effettuate misurazioni comparabili prima e dopo una modifica. Un singolo test dopo un reclamo mostra solo la condizione attuale. Non è ancora detto se il percorso fosse già lento prima o se la modifica sia stata innescata da una nuova regola firewall, da un profilo IPS, TLS Inspection, dal traffic shaping, da un parametro VPN o da un problema del provider.

Per confronti affidabili, queste condizioni di prova dovrebbero essere registrate:

  • Data e ora: Backup, aggiornamenti, report o carico del provider possono distorcere i risultati.
  • Origine e destinazione: Altri client, server o VLAN risultano in altri percorsi.
  • Direzione: Download, caricamento e -R possono mostrare valori molto diversi.
  • Protocollo e parametri: TCP, UDP, flussi, durata e larghezza di banda target devono rimanere comparabili.
  • Regola firewall applicabile: I profili di sicurezza, la registrazione, NAT e il modellamento del traffico dipendono dalla policy.
  • Percorso VPN o WAN: Lo stato di SD-WAN, Route Precedence, Gateway e il tipo di tunnel influiscono sul percorso.
  • Ambiente: Cavo, WLAN, hypervisor, carico CPU e traffico parallelo devono essere classificati.

Se sono pianificate modifiche, ha senso un processo semplice:

  1. Eseguire un test di riferimento prima di apportare modifiche.
  2. Documentare la regola del firewall, la policy, il percorso VPN e i parametri di misurazione.
  3. Apportare esattamente una modifica.
  4. Eseguire nuovamente lo stesso test.
  5. Se sono presenti deviazioni, controllare Log Viewer, Packet Capture, errore di interfaccia e carico del sistema.
  6. Solo allora testare la modifica successiva.

Soprattutto con VPN e test di localizzazione, questa procedura impedisce che più cause vengano confuse. Se MTU, IPS, SD-WAN, regole firewall e profili client vengono modificati contemporaneamente, è difficile assegnare in seguito un valore iPerf migliore.

Valuta i risultati

Durante la valutazione, l’attenzione non dovrebbe essere prestata solo al numero Mbit/s più alto.

Osservazioni tipiche:

  • Basso throughput TCP con molte ritrasmissioni: indica perdita di pacchetti, un problema duplex/link, qualità WAN o un tema MTU/MSS.
  • Buon download, caricamento scadente: Sono possibili linee asimmetriche, routing, modellazione del provider o direzione VPN.
  • Perdita di pacchetti UDP anche con carico moderato: Le cause più comuni sono sovraccarico, scarsa qualità WAN, shaping o WLAN errati.
  • Valori altamente fluttuanti: Controllare il carico parallelo, la WLAN, il limite CPU o l’ambiente virtuale.
  • Solo i server pubblici sono lenti: In questo caso viene interessato il server esterno o il peering, non automaticamente il firewall locale.

Durante il test, è necessario controllare la RAM, il carico dell’interfaccia, il carico IPS e le regole interessate sul Sophos Firewall CPU. I valori possono essere meglio classificati utilizzando le metriche prestazionali e i registri in tempo reale.

Errori e lista di controllo

Molte conclusioni errate derivano dal fatto che il percorso di prova non è chiaramente definito o che i server pubblici, la WLAN, i firewall dell’host locale e la direzione VPN non vengono presi in considerazione.

Errori comuni

  • La porta iPerf è bloccata sul server dal firewall dell’host locale.
  • Viene testata la direzione sbagliata.
  • Un client WLAN viene utilizzato per una dichiarazione sulle prestazioni del firewall.
  • UDP è stato testato senza una larghezza di banda target adeguata o con una larghezza di banda target irrealisticamente elevata.
  • Un server pubblico iPerf viene utilizzato come unica prova delle proprie prestazioni Internet.
  • Il flusso singolo TCP e i flussi multipli paralleli TCP sono misti.
  • La regola Sophos Firewall applicabile non è selezionata.
  • I test VPN vengono valutati senza considerare MTU, MSS, CPU e controparte.

Breve lista di controllo

  1. Definire il percorso e la direzione del test.
  2. Avviare il server iPerf su un endpoint appropriato.
  3. Controllare il firewall dell’host locale sul server iPerf.
  4. Identificare la regola Sophos Firewall appropriata.
  5. Eseguire il test TCP per almeno 30 secondi.
  6. Se necessario, testare nella direzione opposta con -R.
  7. Testare UDP solo con una larghezza di banda target realistica.
  8. Controllare le metriche del firewall, i registri e Packet Capture in parallelo.
  9. Ripetere il test dopo le modifiche e documentare i risultati.
  10. Utilizzare gli stessi parametri, direzione e percorso quando si effettuano misurazioni comparative.

Domande frequenti

iPerf misura la velocità Internet di Sophos Firewall?

iPerf misura il throughput tra due endpoint definiti. Per un test WAN direttamente sul firewall, è più adatto un test di velocità del firewall separato utilizzando SSH. Per VPN, VLAN, connessioni al sito o percorsi da client a server, iPerf è spesso più informativo.

Dovresti utilizzare un server iPerf pubblico?

I server pubblici iPerf sono adatti solo per confronti approssimativi. Per test affidabili su firewall, VPN o localizzazione, è meglio avere il proprio server iPerf dall’altra parte, perché il carico, la distanza, il peering e i limiti del server pubblico potrebbero altrimenti distorcere il risultato.

Perché i risultati TCP e UDP sono diversi?

TCP risponde alla perdita di pacchetti, alla latenza e alla ritrasmissione con controllo della congestione. UDP invia con una larghezza di banda target specificata e mostra principalmente perdita, jitter e bit rate raggiunto. Entrambi i test rispondono a domande diverse e non devono essere direttamente equiparati.

Perché dovresti testare la direzione opposta con -R?

Molti problemi di prestazioni si verificano solo in una direzione. -R inverte la direzione dei dati senza scambiare server e client. Questo aiuta con linee asimmetriche, percorsi di ritorno VPN, percorsi SD-WAN o problemi di caricamento.

Un test iPerf lento dimostra un problema del firewall?

No. Un test iPerf lento inizialmente mostra solo che questo percorso specifico è lento nelle condizioni selezionate. Successivamente, la regola firewall, la qualità NAT, il percorso VPN, MTU/MSS, WAN, il client, il server, la WLAN e il carico parallelo devono essere controllati separatamente.