Instalación y configuración de Iperf en openSUSE y Windows

Investigando acerca de una aplicación que permita medir el ancho de banda de una red y que a la vez sea multiplataforma he encontrado Iperf.

Iperf es una herramienta que permite averiguar el rendimiento y la tasa de transferencia máxima de un enlace de red, y es muy útil para medir el ancho de banda de conexiones VPN. La misma se encuentra disponible para entornos Linux como así también para Windows.


Comunicación extremo a extremo

Para poner en funcionamiento esta herramienta es necesario tener un equipo en cada extremo del enlace que se desea medir. En la máquina de uno de los extremos se ejecuta la herramienta Iperf en modo server, que habilitará un puerto al que se podrá conectar el equipo del otro extremo mediante la ejecución de la herramienta Iperf en modo cliente, para luego proceder con el análisis.

Para calcular la velocidad y el desempeño del enlace de red, la herramienta generará tráfico a través del mismo mediante la transmisión de ráfagas de paquetes TCP o UDP.


Instalación de Iperf

Para instalar Iperf en las versiones más recientes de openSUSE les recomiendo utilizar el método 1-Click Install, ya que solo es necesario buscar el paquete para nuestra versión de openSUSE en http://software.opensuse.org/search, hacer clic en el botón del método de instalación 1-Click Install y seguir los pasos que se indican a continuación.

Para instalar la herramienta en Windows primeramente necesitamos descargar su ejecutable, del cual por cierto existe una versión antigua 1.7 y otra version 2.x.x mucho más reciente. Una vez que hayamos descargado el ejecutable iperf.exe lo copiamos directamente en el directorio C:\WINDOWS\system32, con lo cual ya quedará listo para ser usado desde el CMD.


Ejecución de Iperf como servicio

Para ejecutar la herramienta Iperf como servicio en ambos sistemas operativos (Linux y Windows), debemos ejecutar en la línea de comandos el comando iperf -s -D, donde el parámetro -s indica que la herramienta se ejecutará en modo servidor y el parámetro -D que la herramienta se ejecutará en segundo plano como un demonio o servicio. Los ejemplos para ambos sistemas operativos siguen a continuación:

En Linux:

Seguimos los siguientes pasos para ejecutar la herramienta como servicio:
  1. Ejecutamos la aplicación iperf seguida de los argumentos ya mencionados:
    testsrv:~ # iperf -s -D
    ------------------------------------------------------------
    Server listening on TCP port 5001
    TCP window size: 85.3 KByte (default)
    ------------------------------------------------------------
    Running Iperf Server as a daemon
    The Iperf daemon process ID : 5876
    testsrv:~ #
    Como se puede observar, la herramienta queda a la espera de peticiones en el puerto TCP 5001, motivo por el cual es necesario habilitar dicho puerto en el Firewall siempre y cuando lo tengamos corriendo.

  2. Para habilitar el puerto TCP 5001 en el cortafuegos de openSUSE primeramente debemos editar el archivo SuSEfirewall2 ubicado en el directorio /etc/sysconfig:
    testsrv:~ # vi /etc/sysconfig/SuSEfirewall2
  3. Ya dentro del archivo debemos buscar la directiva FW_SERVICES_EXT_TCP para asignarle el mencionado puerto:
    FW_SERVICES_EXT_TCP="5001"
  4. Guardamos los cambios del archivo y reiniciamos el cortafuegos, con lo cual el servicio ya debería quedar disponible:
    testsrv:~ # rcSuSEfirewall2 restart
OBS: La herramienta Iperf para Linux no cuenta con un script de arranque. Los pasos para crearlo serán abordados en un artículo posterior, y cuyo enlace estará disponible en el resumen de guías.

En Windows:

Como se puede observar a continuación, el comando que se utiliza para ejecutar la herramienta Iperf como servicio en Windows es el mismo que el utilizado en Linux.
C:\Documents and Settings\Gabriel>iperf -s -D
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 8.00 KByte (default)
------------------------------------------------------------
IPerf Service started.
C:\Documents and Settings\Gabriel>
OBS: Al ejecutar el comando anterior, la herramienta Iperf queda registrada como un servicio del sistema en Windows. Para remover la aplicación de la lista de servicios del sistema operativo debemos ejecutar el comando iperf -s -R.


Ejecución de Iperf como cliente

A continuación se presenta la ejecución de la herramienta Iperf en modo cliente. Como se puede observar en el siguiente ejemplo, en modo cliente la herramienta se conecta a un equipo remoto (que obviamente se debe encontrar en el otro extremo del enlace que se desea medir), en el que se encuentra corriendo la misma herramienta pero en modo servidor.
gabriel@testpc:~> iperf -c testsrv
------------------------------------------------------------
Client connecting to testsrv, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.100 port 42043 connected with 192.168.1.10 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 113 MBytes 95.0 Mbits/sec
gabriel@testpc:~>
Luego del análisis la herramienta genera un resumen similar al que se puede observar justo encima de este párrafo. En ese resumen se puede visualizar el tiempo transcurrido (Interval) del análisis (por defecto 10 segundos), la cantidad de MB transferidos durante ese tiempo (Transfer) y el máximo ancho de banda alcanzado durante el análisis (Bandwidth), en este caso representada en la unidad Mbits/sec.


Nota final

Para conocer más detalles acerca de los argumentos soportados por la herramienta iperf, podemos consultar su ayuda mediante la ejecución del siguiente comando:
gabriel@testpc:~> iperf -h


Enlaces externos

Comentarios