ZeroShell    Forum
   Feed RSS Feed
EnglishEnglish     ItalianoItaliano     French     Spanish                Zeroshell on LinkedIn LinkedIn       Facebook      Twitter ZeroTruth an interface for Captive Portal


      What is it?
      Screenshots
      License
      Announcements
      Mailing List
      Forum
      Documentation  
      FAQ
      Hardware
      Download
      On-line Updates
      Kerberos Tutorial  
      Terms of use
      Contact me


  In greater details:
      Hotspot Router
      RADIUS Accounting
      Shibboleth SP
      Performances
      Net Balancer
      UMTS Router
      Soekris Net5501
      Proxy with Antivirus
      WiFi Access Point
      OpenVPN Client
      OpenVPN Server
      QoS
      OpenDNS
      Kerberos 5
      NIS and LDAP
      X.509 Certificates
      RADIUS
      VPN
      Firewall


Valid HTML 4.01 Transitional


Multiples conexiones a Internet balanceando el tráfico con conmutación por error.

Translation by Roberto Calderon


El propósito de este documento es describir la creación de un router para obtener acceso a Internet usando múltiples conexiones a Internet balanceando la demanda de salida de la LAN y obteniendo un acceso redundante a la red, manejando las situaciones de fallo de una o varias líneas.
Para alcanzar nuestro objetivo usaremos el modulo Net Balancer de ZeroShell. Por último veremos la posibilidad de agregación (bonding) de VPN para aumentar el ancho de banda para conexiones punto-a-punto entre ubicaciones remotas a traves de internet.

La descripción se divide en las siguientes secciones: 

     * ¿Es realmente posible aumentar el ancho de banda de conexión a Internet? 
     * Configuración de multiples pasarelas de acceso a Internet 
     * Tolerancia a fallos para las conexiones a Internet a través del monitor de conmutación por error
     * Balanceando el  tráfico de forma manual 
     * Agrupar VPN e incrementar el ancho de banda en la capa 2


Balanceo de carga y conmutación por error con una ADSL y 3 UMTS/HSDPA. Haga clic para agrandar la imagen
Balanceo de carga y conmutación por error con una ADSL y 3 UMTS/HSDPA. Haga clic para agrandar la imagen


¿Es realmente posible aumentar el ancho de banda de conexión a Internet?

La respuesta a esta pregunta no es: "Sí, absolutamente." Depende de lo que quieras decir con el aumento del ancho de banda en conexión a Internet. En esencia, el Net Balancer distribuye las solicitudes procedentes de la LAN a través de una politica "round-robin" (por peso) a través de múltiples pasarelas de Internet. En otras palabras, si en un determinado momento sólo hay un usuario de internet haciendo sólo una conexión TCP (por ejemplo, se ejecuta sólo una descarga desde la web), su tráfico se derivará a traves de una única pasarela, por lo que no habría beneficio en el equilibrado de conexiones. En cambio, si la LAN está repleta de usuarios, cada uno ejecutando múltiples solicitudes al mismo tiempo, como un todo, sus conexiones tendrán acceso a un mayor ancho de banda, lo que equivale a la suma de los anchos de banda de acceso único.

 
Entonces concluimos que una única conexión nunca puede tener más ancho de banda que lo ofrecido por un solo enlace, mientras que varias conexiones simultáneas, en promedio, todas juntas tienen acceso a un mayor ancho de banda, que se extenderá a la suma de los anchos de banda de Internet de todos los enlaces que están siendo equilibrados.

Por otra parte, la agregación VPN es una historia diferente. En este caso, el balanceo de tráfico se produce en la capa 2, por lo tanto el aumento de ancho de banda también está disponible para una solo conexión TCP/IP.


Configuración de multiples pasarelas de acceso a Internet


