23/06/2021
En el mundo de las redes avanzadas, configurar una conexión Dual-WAN es un paso casi obligatorio para quienes buscan redundancia y un mayor ancho de banda. Sin embargo, esta complejidad trae consigo nuevos desafíos. Uno de los problemas más comunes y frustrantes es la inestabilidad del tráfico interno una vez que el balanceo de carga está activo. Las conexiones entre diferentes subredes locales (tráfico LAN-a-LAN) o a través de túneles VPN pueden sufrir pérdida de paquetes, latencia o simplemente dejar de funcionar. Esto se debe a que el balanceador, por defecto, intenta distribuir todo el tráfico entre las dos conexiones a Internet, sin distinguir si el destino es local. Afortunadamente, en equipos como el EdgeRouter de Ubiquiti, existe una solución precisa: crear reglas de firewall específicas para excluir este tráfico del balanceo y forzarlo a usar la tabla de enrutamiento principal, garantizando así su correcto funcionamiento.

¿Por Qué es Crucial Excluir el Tráfico Interno del Balanceo de Carga?
Para entender la importancia de esta configuración, debemos pensar en cómo opera un balanceador de carga. Su función es tomar el tráfico saliente y repartirlo entre múltiples interfaces WAN según las reglas establecidas (por peso, por failover, etc.). El problema surge cuando un dispositivo en tu red, por ejemplo en la VLAN de usuarios (192.168.1.0/24), intenta comunicarse con un servidor en tu VLAN de servidores (192.168.2.0/24). Desde la perspectiva del router, este es un paquete que necesita ser enrutado.
Si no existe una regla de exclusión, el balanceador de carga puede interceptar este paquete y, erróneamente, enviarlo a través de una de las interfaces WAN. En el mejor de los casos, el paquete sale a Internet y, si tienes suerte y una configuración de NAT Hairpin, podría volver a entrar a tu red para llegar a su destino. Este viaje innecesario introduce una latencia altísima. En el peor de los casos, el proveedor de Internet simplemente descartará el paquete porque tiene una dirección de destino privada, provocando una pérdida total de la comunicación. Lo mismo ocurre con el tráfico de una VPN site-to-site; los paquetes destinados al sitio remoto pueden ser enviados por la WAN incorrecta, rompiendo el túnel VPN. Por lo tanto, la exclusión asegura que el tráfico que debe permanecer local, se mantenga local.
Guía de Configuración en EdgeRouter (CLI)
A continuación, detallaremos el proceso paso a paso utilizando la interfaz de línea de comandos (CLI) de un EdgeRouter. Asumimos que ya tienes una configuración Dual-WAN básica funcionando.
Paso 1: La Estructura Inicial del Firewall
Normalmente, una configuración de balanceo de carga en EdgeOS empieza con un conjunto de reglas en `firewall modify balance`. Una configuración inicial podría verse así, incluyendo una regla para el NAT Hairpin (permitir que dispositivos internos accedan a servicios internos usando la IP pública).
ubnt@ubnt# show firewall modify modify balance { rule 10 { action modify destination { group { address-group ADDRv4_eth0 } } modify { table main } } rule 20 { action modify modify { lb-group G } } } En este estado, la regla 20 envía casi todo el tráfico al grupo de balanceo de carga `G`. Nuestro objetivo es insertar una regla con mayor prioridad para desviar el tráfico LAN-a-LAN antes de que llegue a la regla 20.
Paso 2: Exclusión del Tráfico LAN-a-LAN
Para lograr la exclusión, primero debemos agrupar todas nuestras subredes locales y luego crear una regla que indique al firewall que cualquier tráfico destinado a este grupo debe usar la tabla de enrutamiento principal (`table main`), no el balanceador.

2.1. Reordenar las Reglas Existentes
Dado que las reglas se procesan por orden numérico (de menor a mayor), necesitamos hacer espacio para nuestra nueva regla de exclusión en la posición 10. Para ello, renombraremos las reglas existentes a números más altos.
configure edit firewall modify balance rename rule 20 to rule 30 commit rename rule 10 to rule 20 commit save exit Ahora, la regla de NAT Hairpin es la 20 y la de balanceo de carga es la 30, dejando la posición 10 libre.
2.2. Crear el Grupo de Redes Locales
Ahora creamos un grupo que contenga todas las subredes que consideras "locales". Esto incluye tus VLANs, redes de invitados, e incluso subredes de VPNs si las tienes.
configure set firewall group network-group LAN_NETS network 192.168.1.0/24 set firewall group network-group LAN_NETS network 192.168.2.0/24 set firewall group network-group LAN_NETS network 192.168.9.0/24 commit Puedes añadir tantas redes como necesites a este grupo llamado LAN_NETS.
2.3. Crear la Nueva Regla de Exclusión
Finalmente, creamos la regla 10. Esta regla verificará si el destino del paquete pertenece al grupo `LAN_NETS`. Si coincide, la acción será `modify table main`, lo que significa que el paquete será procesado por la tabla de enrutamiento estándar del router, ignorando por completo el balanceo de carga.
set firewall modify balance rule 10 action modify set firewall modify balance rule 10 destination group network-group LAN_NETS set firewall modify balance rule 10 modify table main commit save exit Configuración Final
Después de estos cambios, tu configuración de `firewall modify balance` debería lucir así:
ubnt@ubnt# show firewall modify modify balance { rule 10 { # <-- Nueva Regla de Exclusión action modify destination { group { network-group LAN_NETS } } modify { table main } } rule 20 { # <-- Regla de Hairpin renombrada action modify destination { group { address-group ADDRv4_eth0 } } modify { table main } } rule 30 { # <-- Regla de Balanceo renombrada action modify modify { lb-group G } } } Tabla Comparativa de Reglas de Firewall
Para visualizar mejor el cambio, aquí tienes una comparación de la lógica del firewall antes y después de nuestra configuración.

