Content
Comprobación de la velocidad de conexión con iperf
iperf es una herramienta poderosa para probar el ancho de banda de la red, que permite medir la velocidad de transferencia de datos entre dos dispositivos. Es ampliamente utilizada por administradores de sistemas e ingenieros para diagnosticar problemas de red y evaluar el rendimiento de la conexión. En este artículo, exploraremos cómo instalar iperf, cómo usarlo y cómo configurar correctamente un firewall para su funcionamiento.
Instalación de iperf
Antes de comenzar, es necesario instalar iperf en ambos dispositivos: el servidor (que recibe el tráfico) y el cliente (que envía el tráfico). Existen dos versiones populares: iperf2 e iperf3. Recomendamos usar iperf3, ya que está activamente soportada y ofrece funciones mejoradas.
Instalación en Linux
- Ubuntu/Debian:
sudo apt update sudo apt install iperf3
- CentOS/RHEL:
sudo yum install iperf3
Instalación en Windows
- Descarga iperf3 desde el sitio web oficial (por ejemplo, https://iperf.fr/)
- Descomprime el archivo en una carpeta conveniente (por ejemplo, C:\iperf).
- Añade la ruta de la carpeta a la variable de entorno PATH para facilitar su ejecución desde la línea de comandos.
Instalación en macOS
- A través de Homebrew:
brew install iperf3
Tras la instalación, verifica la versión para asegurarte de que la herramienta funciona:
iperf3 --version
¿Cómo funciona iperf?
iperf opera bajo un modelo cliente-servidor:
- Servidor: Se ejecuta en un dispositivo y espera conexiones entrantes.
- Cliente: Se conecta al servidor y envía datos para medir la velocidad.
Por defecto, iperf3 utiliza el puerto TCP 5201 (iperf2 usa el 5001). Puedes cambiar el puerto con la opción -p.
Configuración del firewall para iperf
Para que iperf funcione correctamente, asegúrate de que el firewall de tu dispositivo no bloquee las conexiones en los puertos que utiliza iperf (por defecto, el puerto TCP 5201, pero puedes especificar otro con -p). A continuación, se presentan instrucciones para configurar el firewall en diferentes sistemas operativos.
Windows
- Abre la configuración del firewall:
- Presiona Win + R, escribe
control
y selecciona "Firewall de Windows Defender". - Ve a "Permitir una aplicación o característica a través del Firewall de Windows Defender".
- Presiona Win + R, escribe
- Añade una regla para iperf:
- Haz clic en "Permitir otra aplicación", luego en "Examinar" y selecciona el archivo iperf3.exe.
- Permite conexiones entrantes y salientes para redes privadas y públicas.
- Crea una regla para el puerto (método alternativo):
- En "Configuración avanzada", selecciona "Reglas de entrada" → "Nueva regla".
- Elige "Puerto", especifica TCP y el puerto (por ejemplo, 5201), luego permite la conexión.
- Repite para conexiones salientes si es necesario.
Linux
Dependiendo de la distribución, se utilizan diferentes herramientas de gestión de firewall:
- Para ufw (Ubuntu, Debian):
sudo ufw allow 5201/tcp sudo ufw status # Verificar estado
- Para firewalld (CentOS, RHEL):
sudo firewall-cmd --add-port=5201/tcp --permanent sudo firewall-cmd --reload sudo firewall-cmd --list-ports # Verificar puertos abiertos
- Para iptables (configuración manual):
sudo iptables -A INPUT -p tcp --dport 5201 -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 5201 -j ACCEPT
macOS
- Abre la configuración del firewall:
- Ve a "Configuración del Sistema" → "Seguridad y Privacidad" → pestaña "Firewall".
- Asegúrate de que el firewall esté activado.
- Añade una excepción:
- Haz clic en "Opciones de Firewall" → "+" y añade la aplicación iperf3.
- Permite conexiones entrantes.
- A través del terminal (alternativa):
echo "pass in proto tcp from any to any port 5201" | sudo pfctl -f - sudo pfctl -e # Activar firewall
Recomendaciones generales
- Asegúrate de que el puerto usado en el comando iperf (por ejemplo,
iperf3 -s -p 5201
) coincida con el puerto abierto en el firewall. - Usa
netstat
oss
(por ejemplo,ss -tuln | grep 5201
) para verificar que el puerto esté en escucha. - Si realizas pruebas a través de Internet, configura el firewall del router o del servidor en la nube.
Uso de iperf
Iniciar el servidor
En el dispositivo que actuará como servidor, ejecuta:
iperf3 -s
Verás un mensaje indicando que el servidor está en marcha y escuchando en el puerto 5201.
Iniciar el cliente
En el segundo dispositivo (cliente), especifica la dirección IP del servidor:
iperf3 -c 192.168.1.100
-c
: Modo cliente.192.168.1.100
: Sustituye por la dirección IP de tu servidor.
Por defecto, la prueba dura 10 segundos. Los resultados mostrarán la velocidad de transferencia de datos en megabits por segundo (Mbps).
Pruebas con un servidor público
Si no puedes ejecutar tu propio servidor, puedes usar servidores públicos de iperf. Por ejemplo, el servidor de Bouygues Telecom:
iperf3 -c bouygues.iperf.fr
Este comando se conecta al servidor público bouygues.iperf.fr (puerto predeterminado 5201) y mide la velocidad entre tu dispositivo y el servidor. Ten en cuenta que la disponibilidad de servidores públicos puede variar y los resultados dependen de tu conexión a Internet.
Opciones útiles
-t <tiempo>
: Duración de la prueba en segundos (por ejemplo,-t 30
).-p <puerto>
: Especificar puerto (por ejemplo,-p 5001
).-u
: Usar UDP en lugar de TCP.-b <velocidad>
: Limitar el ancho de banda (por ejemplo,-b 10M
para 10 Mbps).-R
: Probar la dirección inversa (del servidor al cliente).
Ejemplo de prueba UDP:
iperf3 -c 192.168.1.100 -u -b 100M
Interpretación de resultados
Al finalizar la prueba, iperf3 muestra una tabla con los resultados:
- Interval: Intervalo de tiempo.
- Transfer: Cantidad de datos transferidos.
- Bandwidth: Ancho de banda en Mbps.
Ejemplo de salida para una prueba local:
[ 5] 0.00-10.00 sec 1.13 GBytes 970 Mbits/sec
Esto indica que se transfirieron 1.13 GB en 10 segundos a una velocidad promedio de 970 Mbps.
Ejemplo de salida para una prueba con el servidor público 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
En este caso, la prueba muestra que se transfirieron 17.5 MB en 10 segundos a una velocidad promedio de 14.7 Mbps (emisor) y 14.0 Mbps (receptor). La columna Retr
indica retransmisiones (1 en este caso), y Cwnd
muestra el tamaño de la ventana de congestión, que aumenta durante la prueba.
Conclusión
iperf es una herramienta sencilla y eficaz para probar la velocidad de la red. Permite identificar rápidamente cuellos de botella en una conexión y evaluar el rendimiento real, ya sea en una red local o con servidores públicos como bouygues.iperf.fr. Asegúrate de que tu firewall esté correctamente configurado y utiliza las opciones adecuadas para tus necesidades. ¡Si tienes alguna pregunta, deja un comentario abajo!