Parte 1
Introducción
En este artículo, nos sumergiremos en una comparación de rendimiento entre dos configuraciones populares de OPNsense: instalado directamente en un hardware dedicado (barebone) y como una máquina virtual en Proxmox. Ambas opciones tienen sus ventajas, pero ¿cuál ofrece un mejor rendimiento?
Equipo Utilizado
Hardware: Placa base BKHN-NVR con procesador Intel Celeron N5105 y cuatro interfaces de red 2.5Gb/s, 32GB de memoria, NVME monando un SSD de 256GB y raspberry pi 4 como servidor iperf3 local.
Software: OPNsense y Proxmox.
Herramientas de prueba: iperf3, speedtest-cli, y medidor de consumo Shelly plug S
Configuración
OPNsense Nativo: Instalación estándar de OPNsense en el hardware dedicado.
OPNsense Virtual: Máquina virtual en Proxmox con asignación de los cuatro núcleos del procesador y la totalidad de la RAM disponible. Las interfaces de red están configuradas en modo bridge para un acceso directo al hardware.
Metodología de prueba
Para evaluar el rendimiento de ambas configuraciones, realizaremos una serie de pruebas de transferencia de datos utilizando con iperf3 y speedtest-cli.
Como servidor iperf3 utilizaremos algunos de los disponibles en public-iperf3-servers
El cliente es un ordenador Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz con 16GiB de RAM, usando Fedora 38: 6.8.9-100.fc38.x86_64. El cliente esta conectado a la red local en el puerto ethernet igc0 de 2.5Gb/s del ordenador N5105 donde se esta ejecutando OpenSense mediante un cable CAT5 aunque el puerto del cliente es de 1 Gbit/s
Para realizar las pruebas de velocidad en local, hemos utilizado un raspberry pi4 conectada al mismo router FRITZ!Box.
Comandos Sugeridos: iperf3 y speedtest-cli
Servidor:
Cliente:
iperf3 -c <IP del servidor> -P 4 -t 30 (4 hilos, 30 segundos)
speedtest-cli --server <ID del servidor> --threads 4 (4 hilos)
Preparación
Primer paso ha sido actualizar la raspeberry pi 4 con los siguientes comandos:
- sudo apt update.
- sudo apt full-upgrade.
- sudo reboot.
- sudo apt autoremove.
- sudo apt clean.
- sudo rpi-eeprom-update.
- sudo rpi-eeprom-update -a.
- sudo reboot.
A continuación, instalo en comando iperf3 en la raspberry pi 4 con:
sudo apt-get install iperf3
Ahora, para evitar fisgones, cambio el prompt.
Para mostrar el prompt actual usamos:
[\u@\h \W]\$ echo "$PS1" [\u@\h \W]\$
Para cambiar el prompt, usamos:
PS1='[\D{%F %T}]\$'
Resultados y análisis
Resultados de las pruebas de velocidades máximas alcanzadas en configuracion standalone con iperf3
Repetimos la prueba con cuatro servidores diferentes:
con el segundo servidor:
con el tercer servidor:
Con el ultimo servidor:
cat comparativa_iperf3.sh #!/bin/bash # Lista de servidores SERVIDORES=("spd-desrv.hostkey.com" "a205.speedtest.wobcom.de" "a209.speedtest.wobcom.de" "speedtest.novoserve.com") # Función para ejecutar iperf3 y extraer los resultados function ejecutar_iperf3 { servidor=$1 modo=$2 puerto=5201 # Comando iperf3 comando="iperf3 -c $servidor -p $puerto -t 10 $modo" # Ejecutar el comando y extraer las líneas sender y receiver resultado=$(eval $comando 2>&1) sender=$(echo "$resultado" | grep sender | tail -n 1) receiver=$(echo "$resultado" | grep receiver | tail -n 1) echo $servidor $sender echo $servidor $receiver # Extraer los valores de cada línea IFS=' ' read -ra AD_sender <<< "$sender" IFS=' ' read -ra AD_receiver <<< "$receiver" # Formatear los resultados para la tabla HTML echo "" >> resultados.html echo " $servidor" >> resultados.html echo " $modo" >> resultados.html echo " ${AD_sender[4]}" >> resultados.html # Tasa de bits sender echo " ${AD_receiver[4]}" >> resultados.html # Tasa de bits receiver echo "" >> resultados.html } # Crear el archivo HTML echo "" > resultados.html echo "" >> resultados.html echo "" >> resultados.html echo "" >> resultados.html echo "" >> resultados.html echo "" >> resultados.html echo "Resultados de las pruebas iperf3
" >> resultados.html echo "
Servidor | " >> resultados.html echo "Modo | " >> resultados.html echo "Tasa de bits Sender (Mbits/s) | " >> resultados.html echo "Tasa de bits Receiver (Mbits/s) | " >> resultados.html echo "
---|
Evaluacion del consumo electrico:
Consistencia: Evalúa la consistencia de los resultados a lo largo de múltiples pruebas.
Latencia: Compara la latencia de red en ambas configuraciones.
Sobrecarga del sistema: Observa si hay signos de sobrecarga del sistema en alguna de las configuraciones.
Conclusión
[Resume los hallazgos principales de tu prueba y ofrece una recomendación sobre cuál configuración es más adecuada para diferentes escenarios].
Factores a Considerar:
Requisitos específicos: Las necesidades de cada usuario pueden variar.
Complejidad de la configuración: OPNsense nativo puede ser más sencillo de configurar para usuarios menos experimentados.
Flexibilidad: Las máquinas virtuales ofrecen una mayor flexibilidad en términos de migración y escalabilidad.
En este artículo, hemos explorado las diferencias de rendimiento entre OPNsense instalado de forma nativa y como máquina virtual en Proxmox. Los resultados obtenidos [inserta tus conclusiones aquí] pueden servir como una guía para elegir la configuración más adecuada para tu entorno específico.
Preguntas para la Comunidad
¿Has realizado pruebas similares? ¿Cuáles fueron tus resultados?
¿Qué otras herramientas o metodologías recomendarías para evaluar el rendimiento de OPNsense?
¿Cuáles son tus experiencias con OPNsense en entornos virtuales y físicos?
¡Espero que este artículo te haya resultado útil!
No hay comentarios:
Publicar un comentario