| Prioridad (Regla) | Configuración ANTERIOR | Configuración NUEVA Y OPTIMIZADA |
|---|---|---|
| 10 | Tráfico Hairpin NAT (a IP pública propia) -> Usa Tabla Principal | Tráfico a Redes Locales (LAN_NETS) -> Usa Tabla Principal |
| 20 | Todo el resto del tráfico -> Usa Balanceo de Carga (Grupo G) | Tráfico Hairpin NAT (a IP pública propia) -> Usa Tabla Principal |
| 30 | N/A | Todo el resto del tráfico -> Usa Balanceo de Carga (Grupo G) |
Caso Avanzado: Exclusión de Tráfico VPN
Un problema similar y más complejo surge con las VPNs site-to-site (por ejemplo, con OpenVPN). Incluso con la regla anterior, el tráfico que viaja por el túnel (interfaz `vtun0`) puede ser capturado por el balanceador, causando una conexión inestable y pérdida de paquetes. La solución lógica sería añadir otra regla de exclusión para el tráfico de la VPN.
Sin embargo, esto presenta un desafío técnico en algunas versiones de firmware de EdgeOS, especialmente cuando una de las interfaces WAN obtiene su puerta de enlace por DHCP. El balanceador de carga utiliza tablas de enrutamiento separadas para cada WAN, y estas tablas, por defecto, solo conocen la ruta por defecto (hacia Internet), pero no las rutas estáticas necesarias para la VPN. Forzar el uso de tablas personalizadas que sí incluyan estas rutas es complejo si la puerta de enlace es dinámica. A menudo, la solución definitiva para este escenario específico requiere actualizaciones de firmware por parte del fabricante que permitan una integración más flexible entre el enrutamiento estático y el balanceo de carga.
Preguntas Frecuentes (FAQ)
¿Cuál es la diferencia entre LAN IN y LAN OUT en las reglas de firewall?
Esta es una de las dudas más comunes al configurar firewalls. La clave es pensar siempre desde la perspectiva del router:
- LAN IN: Se refiere al tráfico que entra al router desde una interfaz de la red local (LAN, VLAN, etc.). Es el punto ideal para filtrar el tráfico que se origina en una subred y va destinado a otra subred o a Internet. Por ejemplo, si quieres bloquear el acceso de la red de invitados (VLAN 20) a tu red principal (VLAN 10), aplicarías una regla de "drop" en la dirección `LAN IN` de la interfaz de la VLAN 20, con destino a la red de la VLAN 10.
- LAN OUT: Se refiere al tráfico que sale del router hacia una interfaz de la red local. Este se usa con menos frecuencia, pero es útil para filtrar tráfico que ya ha sido procesado por el router y se dirige a un dispositivo final en la LAN.
En resumen, para controlar lo que una red puede o no puede hacer, casi siempre trabajarás con reglas en la dirección LAN IN.
¿Estas reglas de exclusión afectan el tráfico dentro de la misma subred?
No, en absoluto. El tráfico entre dos dispositivos que están en la misma subred (por ejemplo, de 192.168.1.10 a 192.168.1.20) es gestionado por el switch de capa 2. Estos paquetes nunca llegan a la interfaz de enrutamiento del router (capa 3), por lo que ninguna regla de firewall o de balanceo de carga del router se aplica a ellos. Las reglas de firewall LAN-a-LAN solo se activan cuando un paquete necesita ser enrutado de una subred a otra distinta.
Conclusión
Implementar una estrategia de Dual-WAN es una excelente manera de mejorar la resiliencia y el rendimiento de tu red. Sin embargo, es fundamental prestar atención a los detalles para no comprometer la estabilidad interna. Configurar correctamente la exclusión del tráfico LAN-a-LAN y VPN del mecanismo de balanceo de carga no es un paso opcional, sino un requisito para una red robusta y predecible. Siguiendo los pasos descritos, podrás asegurar que tu EdgeRouter dirija el tráfico de manera inteligente, manteniendo las comunicaciones locales rápidas y fiables, mientras aprovechas al máximo tus múltiples conexiones a Internet para el tráfico que realmente debe salir al exterior.
Si quieres conocer otros artículos parecidos a Configuración Dual-WAN: Excluir Tráfico LAN puedes visitar la categoría Juegos.
