¿Por qué mi MikroTik usa tanta CPU con solo 60 Mbps de tráfico?

🔍 Analizando el consumo en un RB5009
En esta imagen vemos un MikroTik RB5009, un router potente para ISP y oficinas, con un consumo de CPU del 25% a pesar de estar manejando apenas 60 Mbps de tráfico. Lo normal para administración y balanceo de carga PCC es que, con este nivel de tráfico, la CPU no debería superar el 5-10%.
Entonces… ¿Qué está pasando? 🤔

🔑 El culpable: WireGuard (VPN)
Si revisamos las interfaces, encontramos WG-PRTN-2, una interfaz WireGuard activa. Como sabemos, WireGuard es un protocolo VPN basado en criptografía moderna que, aunque eficiente, sigue siendo intensivo en CPU debido al cifrado y descifrado de paquetes.
📊 Impacto de WireGuard en la CPU
📌 Comparativa de carga de CPU según tipo de tráfico:
Tipo de tráfico | Carga en CPU | Motivo |
---|---|---|
Tráfico convencional con FastTrack | 🔵 Bajo (~5%) | El tráfico no se inspecciona en firewall ni en colas |
Tráfico con colas simples y marcado | 🟠 Medio (~10-15%) | La CPU debe clasificar y limitar paquetes |
Tráfico VPN (WireGuard/IPSec/OpenVPN) | 🔴 Alto (~25-50%) | Cifrado/descifrado + reglas de firewall |
WireGuard utiliza ChaCha20 como algoritmo de cifrado, que es rápido en CPUs optimizadas para ello, pero en MikroTik, no hay aceleración por hardware para este tipo de cifrado, lo que significa que todo el procesamiento se hace por software, impactando directamente en la CPU.
🛑 Factores que aumentan el consumo de CPU con WireGuard
1️⃣ 🔒 Cifrado y descifrado de paquetes
- Cada paquete debe ser encriptado y desencriptado en tiempo real, lo que aumenta el uso de CPU.
- WireGuard usa UDP, lo que significa que no tiene overhead de control como TCP, pero aún así el cifrado requiere potencia de cómputo.
2️⃣ 🛑 Firewall y marcado de tráfico
- En este caso, el tráfico VPN está siendo marcado con reglas de firewall para permitir solo conexiones específicas.
- MikroTik procesa primero las reglas de firewall antes de aplicar el enrutamiento, lo que añade carga adicional a la CPU.
- Además, si se aplican reglas de mangle para balancear o clasificar tráfico, el impacto es aún mayor.
3️⃣ 🚦 Control de ancho de banda con colas simples
- Las colas simples (simple queues) requieren que cada paquete pase por un proceso de evaluación para determinar si excede los límites configurados.
- En este escenario, el router gestiona varias colas simples para diferentes clientes, lo que aumenta el procesamiento.
4️⃣ 📌 Comparación con FastTrack
- FastTrack permite que ciertos paquetes bypassen el firewall y las colas, lo que reduce drásticamente el uso de CPU.
- Sin embargo, FastTrack no funciona con VPNs, ya que los paquetes cifrados deben ser procesados y marcados en cada salto.
🔧 ¿Cómo optimizar WireGuard en MikroTik?
Si notas un alto consumo de CPU debido al tráfico VPN, aquí tienes algunas estrategias para optimizarlo:
✅ 1. Usa hardware con mejor rendimiento para VPNs
- Modelos como CCR2116-12G-4S+ o CCR2004-1G-12S+2XS tienen CPUs más potentes para manejar tráfico encriptado.
✅ 2. Optimiza las reglas de firewall
- Evita reglas innecesarias en raw y mangle si no son imprescindibles.
- Usa address-lists en lugar de múltiples reglas individuales.
✅ 3. Minimiza el uso de colas simples en tráfico VPN
- Considera PCQ (Per Connection Queue) en lugar de muchas colas simples.
- Usa Queue Trees con limitaciones por interfaz en lugar de por IP.
✅ 4. Balancea el tráfico VPN en múltiples routers
- Si el tráfico VPN es alto, separa el servidor VPN en un router dedicado.
- Algunos dispositivos MikroTik pueden actuar solo como gateways VPN y luego enrutar tráfico a otros equipos.
✅ 5. Considera IPSec si necesitas aceleración por hardware
- IPSec tiene soporte para aceleración por hardware en algunos modelos MikroTik, lo que puede reducir el impacto en la CPU.
- Sin embargo, WireGuard sigue siendo más eficiente en configuraciones simples y de baja latencia.
Si usas WireGuard en MikroTik, ten en cuenta que no está optimizado para procesamiento por hardware en estos equipos, lo que significa que un RB5009 puede verse forzado con mas de 60-100 Mbps si el tráfico es mayormente VPN.
📌 Si necesitas un router MikroTik para manejar grandes volúmenes de tráfico VPN, considera opciones más robustas o distribuye la carga en varios equipos.
🚀 ¿Has experimentado alto consumo de CPU con WireGuard en MikroTik?
¡Déjanos tu comentario en el grupo de facebook! 💬🔥