
En redes basadas en dispositivos Mikrotik, la configuración de reglas Mangle para modificar el MSS (Maximum Segment Size) de las conexiones TCP resulta fundamental para evitar problemas relacionados con la fragmentación de paquetes y la falta de conectividad en túneles o enlaces con MTU reducida. La técnica de modificar el MSS permite ajustar el tamaño máximo de los segmentos TCP de manera que se adapten al Path MTU, previniendo que los paquetes se fragmenten o se pierdan en el camino, lo cual puede causar latencias y fallos en las conexiones, especialmente en conexiones VPN, PPPoE o enlaces con filtrado ICMP bloqueado.
Campos principales
La regla Mangle para change MSS en Mikrotik usa específicamente varios campos que definen el contexto de la modificación. A continuación se describe el significado y función de cada campo configurado:
- Chain (Cadena): Se selecciona forward, indicando que la regla se aplicará a tráfico a través del router, entre interfaces de entrada y salida, no al tráfico generado o destinado al propio router.
- Protocol: Se elige TCP (6) para que la regla solo afecte a conexiones de protocolo TCP, que son las que manejan el concepto de MSS.
- TCP Flags: En la pestaña Advanced se marca la bandera syn. Esta condición asegura que la regla afectará únicamente a los paquetes SYN que inician la conexión TCP, modificando el MSS solo en el momento del establecimiento del enlace.
- Action: La acción elegida es change MSS. Esta opción indica que se alterará el valor MSS en los paquetes que cumplan las condiciones.
- New TCP MSS: Se configura como clamp to pmtu (ajustar al Path MTU). Esto significa que el MSS será ajustado dinámicamente según el MTU máximo soportado en la ruta de salida, evitando fragmentación.
Compatibilidad de versiones y modelos
La funcionalidad de change MSS en reglas Mangle está soportada en RouterOS desde versiones bastante antiguas y se mantiene vigente en las últimas releases, tanto en la serie estable como en versiones de desarrollo. Esta característica es compatible con toda la familia de routers Mikrotik que ejecuta RouterOS con soporte para reglas mangle, incluyendo:
- Serie RB (por ejemplo RB3011, RB4011)
- Serie CCR (Cloud Core Router)
- Serie hAP (home Access Point)
- Modelos switch-router como CRS con RouterOS
El límite real radica en el firmware y la arquitectura del equipo. En modelos muy antiguos o low-end con memoria o CPU limitadas, el procesamiento de reglas mangle puede afectar el rendimiento, por lo que se recomienda comprobar consumo y aplicar reglas mínimas. Además, versiones muy antiguas de RouterOS podrían no soportar el parámetro «clamp to pmtu» correctamente.
Escenarios de uso y recomendaciones
Modificar el MSS al valor óptimo es especialmente útil en los siguientes casos:
- Conexiones VPN (IPSec, GRE, L2TP, OpenVPN) donde la encapsulación reduce la MTU efectiva, causando que paquetes grandes generen fragmentación o se pierdan si ICMP está bloqueado.
- Enlaces PPPoE donde el overhead reduce la MTU estándar de 1500 bytes.
- Redes con dispositivos intermedios que bloquean mensajes ICMP esenciales para la detección correcta del Path MTU.
Sin este ajuste, pueden ocurrir síntomas como páginas web que no cargan completamente, sesiones SSH que se congelan, o fallos genéricos en aplicaciones TCP. El ajuste en la regla mangle evita esos problemas al acomodar de forma automática el MSS al MTU real entre origen y destino.
Sin embargo, hay que evitar configuraciones genéricas o excesivas que modifiquen MSS en todo el tráfico no TCP o tráfico interno, ya que podrían causar otros problemas. Es fundamental validar siempre en el entorno de producción y monitorear efectos secundarios.
Comandos de CLI útiles para diagnóstico
La CLI de RouterOS ofrece comandos para validar y diagnosticar la configuración y efectos de change MSS:
/ip firewall mangle print: Para listar las reglas mangle definidas y verificar parámetros y contadores/tool sniffer quick interface=ether1 tcp-flags=syn: Util para capturar y revisar paquetes SYN para verificar MSS en tráfico real/interface monitor-traffic: Para observar tráfico y detectar problemas de fragmentación o lentitud/ping mtu=: Validar la MTU máxima sin fragmentación hacia un destino/ip firewall connection print where protocol=tcp: Para observar conexiones TCP activas y tamaños de MSS negociados
Buenas prácticas de configuración
Para garantizar una configuración eficiente y sin impactos negativos, se recomienda:
- Aplicar la regla change MSS únicamente en la cadena forward y solo para protocolo TCP con flag SYN activo, evitando modificaciones innecesarias en otro tráfico.
- Usar el parámetro clamp to pmtu siempre que sea posible para asegurar la adaptación automática al Path MTU.
- Evitar reglas redundantes o conflictivas que modifiquen MSS de forma masiva o alteren tráfico interno.
- Monitorizar el impacto con los comandos indicados, y ajustar reglas según resultados y tamaño MTU esperado.
- Actualizar RouterOS regularmente para contar con mejoras y soporte optimizado de funciones de Firewall y Mangle.
- Documentar la regla y el motivo de su inclusión para facilitar mantenimiento futuro.