Tengo una Mac, que ejecuta Mac OS X 10.6 o Ubuntu 9.10 o Windows XP (arranque múltiple). La solución puede ser para cualquiera de los sistemas, lo que funcione mejor.
Tengo dos ISP , uno se puede acceder a través de Wi-Fi , uno se puede acceder a través de LAN . En Mac OS XI puedo definir la prioridad, qué red elegir primero. Pero lo que deseo hacer es equilibrar la carga con ambas redes.
No quiero comprar hardware adicional. Tengo algunos enrutadores Wi-Fi sin usar si esto ayudara.
Compilar y configurar programas en Linux no es un problema para mí.
Pregunta similar: equilibrio de carga con múltiples puertas de enlace
Respuestas:
Un tema cercano, para Linux, sería la configuración 'métrica' para las rutas. Se prefieren números más bajos que números más altos. Si le das a ambas rutas la misma métrica, entonces pensaría que serían elegidas con la misma probabilidad.
Creo que la técnica que estás tratando de lograr se llama multihoming . No tengo ninguna experiencia directa con eso. Sin embargo, algunas cosas que probablemente deba tener en cuenta.
De todos modos, esos son todos los consejos que puedo pensar en este momento.
fuente
metric
es un parámetro para las interfaces de red en Windows y OS X también; cualquier sistema operativo que admita múltiples interfaces de red requerirá un medio para establecer la prioridad.Podría usar un sistema de métricas de enrutamiento donde instale ambas conexiones de Internet en su tabla de enrutamiento con una métrica igual. El sistema operativo debería usar ambas rutas por igual, dividiendo efectivamente su tráfico saliente en ambos enlaces.
El tráfico entrante en respuesta a sus solicitudes también debe estar equilibrado, ya que volverá a la interfaz (IP pública) de donde salió la solicitud.
El problema con esto sería la persistencia de la sesión, por ejemplo, si ve un sitio web a través de uno de sus enlaces, pero la vista de la página siguiente se equilibra con la carga de su otra interfaz, esto confundiría algunas aplicaciones ya que su dirección IP de origen cambiaría constantemente.
Por lo tanto, probablemente solo dividiría parte de su tráfico en la otra interfaz sin utilizar rutas de igual costo, puede ser por aplicación, destino o protocolo. Solo algo que mantendrá sus rutas de tráfico consistentes.
fuente
Connectify Dispatch tiene una solución que hará exactamente lo que necesita. Actualmente solo para Windows, pero las personas han tenido éxito virtualizando y usando su software en OS X.
Como ya ejecutaste (estabas ejecutando) Windows XP, pensé que podrías resolver esa parte por tu cuenta.
El mayor problema con esto es que Windows ofrece fácilmente soporte para múltiples NIC, mientras que en OS X no es tan fácil de implementar.
fuente
Hay una especie de solución alternativa: mi aplicación es capaz de equilibrar la carga, puedo definir 2 conexiones que luego se usan en ambas.
Luego enruto una de las IP del servidor a una de las IPS.
en mac os 10.6:
ruta agregar -host XXX.XXX.XXX.XXX 192.168.1.1
Lo sé, esto es muy específico, y solo funciona si los ips del servidor son siempre los mismos. Y si la aplicación puede equilibrar la carga de alguna manera.
fuente
No creo que esto sea posible sin hacer algo como que todo el tráfico que sale es un ISP y el tráfico que ingresa es otro ISP.
La razón es que dividir tanto el tráfico en 2 redes separadas no parece que puedan regresar. Si tuviera 2 tuberías de 1 ISP, podría ser posible.
Como dijo la persona anteriormente, creo que necesitará un valor predeterminado de todos modos y podría frenar cierto tráfico a través de una ruta y el resto a través de otra. Simplemente no piense que el equilibrio de carga como lo haría en una LAN funcionará aquí.
Ejemplo: ejecute actualizaciones usando 192.168.2. * El ISP de Wi-Fi ejecuta la vida media usando 192.168.1. * LAN ISP.
fuente
La url mencionada a continuación está diseñada específicamente para ganar 7, pero debe tener una idea. Cambia la métrica de la puerta de enlace predeterminada según la carga en la interfaz, lo que lleva a compartir la carga.
http://www.youtube.com/watch?v=Qh5Eb8sXvuk
fuente
He escuchado esta misma pregunta una docena de veces, una docena de formas diferentes. Primero, las sesiones internas y las sesiones externas se manejan de manera similar, pero no son lo mismo. Para cada sesión interna, podría haber múltiples externos, y viceversa. Lo que estás hablando no es lógicamente imposible, pero requiere un poco de programación y preparación. Algunos dispositivos se están construyendo con la capacidad de agregar conexiones de ethernet o wifi para velocidades de red más rápidas internamente en una red, pero para redes externas, solo he encontrado dispositivos con FAILOVER, lo que significa que solo cambian cuando tienen que hacerlo. Sin embargo, podría usar una conmutación básica (si las declaraciones con 0 o 1) en el protocolo de conexión que redirige el tráfico a través de una puerta de enlace diferente para cada sesión EXTERNA. A continuación, deberá realizar un seguimiento de cada SESIÓN EXTERNA adjunta a cada SESIÓN INTERNA, ajustando una sub-sesión dentro de una sesión principal con un ID de sesión. Tendría que tener una forma de verificar el dominio del sitio o usar el ID de sesión para completar el enrutamiento interno (en otras palabras, necesitaría poder diferenciar los mensajes del cliente para cada sesión / conexión externa según sitio al que solicitaban o enviaban datos para que se estableciera la tubería para cada sitio, evitando que el sitio rechazara la tubería). Esto significa que tendría que construir un nuevo protocolo de red en su enrutador y decidir cómo diferenciar las conexiones (si solo se hace por dominio del sitio, podría ser posible desde el enrutador, pero el cliente puede intentar usar la dirección IP del puerta externa para el sitio web, que niega esto; Si se realiza en ambos extremos, el cliente debe realizar un seguimiento de algún identificador, generalmente un valor numérico de enmascaramiento binario, que permite que el envío recibido coincida con la sesión externa que se enruta en la puerta principal). En otras palabras, tendrías que programar tu propio protocolo para manejar la red, y tendrías que decidir si quieres construirlo tú mismo (haciendo uso tanto de la programación del cliente como del host), o si quieres construir algo eso es compatible con la programación existente más antigua (que tendría que estar vinculada por la mensajería entre el host y el cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo que se equilibra. el cliente necesita realizar un seguimiento de algún identificador, generalmente un valor numérico de enmascaramiento binario, que permite que el envío recibido coincida con la sesión externa que se enruta en la puerta principal). En otras palabras, tendría que programar su propio protocolo para manejar la red, y tendría que decidir si desea construirlo usted mismo (haciendo uso tanto de la programación del cliente como del host), o si desea construir algo eso es compatible con la programación existente más antigua (que tendría que estar vinculada por la mensajería entre el host y el cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo equilibrado. el cliente necesita realizar un seguimiento de algún identificador, generalmente un valor numérico de enmascaramiento binario, que permite que la recepción de envío coincida con la sesión externa que se enruta en la puerta principal). En otras palabras, tendría que programar su propio protocolo para manejar la red, y tendría que decidir si desea construirlo usted mismo (haciendo uso tanto de la programación del cliente como del host), o si desea construir algo eso es compatible con la programación existente más antigua (que tendría que estar vinculada por la mensajería entre el host y el cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo equilibrado. normalmente un valor numérico de enmascaramiento binario, que permite que la recepción de envío coincida con la sesión externa que se enruta en la puerta principal). En otras palabras, tendría que programar su propio protocolo para manejar la red, y tendría que decidir si desea construirlo usted mismo (haciendo uso tanto de la programación del cliente como del host), o si desea construir algo eso es compatible con la programación existente más antigua (que tendría que estar vinculada por la mensajería entre el host y el cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo equilibrado. normalmente un valor numérico de enmascaramiento binario, que permite que la recepción de envío coincida con la sesión externa que se enruta en la puerta principal). En otras palabras, tendría que programar su propio protocolo para manejar la red, y tendría que decidir si desea construirlo usted mismo (haciendo uso tanto de la programación del cliente como del host), o si desea construir algo eso es compatible con la programación existente más antigua (que tendría que estar vinculada por la mensajería entre el host y el cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo equilibrado. eso permite que la recepción de envío coincida con la sesión externa que se enruta en la puerta principal). En otras palabras, tendría que programar su propio protocolo para manejar la red, y tendría que decidir si desea construirlo usted mismo (haciendo uso tanto de la programación del cliente como del host), o si desea construir algo eso es compatible con la programación existente más antigua (que tendría que estar vinculada por la mensajería entre el host y el cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo equilibrado. eso permite que la recepción de envío coincida con la sesión externa que se enruta en la puerta principal). En otras palabras, tendría que programar su propio protocolo para manejar la red, y tendría que decidir si desea construirlo usted mismo (haciendo uso tanto de la programación del cliente como del host), o si desea construir algo eso es compatible con la programación existente más antigua (que tendría que estar vinculada por la mensajería entre el host y el cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo equilibrado. y tendría que decidir si desea construirlo usted mismo (haciendo uso tanto de la programación del cliente como del host), o si desea construir algo que sea compatible con la programación existente anterior (que debería estar vinculada por la mensajería entre el host y cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo equilibrado. y tendría que decidir si desea construirlo usted mismo (haciendo uso tanto de la programación del cliente como del host), o si desea construir algo que sea compatible con la programación existente anterior (que debería estar vinculada por la mensajería entre el host y cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo equilibrado. poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo que se equilibra. poner más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo que se equilibra.
Para redes de estilo corporativo más grandes, puede combinar las redes y dar a cada piso o departamento una puerta de enlace dedicada, lo que permite múltiples ISP y nunca poner demasiado en ninguno de ellos. También puede hacer que Failover sea manejado por un centro que envía cambios o redirige a una puerta de enlace diferente cuando uno de ellos tiene problemas. Esto ofrece cierta tolerancia a fallas.
fuente