Content
Verifica della velocità di connessione con iperf
iperf è uno strumento potente per testare la larghezza di banda della rete, che consente di misurare la velocità di trasferimento dati tra due dispositivi. È ampiamente utilizzato da amministratori di sistema e ingegneri per diagnosticare problemi di rete e valutare le prestazioni della connessione. In questo articolo, esploreremo come installare iperf, come utilizzarlo e come configurare correttamente un firewall per il suo funzionamento.
Installazione di iperf
Prima di iniziare, è necessario installare iperf su entrambi i dispositivi: il server (che riceve il traffico) e il client (che invia il traffico). Esistono due versioni popolari: iperf2 e iperf3. Consigliamo di utilizzare iperf3, poiché è attivamente supportata e offre funzionalità migliorate.
Installazione su Linux
- Ubuntu/Debian:
sudo apt update sudo apt install iperf3
- CentOS/RHEL:
sudo yum install iperf3
Installazione su Windows
- Scarica iperf3 dal sito ufficiale (ad esempio, https://iperf.fr/)
- Estrai l’archivio in una cartella conveniente (ad esempio, C:\iperf).
- Aggiungi il percorso della cartella alla variabile d’ambiente PATH per semplificare l’esecuzione dalla riga di comando.
Installazione su macOS
- Tramite Homebrew:
brew install iperf3
Dopo l’installazione, verifica la versione per assicurarti che lo strumento funzioni:
iperf3 --version
Come funziona iperf?
iperf opera secondo un modello client-server:
- Server: Viene eseguito su un dispositivo e rimane in attesa di connessioni in entrata.
- Client: Si connette al server e invia dati per misurare la velocità.
Per impostazione predefinita, iperf3 utilizza la porta TCP 5201 (iperf2 utilizza la 5001). Puoi modificare la porta con l’opzione -p.
Configurazione del firewall per iperf
Per garantire che iperf funzioni correttamente, assicurati che il firewall del tuo dispositivo non blocchi le connessioni sulle porte utilizzate da iperf (di default, la porta TCP 5201, ma puoi specificarne un’altra con -p). Di seguito sono riportate le istruzioni per configurare il firewall su diversi sistemi operativi.
Windows
- Apri le impostazioni del firewall:
- Premi Win + R, digita
control
e seleziona "Windows Defender Firewall". - Vai a "Consenti un’app o una funzionalità attraverso Windows Defender Firewall".
- Premi Win + R, digita
- Aggiungi una regola per iperf:
- Fai clic su "Consenti un’altra app", poi su "Sfoglia" e seleziona il file iperf3.exe.
- Consenti connessioni in entrata e in uscita per reti private e pubbliche.
- Crea una regola per la porta (metodo alternativo):
- In "Impostazioni avanzate", seleziona "Regole in entrata" → "Nuova regola".
- Scegli "Porta", specifica TCP e la porta (ad esempio, 5201), quindi consenti la connessione.
- Ripeti per le connessioni in uscita, se necessario.
Linux
A seconda della distribuzione, vengono utilizzati diversi strumenti di gestione del firewall:
- Per ufw (Ubuntu, Debian):
sudo ufw allow 5201/tcp sudo ufw status # Verifica stato
- Per firewalld (CentOS, RHEL):
sudo firewall-cmd --add-port=5201/tcp --permanent sudo firewall-cmd --reload sudo firewall-cmd --list-ports # Verifica porte aperte
- Per iptables (configurazione manuale):
sudo iptables -A INPUT -p tcp --dport 5201 -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 5201 -j ACCEPT
macOS
- Apri le impostazioni del firewall:
- Vai a "Impostazioni di Sistema" → "Sicurezza e Privacy" → scheda "Firewall".
- Assicurati che il firewall sia attivato.
- Aggiungi un’eccezione:
- Fai clic su "Opzioni Firewall" → "+" e aggiungi l’applicazione iperf3.
- Consenti connessioni in entrata.
- Tramite terminale (alternativa):
echo "pass in proto tcp from any to any port 5201" | sudo pfctl -f - sudo pfctl -e # Attiva firewall
Raccomandazioni generali
- Assicurati che la porta utilizzata nel comando iperf (ad esempio,
iperf3 -s -p 5201
) corrisponda alla porta aperta nel firewall. - Usa
netstat
oss
(ad esempio,ss -tuln | grep 5201
) per verificare che la porta sia in ascolto. - Se esegui test attraverso Internet, configura il firewall del router o del server cloud.
Utilizzo di iperf
Avvio del server
Sul dispositivo che fungerà da server, esegui:
iperf3 -s
Vedrai un messaggio che indica che il server è in esecuzione e in ascolto sulla porta 5201.
Avvio del client
Sul secondo dispositivo (client), specifica l’indirizzo IP del server:
iperf3 -c 192.168.1.100
-c
: Modalità client.192.168.1.100
: Sostituisci con l’indirizzo IP del tuo server.
Per impostazione predefinita, il test dura 10 secondi. I risultati mostreranno la velocità di trasferimento dati in megabit al secondo (Mbps).
Test con un server pubblico
Se non puoi eseguire un tuo server, puoi utilizzare server iperf pubblici. Ad esempio, il server di Bouygues Telecom:
iperf3 -c bouygues.iperf.fr
Questo comando si connette al server pubblico bouygues.iperf.fr (porta predefinita 5201) e misura la velocità tra il tuo dispositivo e il server. Tieni presente che la disponibilità dei server pubblici può variare e i risultati dipendono dalla tua connessione Internet.
Opzioni utili
-t <tempo>
: Durata del test in secondi (ad esempio,-t 30
).-p <porta>
: Specifica la porta (ad esempio,-p 5001
).-u
: Usa UDP invece di TCP.-b <velocità>
: Limita la larghezza di banda (ad esempio,-b 10M
per 10 Mbps).-R
: Testa la direzione inversa (dal server al client).
Esempio di test UDP:
iperf3 -c 192.168.1.100 -u -b 100M
Interpretazione dei risultati
Al termine del test, iperf3 mostra una tabella con i risultati:
- Interval: Intervallo di tempo.
- Transfer: Quantità di dati trasferiti.
- Bandwidth: Larghezza di banda in Mbps.
Esempio di output per un test locale:
[ 5] 0.00-10.00 sec 1.13 GBytes 970 Mbits/sec
Questo indica che sono stati trasferiti 1,13 GB in 10 secondi a una velocità media di 970 Mbps.
Esempio di output per un test con il server pubblico 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 5201 [ 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
In questo caso, il test mostra che sono stati trasferiti 17,5 MB in 10 secondi a una velocità media di 14,7 Mbps (mittente) e 14,0 Mbps (destinatario). La colonna Retr
indica le ritrasmissioni (1 in questo caso), e Cwnd
mostra la dimensione della finestra di congestione, che aumenta durante il test.
Conclusione
iperf è uno strumento semplice ed efficace per testare la velocità della rete. Consente di identificare rapidamente i colli di bottiglia in una connessione e valutare le prestazioni reali, sia in una rete locale che con server pubblici come bouygues.iperf.fr. Assicurati che il tuo firewall sia configurato correttamente e utilizza le opzioni appropriate per le tue esigenze. Se hai domande, lascia un commento qui sotto!