Las Pasarelas de acceso a Internet pueden ser: 

     * Un enrutador, por ejemplo, un router ADSL. En este caso, la puerta de enlace se identifica por el Net Balancer a través de su dirección IP; 
     * Un módem que crea una conexión Punto-a-punto (PPP), como un módem ADSL PPPoE o un teléfono UMTS/HSDPA módem. En este caso, la puerta de enlaque que naturalmente no tiene una dirección IP está identificada por su interface punto-a-punto.

Antes de proceder al registro de las puertas de enlace en el Net Balancer, debemos asegurarnos de que están física y lógicamente conectadas a la caja de Zeroshell. Esto significa que, un router, por ejemplo, debe estar conectado a la interfaz Ethernet a la que se ha asignado una dirección IP perteneciente a la subred IP del router. Por ejemplo, podemos conectar el router con IP 192.168.1.254 a ETH01 a la que asignemos la IP 192.168.1.253.

Por otra parte, si la puerta de enlace es un módem, se debe conectar físicamente a la caja Zeroshell a través de Ethernet en caso de PPPoE, o a través de USB en caso de conexión móvil 3G, y crear la interface punto-a-punto, desde respectivamente, [Setup][Network][New PPPoE] o [Setup][Network][New 3G Modem]. En la práctica, el módem será asignado automáticamente a una interface punto-a-punto del tipo de interfaz ppp0, ppp1, ... Esta interfaz identificará el módem en el Net Balancer.




Configuración de una puerta de enlace en el Net Balancer. Haga clic para agrandar la imagen.
Configuración de una puerta de enlace en el Net Balancer. Haga clic para agrandar la imagen.



Al hacer clic en el botón [Add] para añadir una nueva puerta de enlace o en [Change] para modificar una, se abrirá la ventana de configuración de puerta de enlace como se muestra arriba. Esto es lo que significan los parámetros: 

      * Description: Contiene una descripción textual de la puerta de enlace. Puede contener el nombre del proveedor de servicios de Internet. 
     * Status: Si se establece en Enabled, el Net Balancer considerará la puerta de enlace activa y la administra, de lo contrario, simplemente la ignora. Por ejemplo, si usted nota que una conexión a Internet falla a menudo, puede decidir desactivarla con esta opción.
     * Weight Value: un número entero que representa el peso (importancia) del enlace. Su función depende de la forma en que se configura el Net Balancer:

           o Si el Net Balancer se establece en Equilibrio de carga y tolerancia a fallos, las solicitudes de salida a Internet se ordenan proporcionalmente, en función de su valor de peso. Un mayor valor de puerta de enlace tiene una mayor probabilidad de ser asignada a una solicitud. Así entendiendo que el valor del peso debe ser establecido en proporción al ancho de banda de la puerta de enlace. Si todos los enlaces tienen en mismo ancho de banda, el valor del peso se puede establecer en 1 para todas las pasarelas. De esta manera, las solicitudes de Internet se ordenan de manera uniforme en los enlaces. 
           o Por otra parte, si el Net Balancer se establece en conmutación por error, sólo una de las entradas disponibles se utilizarán para satisfacer las solicitudes de Internet. Todas las otras puertas de enlace se mantienen como piezas de repuesto, listas para operar en caso de fallo de la puerta de enlace activa. El orden que sigue el Net Balancer para activar una puerta de enlace depende del valor del peso. La puerta de enlace activa es la de mayor valor de peso entre las que no tienen Fallo. 
     * IP Address: la dirección IP de la puerta de enlace en caso de que la puerta de enlace sea un router. 
     * Network interface: Es la interface punto-a-punto asignada en caso de que la puerta de enlace sea un módem PPPoE (para DSL o cable) o un módem 3G (UMTS o HSDPA). 
     * Timeout Coefficient: Activa la gestión de la conmutación por error de un enlace. Se debe establecer como un valor bajo para los enlaces no congestionados. Su valor se puede aumentar si el enlace termina muchas veces en fallo, debido a la congestión. Por ejemplo, para un enlace de tipo GPRS, que tiene tiempos de respuesta alta, este valor debe establecerse en al menos 4. 

