Testare le prestazioni di Sophos Firewall con iPerf3
iPerf3 misura il throughput TCP o UDP tra due endpoint definiti. Permette di verificare se un percorso tra VLAN, attraverso un Sophos Firewall o all’interno di un tunnel VPN è più lento del previsto. Tuttavia, un singolo valore alto o basso non dimostra ancora che vi sia un problema del firewall.
Un test attendibile richiede innanzitutto una baseline senza il percorso sospetto. La stessa misurazione viene poi ripetuta attraverso il firewall. Direzione, durata, protocollo, stream, regola firewall e profili di sicurezza devono rimanere documentati; in caso contrario si confrontano risultati che, dal punto di vista tecnico, non sono comparabili.
⚠️ Pianificare il test di carico: iPerf3 può saturare completamente una linea. I test in produzione devono essere eseguiti durante una finestra di manutenzione oppure deliberatamente al di sotto della larghezza di banda disponibile. Non lasciare mai il server inutilmente accessibile da Internet.
Che cosa misura iPerf3
iPerf3 è composto da un server e un client. Per impostazione predefinita, il client invia i dati di test al server. Con -R la direzione viene invertita. Il valore misurato è valido esclusivamente per questi endpoint, questo percorso e questi parametri.
I tre tipi di test principali rispondono a domande diverse:
| Test | Significato |
|---|---|
| TCP, uno stream | Throughput di una tipica connessione singola, inclusi controllo della congestione e ritrasmissioni |
| TCP, più stream | Capacità complessiva utilizzabile quando un singolo stream è limitato dalla latenza o dalle prestazioni dell’endpoint |
| UDP con larghezza di banda target | Perdita, Jitter e Bitrate raggiunto con un carico deliberatamente prestabilito |
iPerf3 non misura le prestazioni delle applicazioni. SMB, RDP, VoIP o un’applicazione web possono essere lenti nonostante buoni valori iPerf. Al contrario, un singolo stream TCP su un percorso ad alta latenza può rimanere al di sotto della capacità disponibile della linea anche quando firewall e WAN funzionano correttamente.
Per un test Internet direttamente dal punto di vista dell’appliance, l’articolo Speed test Internet di Sophos Firewall tramite SSH è più adatto. iPerf3 è più indicato quando si devono analizzare due endpoint controllati e il percorso che li collega.
Pianificare il percorso di test e la baseline
Prima del primo comando occorre definire client, server e percorso da verificare. Una serie di misurazioni utile si articola in tre fasi:
- Baseline degli endpoint: testare client e server nella stessa rete locale oppure attraverso uno switch veloce noto. Se questo valore è già scarso, analizzare prima client, server, NIC, firewall dell’host, hypervisor o WLAN.
- Percorso attraverso il firewall: testare gli stessi endpoint attraverso le VLAN o le zone previste e la reale regola di Sophos Firewall.
- Percorso WAN o VPN: solo successivamente ripetere il test attraverso provider, SD-WAN, Site-to-Site VPN o Remote Access.
Gli endpoint collegati via cavo sono più adatti dei client WLAN per valutare il firewall. Su entrambi i sistemi occorre conoscere le funzioni di risparmio energetico, l’utilizzo della CPU, le NIC virtuali e il traffico parallelo. Server e client dovrebbero utilizzare, per quanto possibile, la stessa versione principale di iPerf3; iPerf2 e iPerf3 non sono compatibili.
Preparare la regola firewall
Per impostazione predefinita, iPerf3 utilizza la porta 5201. Per un test TCP è necessaria TCP 5201. In un test UDP, i dati di test transitano su UDP 5201, ma la connessione di controllo rimane TCP. Un gruppo di servizi Sophos per i test UDP deve quindi includere TCP e UDP 5201.
La regola temporanea in Rules and policies > Firewall rules deve consentire esclusivamente l’indirizzo IP sorgente, l’indirizzo IP di destinazione e il servizio iPerf specifici. Attivare Log firewall traffic e annotare la Rule ID. Non creare una regola Any generica né un accesso da Internet solo per avviare più rapidamente il test.
Dopo il salvataggio, verificare nel Log viewer che venga applicata esattamente questa regola. Se l’associazione non è chiara, consultare Testare in modo mirato le regole di Sophos Firewall.
Installare iPerf3 e proteggere il server
La documentazione ufficiale del progetto e i pacchetti sorgente sono disponibili sul sito di ESnet iPerf3. ESnet indica Ubuntu Linux, FreeBSD e macOS come piattaforme ufficialmente supportate. Nella pratica, i pacchetti binari per Windows provengono spesso da fornitori terzi; iPerf.fr offre una panoramica nota.

