Instalar iPerf3 en Linux y hacer pruebas de velocidad TCP y UDP con servidores públicos

Instalar iPerf3 en Linux y hacer pruebas de velocidad TCP y UDP con servidores públicos

Cuando necesitas diagnosticar el rendimiento de una red, ya sea en tu entorno local o hacia Internet, iPerf3 es una de las herramientas más fiables para realizar pruebas de velocidad. En este artículo te mostraré cómo instalarlo en Linux y cómo ejecutar comprobaciones TCP y UDP utilizando un servidor público gratuito de iperf.fr.

¿Qué es iPerf3?

iPerf3 es una herramienta de línea de comandos que permite medir el ancho de banda y la calidad de una conexión de red. Puede utilizarse en modo cliente o servidor y admite tanto el protocolo TCP como UDP, lo que la convierte en una herramienta ideal para diagnósticos de red.

Instalación de iPerf3 en Linux

La instalación de iPerf3 es rápida y sencilla. A continuación, te muestro cómo hacerlo en las distribuciones más comunes:

Ubuntu / Debian

sudo apt update
sudo apt install iperf3 -y

Fedora

sudo dnf install iperf3 -y

Arch Linux

sudo pacman -S iperf3

Una vez instalado, ya puedes comenzar a hacer pruebas de velocidad con solo un comando.

Servidor público

Para nuestras pruebas utilizaremos el servidor público proporcionado por Online.net, disponible en:

ping.online.net (puerto 5209)

Este servidor está configurado para aceptar conexiones iPerf3 tanto en TCP como en UDP. Asegúrate de que tu red permite conexiones salientes al puerto 5209.

Prueba TCP con múltiples flujos

La prueba TCP es la opción por defecto en iPerf3 y nos sirve para medir la velocidad efectiva de transferencia entre tu equipo y el servidor.

iperf3 -c ping.online.net -p 5209 -P 4

Parámetros utilizados:

  • -c ping.online.net: indica el host al que nos conectamos.
  • -p 5209: puerto habilitado para iPerf3.
  • -P 4: utiliza 4 flujos TCP paralelos para simular varias conexiones simultáneas.

Salida esperada (ejemplo):

[ ID] Interval           Transfer     Bitrate
[SUM]   0.00-10.00  sec   450 MBytes  377 Mbits/sec

El valor de «Bitrate» indica la velocidad media sostenida durante los 10 segundos de prueba.

Prueba UDP forzando a 100 Mbit/s

El protocolo UDP es útil para comprobar la calidad de la red: pérdidas de paquetes, jitter y comportamiento bajo carga. Para lanzar una prueba UDP a 100 Mbps:

iperf3 -c ping.online.net -p 5209 -u -b 100M

Parámetros utilizados:

  • -u: activa el modo UDP.
  • -b 100M: fija el ancho de banda de salida en 100 megabits por segundo.

Salida esperada (ejemplo):

[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.00  sec  119 MBytes  100 Mbits/sec   0.350 ms  2/8500 (0.024%)

Si observas muchas pérdidas de paquetes o un jitter elevado, puede indicar congestión, limitaciones del equipo o inestabilidad en la conexión.

Consejos para interpretar los resultados

  • TCP: mide la capacidad efectiva del canal (lo que puedes aprovechar con aplicaciones reales).
  • UDP: mide estabilidad, jitter y pérdidas, útil para VoIP, videollamadas o gaming.
  • En UDP, no uses un ancho de banda mayor que tu capacidad real de subida: puede generar falsas pérdidas.
  • Si ves muchas pérdidas con -b 100M, prueba bajando a -b 50M o -b 20M.

Consejos adicionales

  • Puedes usar -t para especificar la duración de la prueba (en segundos).
  • Usa -p para especificar un puerto si no es el predeterminado (5201).
  • Agrega -f m para mostrar las velocidades en Mbps en vez de bits por segundo.

Ejemplo:

iperf3 -c iperf3.iperf.fr -u -b 5M -t 15 -f m

¿Por qué usar múltiples flujos TCP?

El parámetro -P permite simular varias conexiones simultáneas, algo muy común en aplicaciones reales (navegadores, descargas, streaming). Utilizar -P 4 o más puede ayudarte a ver el rendimiento real cuando tu red está bajo uso intensivo.

Limpieza y cierre

Recuerda que no necesitas abrir puertos ni configurar nada especial en tu equipo cuando haces pruebas como cliente. Solo asegúrate de que tu firewall permite conexiones salientes al puerto que estés usando (en este caso, el 5209).

Si te gusta un poco la automatización aquí te dejo un script bash automatizado para ejecutar pruebas TCP y UDP con iperf3 contra el servidor público ping.online.net en el puerto 5209. El script muestra los resultados en pantalla y los guarda en un archivo de log para análisis posterior.

#!/bin/bash

# Script para realizar pruebas de velocidad TCP y UDP con iperf3

SERVER="ping.online.net"
PORT=5209
TCP_STREAMS=4
UDP_BANDWIDTH="100M"
DURATION=10
LOGFILE="iperf3_$(date +%Y%m%d_%H%M%S).log"

echo "============================================="
echo "   Pruebas de rendimiento con iPerf3"
echo "   Servidor: $SERVER, Puerto: $PORT"
echo "   Duración de cada prueba: $DURATION segundos"
echo "   Archivo de log: $LOGFILE"
echo "============================================="

# Función para ejecutar prueba TCP
function run_tcp_test() {
  echo -e "\n[+] Ejecutando prueba TCP con $TCP_STREAMS flujos..." | tee -a "$LOGFILE"
  iperf3 -c "$SERVER" -p "$PORT" -P "$TCP_STREAMS" -t "$DURATION" | tee -a "$LOGFILE"
}

# Función para ejecutar prueba UDP
function run_udp_test() {
  echo -e "\n[+] Ejecutando prueba UDP a $UDP_BANDWIDTH..." | tee -a "$LOGFILE"
  iperf3 -c "$SERVER" -p "$PORT" -u -b "$UDP_BANDWIDTH" -t "$DURATION" | tee -a "$LOGFILE"
}

# Ejecutar pruebas
run_tcp_test
run_udp_test

echo -e "\n[✔] Pruebas completadas. Resultados guardados en: $LOGFILE"

Qué hace el script

  • Lanza una prueba TCP con 4 flujos paralelos.
  • Lanza una prueba UDP forzando 100 Mbps.
  • Usa el servidor público ping.online.net en el puerto 5209.
  • Guarda toda la salida en un archivo de log con marca de tiempo (ej. iperf3_20250615_143022.log).

Si quieres cambiar el servidor, puerto, número de flujos, duración o velocidad UDP, abre el archivo test_iperf3.sh con un editor y modifica las variables al principio:

SERVER="ping.online.net"
PORT=5209
TCP_STREAMS=4
UDP_BANDWIDTH="100M"
DURATION=10

Conclusión

Con iPerf3 puedes evaluar el rendimiento de tu red de forma precisa usando herramientas de línea de comandos. Gracias a servidores públicos como ping.online.net, ni siquiera necesitas configurar un servidor propio para comenzar a hacer pruebas. Tanto en TCP como en UDP, iPerf3 te ayuda a diagnosticar cuellos de botella, pérdida de paquetes o simplemente verificar si tu proveedor de Internet te está entregando lo prometido.

Comentarios

Aún no hay comentarios. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *