iperf3 es una de las mejores herramientas para medir la velocidad en la red local, ya sea una red cableada o inalámbrica. Este programa utiliza un modelo cliente-servidor, por tanto, es necesario tener tanto un equipo que actúe como servidor de iperf3, para que el equipo que actúe como cliente iperf3 pueda comprobar la velocidad en la red local. El sistema operativo pfSense permite la instalación de iperf3 para comprobar la velocidad de la red local, hoy en RedesZone os vamos a enseñar cómo hacerlo para comprobar el rendimiento.
En RedesZone llevamos utilizando muchos años el popular programa jperf basado en iperf2, pero la nueva versión de iperf3 es completamente distinta a la segunda versión, por tanto, no son compatibles entre sí. iperf3 nos permitirá medir el rendimiento de una red local en LAN, e incluso podremos realizar pruebas LAN-WAN y también WiFi de manera fácil y rápida, sin depender de medidores de velocidad de Internet externos, todo se quedará en nuestra propia red local doméstica. Esta herramienta iperf3 permite hace uso del protocolo TCP, UDP y SCTP para la realización de las pruebas de rendimiento, y también es compatible con redes IPv4 como redes IPv6.
¿Por qué instalar iperf3 en pfSense?
pfSense es un sistema operativo orientado a firewall, que también puede hacer las funcionalidades de router, tanto en entornos domésticos «avanzados» como en pequeñas y medianas empresas. Cuando tenemos una arquitectura de red router-on-stick, y el propio pfSense es el que gestiona todas las VLANs que tengamos en la red, es posible que el enlace troncal entre el pfSense y el switch principal se nos quede corto.
Gracias a la posibilidad de instalar iperf3 en el pfSense, podremos comprobar la velocidad máxima que conseguiremos en un equipo de la red local, teniendo en cuenta el cableado desde el principio hasta el final, la potencia del hardware donde hayamos instalado pfSense y si realmente es capaz de gestionar el tráfico que le lancemos. Cuando en pfSense tenemos múltiples servicios, como cientos de reglas en el cortafuegos, un IDS/IPS configurado en la LAN y/o WAN, o utilidades como ntopng para ver en tiempo real todos los flujos de datos, es posible que el rendimiento del pfSense no sea el adecuado por falta de potencia, y tengamos que afinar las diferentes reglas. Es en estos casos cuando iperf3 cobra protagonismo, tanto para medir el rendimiento en la red local como también para medir el rendimiento inter-vlan routing.
Para instalarlo, simplemente tenemos que irnos a la sección de «System / Package Manager», en la sección de «Installed Packages» tendremos todos los paquetes instalados actualmente, por defecto no viene instalada esta herramienta.
Nos vamos a la sección de «Available Packages» y buscaremos por «iperf», y procedemos a instalarlo como cualquier otra herramienta.
Una vez instalado, podremos ver en la sección de «Installed Packages» que ya lo tenemos, concretamente tenemos la versión iperf3 3.9.
Una vez instalado, ahora tendremos que ejecutarlo.
Posibles usos de iPerf3
Con ièrf3 podemos llevar a cabo diferentes tipos de pruebas, las cuales nos arrojan información diferente dentro de un mismo ámbito. Como sabemos, con esta herramienta podemos realizar mediciones en el rendimiento desde la red interna, hasta el interior de un cortafuegos. Esto puede ser muy útil en donde las diferentes zonas de la red interna que están tras enlaces lentos de la interfaz de red del firewall. Entre ellos, podemos probar el rendimiento de una red inalámbrica o una WAN que se utiliza de forma privada, y se encuentra conectada a un router que tenemos en red.
Realizar pruebas de rendimiento de extremo a extremo entre dos firewall también es otra opción. Esto nos proporciona información sobre el rango de actuación de estos, y sobre la velocidad a la que actúan y se comunican entre sí para prevenir todos los problemas y darnos un extra de seguridad. El principal motivo de esto, es que los firewall deben funcionar de forma adecuada y rápida.
En general con iPerf3 podemos analizar y realizar mediciones de rendimiento de cualquier apartado que sea capaz de excluir las capacidades de los firewall que tenemos instalados. De forma que se pueden estar analizando de forma constante, y generar avisos en caso de que alguna medición no sea la adecuada.
iPerf2
Dentro de iPerf tenemos dos versiones independientes, las cuales están desarrolladas en paralelo, y que son compatibles la una con la otra, pero utilizan diferentes puertos de forma predeterminada. iPerf2 e iPerf3.
En el caso de iPerf2, se trata de una herramienta que se usa generalmente para subprocesos y pruebas bidireccionales, siendo compatible con Windows. En el caso de iPerf3, no tiene soporte oficial para el sistema operativo de Microsoft, pero si puede funcionar correctamente. Sus desventajas frente a la versión 3, es que no está tan bien optimizada y el código es mucho más grande.
Funcionamiento de iperf3 en pfSense
En la sección de «Diagnostics» podremos ejecutar tanto el iperf3 cliente como el servidor. Si ejecutamos el cliente, en nuestro equipo deberemos configurar el iperf3 servidor, y viceversa, si configuramos el servidor iperf3 en pfSense, en nuestro equipo tendremos que configurar el iperf3 en modo cliente para realizar todas las pruebas de rendimiento.
A ambas herramientas, tanto el cliente como el servidor, se puede acceder desde el menú de «Diagnostics», pero posteriormente desde cualquiera de ellos podremos acceder al cliente y servidor.
Cliente
En el menú de interfaz gráfica de usuario tendremos las principales opciones de configuración que tiene el cliente iperf3:
- IP del servidor
- Puerto TCP o UDP del servidor
- Protocolo TCP o UDP
- Formato de salida, bits/sec o bytes/s.
Y otras opciones relacionadas con los buffers que podemos dejar vacías para que coja los valores por defecto. Una vez que hayamos introducido todos los datos del servidor iperf3 que ya se está ejecutando, pinchamos en «Run iperf client» y se ejecutará el test de rendimiento.
Aquí solamente debemos meternos siempre que nuestro equipo actúe de servidor iperf3, y queramos comprobar la velocidad de descarga. Normalmente en una red cableada estamos en un entorno Full-Dúplex, por lo que la velocidad de descarga y subida debería ser la misma, a no ser que esté la red con mucho uso en descarga o subida, que entonces podríamos tener diferencias.
Servidor
En el menú de interfaz gráfica de usuario tendremos las principales opciones de configuración que tiene el servidor iperf3:
- Puerto TCP o UDP del servidor
- Formato de salida, bits/sec o bytes/sec
Un detalle muy importante, es que el servidor iperf3 detectará si estamos enviando tráfico TCP o UDP y actuará en consecuencia, por defecto se usa el puerto 5201 como suele ser habitual en iperf3. Otras opciones disponibles en la sección de servidor, es el «Interval» que nos irá indicando el ancho de banda, jitter y pérdidas en tiempo real.
Una vez que hayamos configurado estos tres parámetros, pinchamos en «Run iperf Server» y ya podremos empezar a lanzar pruebas de rendimiento desde nuestro PC cliente.
Un detalle importante, es que, si el servidor o cliente iperf3 está activado, se nos mostrará en el menú principal en el estado de los diferentes servicios. Lo recomendable es no dejar el iperf3 funcionando si no vamos a estar realizando test de rendimiento, tal y como tenemos nosotros ahora mismo:
En el cliente iperf3 que ejecutemos en el PC, ya sea con sistema operativo Windows o Linux, deberemos poner la siguiente orden:
iperf3.exe -c 192.168.1.1 -P 50 -p 5201 -f g -t 5
./iperf3 -c 192.168.1.1 -P 50 -p 5201 -f g -t 5
- -c 192.168.1.1: actúa en modo cliente con la IP definida.
- -P 50: mandamos un total de 50 conexiones TCP
- -p 5000: hacemos uso del puerto 5000, el por defecto es 5201
- -f g: mostramos la velocidad en Gbps
- -t 5: lanzamos el test durante 5 segundos.
Dependiendo de las opciones que queramos configurar, modificaremos los valores detrás de los argumentos. Esperamos que con este pequeño tutorial sepáis cómo sacar el máximo partido a iperf3 en el pfSense, y comprobar la velocidad en la red local y en la comunicación inter-vlan.
Cómo realiza la medición
Para poder realizar todas las mediciones de velocidad, pfSense utiliza una serie de procesos que le permiten conocer todos los parámetros necesarios. De este modo, los resultados son lo más óptimos posibles. Para ello hace lo siguiente:
- Pruebas de velocidad internas: Cuenta con herramientas internas que permiten realizar pruebas de velocidad directamente desde su interfaz de administración. Estas pruebas miden la velocidad de transferencia de datos entre dispositivos en la red local, lo que ayuda a evaluar el rendimiento y detectar posibles cuellos de botella.
- Monitoreo de ancho de banda: pfSense tiene capacidades de monitoreo de ancho de banda que registran y analizan el tráfico de red en tiempo real. Esto permite identificar el consumo de ancho de banda por parte de diferentes dispositivos y aplicaciones, lo que ayuda a identificar posibles problemas de congestión o uso excesivo de recursos.
- Utilización de SNMP: Admite el protocolo SNMP (Simple Network Management Protocol), que permite monitorear y recopilar información de rendimiento de dispositivos de red. Esto incluye datos sobre el ancho de banda utilizado, la tasa de transferencia y otros indicadores clave que ayudan a evaluar la velocidad de la red local.
- Registros y estadísticas de tráfico: Registra información detallada sobre el tráfico de red, como los flujos de datos, los patrones de uso y las estadísticas de transferencia. Estos registros y estadísticas proporcionan una visión completa del rendimiento de la red y ayudan a identificar cualquier problema de velocidad o congestión.
- Configuración de límites de ancho de banda: Permite configurar límites de ancho de banda para controlar y limitar la velocidad de transferencia en la red local. Esto se puede hacer mediante la implementación de colas y políticas de tráfico que asignan prioridades y limitaciones a diferentes tipos de tráfico y dispositivos.
- Integración con herramientas de terceros: pfSense puede integrarse con herramientas de terceros que ofrecen funciones avanzadas de monitoreo y medición de velocidad de red. Esto incluye herramientas de análisis de tráfico y rendimiento que proporcionan datos más detallados y visualizaciones gráficas para evaluar la velocidad y el rendimiento de la red local.
Al utilizar estos procesos, pfSense permite medir y monitorear la velocidad de una red local, lo que facilita la identificación de problemas y la implementación de soluciones para optimizar el rendimiento. Esto es fundamental para garantizar una conexión rápida y confiable, así como para brindar una experiencia de red fluida a los usuarios.