Sul sistema di destinazione, avviare il server nel modo seguente:
iperf3 -s
È più sicuro associare il processo all’indirizzo IP di test e terminarlo automaticamente dopo una connessione client:
iperf3 -s -B 10.10.10.50 -1
-B associa iPerf3 all’indirizzo specificato. -1 accetta al massimo una connessione client e successivamente termina il server. Il comando deve essere riavviato per ogni ulteriore test singolo. Se si desidera utilizzare un’altra porta, occorre specificare la stessa su entrambi i lati:
iperf3 -s -B 10.10.10.50 -p 5200 -1
Inoltre, il firewall locale dell’host sul server può bloccare la porta. Limitare anche questa autorizzazione alla sorgente del test e al periodo necessario.
Testare TCP in entrambe le direzioni
Il primo test utilizza un singolo stream TCP e dura 30 secondi:
iperf3 -c 10.10.10.50 -t 30

Per impostazione predefinita, il client invia i dati al server. Successivamente, con gli stessi endpoint, si verifica la direzione opposta:
iperf3 -c 10.10.10.50 -t 30 -R
Se le due direzioni differiscono notevolmente, una larghezza di banda WAN asimmetrica, il routing, SD-WAN, errori di interfaccia, parametri VPN o un endpoint sono cause più probabili rispetto a un limite generale del throughput.
Solo dopo il test con un singolo stream si esegue, se necessario, un confronto con quattro stream paralleli:
iperf3 -c 10.10.10.50 -t 30 -P 4
Se -P 4 è nettamente più veloce, un singolo flusso TCP può essere limitato dalla latenza, dalla finestra TCP o dalle prestazioni dell’endpoint. Il risultato non corrisponde automaticamente alla velocità raggiunta da una singola applicazione. --bidir sollecita entrambe le direzioni contemporaneamente ed è più adatto a un test di stress mirato che a un confronto preciso delle direzioni.
Testare UDP in modo controllato
Un test UDP richiede sempre una larghezza di banda target realistica. Senza -b, iPerf3 utilizza per impostazione predefinita solo 1 Mbit/s; questo valore non consente di valutare un percorso da 100 Mbit/s o Gigabit.
Esempio con 100 Mbit/s:
iperf3 -c 10.10.10.50 -u -b 100M -t 30
Non iniziare subito con la velocità teorica della linea. Testare dapprima, ad esempio, dal 60 all'80% della larghezza di banda utilizzabile prevista e aumentare poi gradualmente il valore target. Per una VPN occorre considerare anche l’overhead del protocollo e della cifratura.
Per UDP sono determinanti tre valori:
- Bitrate: velocità dati effettivamente raggiunta.
- Jitter: variazione del tempo di transito tra i pacchetti.
- Lost/Total Datagrams: perdita di pacchetti rilevata dal destinatario.
Una larghezza di banda target deliberatamente troppo elevata genera essa stessa perdita di pacchetti. Si tratta di un test al limite, ma non dimostra che il firewall sia difettoso. Anche per UDP, la direzione opposta viene verificata separatamente con -R.
Monitorare Sophos Firewall durante il test
Un risultato iPerf diventa significativo solo quando viene correlato temporalmente con il firewall. Durante il test di 30 secondi devono essere visibili i seguenti elementi:
- Nel Log viewer, Firewall Rule ID, sorgente, destinazione, servizio e connessione consentita corrispondono.
- Nel Control center, CPU, Memory, Bandwidth e Sessions mostrano se l’appliance raggiunge un limite durante il test.
- In Diagnostics > System graphs, negli Interface graphs si controllano Bits, Drops, Errors e Collisions sulle interfacce coinvolte.
- In Diagnostics > Packet capture, un filtro circoscritto a client, server e porta 5201 può mostrare se i pacchetti vengono scartati o elaborati da moduli imprevisti.
Packet Capture mostra, tra le altre cose, il numero della regola firewall e i numeri delle policy Web, Application e IPS. Mantenere breve la cattura, applicare filtri restrittivi e arrestarla nuovamente dopo il test. L’articolo Packet Capture su Sophos Firewall descrive più dettagliatamente la valutazione.
Isolare i profili di sicurezza
Se la baseline degli endpoint è buona e solo il percorso attraverso il firewall è lento, non si deve disattivare tutto contemporaneamente. Occorre innanzitutto documentare la regola effettivamente applicata e i relativi profili di sicurezza. Successivamente, durante una finestra di manutenzione, modificare esattamente una variabile e ripetere lo stesso test.
Una regola diagnostica priva di controlli aggiuntivi deve essere limitata rigorosamente alla sorgente del test, alla destinazione del test e al servizio iPerf. Dopo la misurazione comparativa, deve essere immediatamente disattivata o rimossa. In questo modo è possibile determinare se sono coinvolti IPS, Application Control, Traffic Shaping o un’altra policy, senza lasciare senza protezione il resto del traffico.
Interpretare correttamente i risultati
Per TCP sono importanti il riepilogo per sender e receiver e le ritrasmissioni. Numerose ritrasmissioni indicano una perdita o un percorso disturbato, non necessariamente una CPU del firewall insufficiente. Un buon valore della baseline locale e un valore scarso attraverso il firewall restringono la ricerca, ma non identificano ancora la causa.
Schemi tipici:
- Lento già nella stessa LAN: controllare endpoint, driver NIC, piattaforma virtuale, firewall dell’host o WLAN.
- Lento solo attraverso il firewall: analizzare regola, profili di sicurezza, Traffic Shaping, errori di interfaccia e carico del sistema.
- Lento solo attraverso la VPN: controllare qualità WAN, latenza, profilo di cifratura, rotta del tunnel e MTU e MSS.
- Lento in una sola direzione: confrontare il test inverso, i contatori delle interfacce, il routing asimmetrico e l’upstream del provider.
- Singolo stream lento, più stream veloci: valutare latenza, finestra TCP e prestazioni dell’endpoint prima di ipotizzare un limite del firewall.
- Lento solo con un server pubblico: il risultato può essere limitato dal carico, dalla distanza o dal peering del server esterno.
I server iPerf pubblici sono adatti al massimo a un confronto Internet approssimativo. Per la diagnosi di firewall, VPN o sedi, è più attendibile un server controllato sulla controparte.
Documentare la misurazione ed eseguire il ripristino
Affinché un successivo confronto prima-dopo rimanga comprensibile, occorre registrare almeno data, client, server, direzione, comando, Rule ID, profili di sicurezza, percorso VPN o WAN e risultati di sender/receiver. Durante l’analisi di un problema, modificare sempre una sola variabile tra due esecuzioni.
Al termine:
- Arrestare il server iPerf3.
- Rimuovere l’autorizzazione dal firewall dell’host.
- Disattivare o eliminare la regola temporanea di Sophos Firewall e il servizio di test, se non sono più necessari.
- Ripristinare i profili di sicurezza modificati allo stato previsto.
- Controllare nuovamente nel Log viewer e nei contatori delle interfacce la presenza di Drops o errori.
FAQ
iPerf3 misura la velocità Internet di Sophos Firewall?
Un test UDP richiede le porte TCP e UDP 5201?
Perché il test UDP senza -b è così lento?
-b, la larghezza di banda target predefinita per UDP è di 1 Mbit/s. Per una misurazione significativa occorre specificare una larghezza di banda target realistica e aumentarla gradualmente.Perché è necessario testare la direzione opposta con -R?
-R fa sì che il server invii i dati al client senza scambiare i ruoli dei dispositivi. In questo modo diventano più rapidamente visibili problemi di linee asimmetriche, routing, VPN o interfacce.