Una vez terminado de configurar las puertas de enlace para las diferentes conexiones WAN , el Net Balancer puede ser activado. Desde ese momento se llevará a cabo el balanceo de carga para todas las conexiones de Internet.



Tolerancia a fallos para las conexiones a Internet a través del monitor de conmutación por error

El Net Balancer puede ser fijado para operar en uno de los siguientes dos modos para regular la conexión que debe ser seleccionada para satisfacer una solicitud específica de Internet:

     * Equilibrio de carga y tolerancia a fallos: Las solicitudes de acceso a Internet son balanceadas automáticamente basadas en el peso (valor de peso) de cada puerta de enlace. En el caso de que una puerta de enlace está en fallo, se excluye del balanceo automático para evitar la pérdida de paquetes IP. La asignación de un determinado tipo de tráfico puede ser manipulable manualmente, en base a criterios adecuados (IP de origen, de destino IP, TCP / UDP, ...);
     * De conmutación por error: sólo uno de las puertas de enlace esta activa (la que tiene el mayor valor de peso entre los que estan en fallo). Las otras se mantienen como repuesto, listas para operar en caso de que la conexión activa se interrumpa. Aunque no hay equilibrio automático con esta configuración, el tráfico todavía puede ser equilibrado, como se explica a continuación.

Así entendido, la tolerancia a fallos está garantizada independientemente de la configuración seleccionada para el Net Balancer. Para aislar el mal funcionamiento de un enlace y pasarlo a fallo, dos mecanismos entran en juego: el  primero controla la conexión física con la puerta de enlace (módem o router). El segundo mecanismo, conocido como Monitor de conmutación por error, realiza un análisis más preciso de la línea para verificar la ausencia de problemas de enrutamiento.
El primer mecanismo que controla los enlaces físicos está implícito en el Net Balancer y se activa automáticamente, sin necesidad de ser configurado, no hablaremos más de ello. En su lugar, vamos a centrar nuestra atención en el Monitor de conmutación por error, que, por otra parte, debe ser activado y configurado de manera explícita. La fiabilidad de la gestión de la  conmutación por error está muy influenciada por el nivel de congestión de las líneas de datos y, en consecuencia, de sus respectivos tiempos de respuesta. Si el monitor de conmutación por error no se configura correctamente, erróneamente puede colocar una línea en fallo cuando sólo esta congestionada. Peor aún, rápidamente puede cambiar su estatus de activo a inactivo y viceversa, provocando el cierre de las conexiones a Internet. Si observa anomalías de esta naturaleza, incluso después de haber calibrado correctamente los parámetros descritos a continuación, se debe desactivar el Monitor de conmutación por error. Ciertamente es preferible tener inactivo el monitor de conmutación por error que tener un monitor de conmutación por error que causa un funcionamiento inestable. Ahora, vamos a repasar los parámetros de configuración:

     * ICMP failover checking (Control de conmutación por error ICMP): si está establecido en Activado, se activa el Monitor de conmutación por error. Para que el Monitor de conmutación por error empieze a operar, debe especificar y habilitar al menos una dirección IP de conmutación por error. Las direcciones IP deben ser ajenas a la LAN y cada una debe ser accesible a través de todas las pasarelas.
     * Number of probes before marking DOWN (Número de intentos antes de desactivar pasarela): representa el número de pings ha realizar antes de marcar en fallo un enlace;
     * Number of probes before marking UP (Número de intentos antes de activar pasarela): indica el número de pings consecutivos de éxito necesarios, para marcar un vínculo con fallo como activo;
     * Reply timeout (Tiempo de Respuesta (segundos)): representa el tiempo de espera máximo para una respuesta ICMP. En el caso de enlaces que están congestionados, el aumento de este valor puede ayudar. Por favor, tenga en cuenta que el tiempo de espera real puede ser calculado multiplicando este valor por el valor de Timeout Coefficient que se muestra en el párrafo anterior;
     * Pause before starting a new cycle (Pausar antes de comenzar un nuevo ciclo (segundos)): los ciclos de control están separadas por una pausa, cuya duración está representada por este valor;
     * Immediately restart PPPoE and 3G Mobile (Reiniciar inmediatamente  PPPoE y 3G Mobile): Si se activa esta entrada, la conexiones Punto-a-Punto que esten en fallo se restablecerán. Esto puede resolver rápidamente el problema, aunque requiere la renegociación de la dirección IP, si esta última se asigna dinámicamente.

Múltiples intentos pueden ser necesarios para que el sistema de conmutación por error pueda llegar a la configuración óptima. En general, es una cuestión de encontrar el equilibrio justo  entre la rápida intervención para aislar un mal funcionamiento de una conexión a Internet y evitar fallos de conexiones que están simplemente congestionadas.


Balanceando el  tráfico de forma manual

Por varias razones, puede ser necesario evitar el balanceo de tráfico de determinados tipos de tráfico. En otras palabras, Conexiones específicas deben quedar limitadas a una única puerta de enlace. Para ello, el Net Balancer ofrece en la interfaz web [Net Balancer] [Balancing Rules] que se asemeja bastante, tanto a la interface del Firewall como a la del Clasificador de QoS. De hecho, las normas a través de las que se elige que una conexión elija una ruta manualmente sobre una puerta de enlace específica son iguales a como se definen en el Firewall (servidor de seguridad), utilizando direcciones IP, puertos TCP / UDP y así sucesivamente.

Regla para enrutar manualmente el tráfico SMTP. Haga click para agrandar la imagen
Regla para enrutar manualmente el tráfico SMTP. Haga click para agrandar la imagen




El ejemplo de la figura muestra cómo el tráfico SMTP (puerto 25 TCP), generado por el servidor de correo electrónico con dirección IP 192.168.0.20, se ve obligado a salir enrutado por la  192.168.1.250, que enlaza con una linea de fibra óptica.

Agrupar VPN e incrementar el ancho de banda en la capa 2

Las VPN de LAN a LAN que pueden ser configuradas en Zeroshell se podrán obtener mediante interfaces virtuales OpenVPN y TAP. Estas últimas se asemejan a una interface real Ethernet y, como tales, pueden ser agregadas a través de Bonding. Esta característica está disponible desde la primera versión de Zeroshell. Sin embargo, para que un Bonding de VPN este justificado, cada túnel VPN perteneciente al Bonding debe fluir a traves de un enlace de Internet separado. Antes de que Net Balancer fuese introducido, esto se hacia a través de rutas estáticas que exigian contar al menos con un peer que tuviese dos IP públicas. Ahora, gracias a Net Balancer, el formulario de configuración de VPN punto-a-punto le permite elegir una puerta de entrada para establecer conexiones cifradas. Esto simplifica enormemente la configuración por que ya no requieren rutas estáticas y dos direcciones IP públicas.


Elegir una puerta de enlace en la configuración VPN
Elegir una puerta de enlace en la configuración VPN. Haga click para agrandar la imagen


Una vez la VPN esta creada y asignada a sus respectivas puertas de enlace, la interface bond se puede crear como se muestra en la siguiente figura:


Creación de una interface Bond agregando 2 VPN`s.
Creación de una interface Bond agregando 2 VPN`s. Haga click para agrandar la imagen


La interfaz de BOND00 creada es equivalente a una interfaz Ethernet: puede contener direcciones IP, añadir una VLAN 802.1Q, o ser asignada a un Bridge. Como se mencionó al comienzo, gracias a que el equilibrio de carga en el bonding tiene lugar en las tramas Ethernet, incluso una conexión TCP / IP disfrutarán de un ancho de banda aumentado gracias a la presencia de enlaces múltiples.






    Copyright (C) 2005-2016 by Fulvio Ricciardi