Eu tenho um Mac, que executa o Mac OS X 10.6 ou Ubuntu 9.10 ou Windows XP (inicialização múltipla). A solução pode ser para qualquer um dos sistemas, o que funcionar melhor.
Eu tenho dois ISPs , um pode ser acessado via Wi-Fi , um pode ser acessado via LAN . No Mac OS XI, é possível definir a prioridade, qual rede escolher primeiro. Mas o que eu desejo fazer é balancear a carga com as duas redes.
Não quero comprar hardware extra. Eu tenho alguns roteadores Wi-Fi não utilizados, se isso ajudar.
Compilar e configurar programas no Linux não é problema para mim.
Pergunta semelhante: Balanceamento de carga com vários gateways
Respostas:
Um tópico próximo, para linux, seria a configuração 'métrica' para rotas. Números mais baixos são preferidos a números mais altos. Se você der as duas rotas a mesma métrica, acho que elas seriam escolhidas com igual probabilidade.
Eu acho que a técnica que você está tentando alcançar se chama multihoming . Eu não tenho nenhuma experiência direta com isso. No entanto, algumas coisas que você provavelmente precisa ter em mente.
De qualquer forma, essas são todas as dicas que posso pensar no momento.
fonte
metric
é um parâmetro para interfaces de rede no Windows e no OS X também; qualquer sistema operacional que suporte múltiplas interfaces de rede exigirá um meio de estabelecer precedência.Você pode usar um sistema de métrica de roteamento no qual instala as duas conexões de Internet na sua tabela de roteamento com uma métrica igual. O sistema operacional deve usar as duas rotas igualmente, dividindo efetivamente o tráfego de saída nos dois links.
O tráfego de entrada em resposta às suas solicitações também deve ser equilibrado, pois retornará à interface (IP público) da qual a solicitação saiu.
O problema disso seria a persistência da sessão; por exemplo, você visualiza um site por meio de um de seus links, mas a exibição da página seguinte é balanceada por carga em sua outra interface, isso confundiria alguns aplicativos, pois o endereço IP de origem mudava constantemente.
Portanto, eu provavelmente dividiria parte do seu tráfego na outra interface usando nenhuma rota de custo igual, pode ser por aplicativo, destino ou protocolo. Apenas algo que manterá seus caminhos de tráfego consistentes.
fonte
O Connectify Dispatch possui uma solução que fará exatamente o que você precisa. Atualmente apenas para Windows, mas as pessoas tiveram sucesso ao virtualizar e usar seus softwares no OS X.
Como você já executou (estava executando) o Windows XP, achei que seria possível descobrir essa parte por conta própria.
O maior problema disso é que o Windows oferece suporte facilmente para várias NICs, enquanto no OS X não é tão fácil de implementar.
fonte
Existe uma espécie de solução alternativa: meu aplicativo é capaz de balancear a carga, posso definir 2 conexões que são usadas para ambos.
Em seguida, direciono um dos IPs do servidor para um dos IPS.
no mac os 10.6:
rota adicionar -host XXX.XXX.XXX.XXX 192.168.1.1
Eu sei, isso é muito específico e só funciona se os IPs do servidor forem sempre os mesmos. E se o aplicativo puder equilibrar a carga de alguma forma.
fonte
Eu não acho que isso será possível sem fazer algo como todo o tráfego que sai é um ISP e o tráfego que entra é outro ISP.
Razão pela qual está dividindo o tráfego em duas redes separadas, não parece que eles voltariam. Se você tivesse 2 tubos de 1 ISP, isso pode ser possível.
Como a pessoa disse anteriormente, acho que você precisará de um padrão de qualquer maneira e poderá restringir determinado tráfego por uma rota e o restante por outra. Apenas não pense que o balanceamento de carga, como faria em uma LAN, funcionará aqui.
Exemplo: execute atualizações usando 192.168.2. * ISP Wi-Fi execute halflife usando 192.168.1. * LAN ISP.
fonte
O URL mencionado abaixo destina-se especificamente à vitória 7, mas você deve ter uma idéia. Ele altera a métrica do gateway padrão, dependendo da carga na interface, levando ao compartilhamento de carga.
http://www.youtube.com/watch?v=Qh5Eb8sXvuk
fonte
Já ouvi essa mesma pergunta uma dúzia de vezes uma dúzia de maneiras diferentes. Primeiro, sessões internas e externas são tratadas de maneira semelhante, mas não são as mesmas. Para cada sessão interna, pode haver várias externas e vice-versa. O que você está falando não é logicamente impossível, mas requer um pouco de programação e preparação. Alguns dispositivos estão sendo criados com a capacidade de agregar conexões Ethernet ou Wi-Fi para obter velocidades de rede mais altas internamente em uma rede, mas, para redes externas, só encontrei dispositivos com FAILOVER, o que significa que eles só trocam quando necessário. No entanto, você pode usar uma comutação básica (instruções if com 0 ou 1) no protocolo de conexão que redireciona o tráfego por um gateway diferente para cada sessão EXTERNA. Você precisaria acompanhar cada SESSÃO EXTERNA anexada a cada SESSÃO INTERNA, envolvendo uma sub-sessão dentro de uma sessão principal com um ID da sessão. Você precisaria, então, ter uma maneira de verificar o domínio do site ou usar o ID da sessão para concluir o roteamento interno (em outras palavras, seria necessário diferenciar as mensagens do cliente para cada sessão \ conexão externa com base na qual site em que estavam solicitando ou enviando dados para que o canal de cada site fosse definido, impedindo que o site rejeitasse o canal). Isso significa que você teria que criar um novo protocolo de rede no seu roteador e decidir como diferenciar as conexões (se feitas apenas pelo domínio do site, isso pode ser possível com o roteador, mas o cliente pode tentar usar o endereço IP do porta externa para o site, o que nega isso; se feito nos dois extremos, o cliente precisa acompanhar algum identificador, geralmente um valor numérico de mascaramento binário, que permite que a recepção de envio seja comparada à sessão externa que está sendo roteada no portão principal). Em outras palavras, você teria que programar seu próprio protocolo para lidar com a rede e decidir se deseja construí-lo você mesmo (usando a programação de cliente e host) ou se deseja criar algo isso é compatível com a programação existente mais antiga (que precisaria estar vinculada às mensagens entre host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. o cliente precisa acompanhar algum identificador, geralmente um valor numérico de mascaramento binário, que permite que a recepção de envio seja comparada à sessão externa que está sendo roteada no portão principal). Em outras palavras, você teria que programar seu próprio protocolo para lidar com a rede e decidir se deseja construí-lo você mesmo (usando a programação de cliente e host) ou se deseja criar algo isso é compatível com a programação existente mais antiga (que precisaria estar vinculada às mensagens entre host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. o cliente precisa acompanhar algum identificador, geralmente um valor numérico de mascaramento binário, que permite que a recepção de envio seja comparada à sessão externa que está sendo roteada no portão principal). Em outras palavras, você teria que programar seu próprio protocolo para lidar com a rede e decidir se deseja construí-lo você mesmo (usando a programação de cliente e host) ou se deseja criar algo isso é compatível com a programação existente mais antiga (que precisaria estar vinculada às mensagens entre host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. normalmente, um valor numérico de mascaramento binário, que permite que a recepção de envio seja comparada à sessão externa que está sendo roteada no portão principal). Em outras palavras, você teria que programar seu próprio protocolo para lidar com a rede e decidir se deseja construí-lo você mesmo (usando a programação de cliente e host) ou se deseja criar algo isso é compatível com a programação existente mais antiga (que precisaria estar vinculada às mensagens entre host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. normalmente, um valor numérico de mascaramento binário, que permite que a recepção de envio seja comparada à sessão externa que está sendo roteada no portão principal). Em outras palavras, você teria que programar seu próprio protocolo para lidar com a rede e decidir se deseja construí-lo você mesmo (usando a programação de cliente e host) ou se deseja criar algo isso é compatível com a programação existente mais antiga (que precisaria estar vinculada às mensagens entre host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. que permite que a recepção de envio seja comparada à sessão externa que está sendo roteada no portão principal). Em outras palavras, você teria que programar seu próprio protocolo para lidar com a rede e decidir se deseja construí-lo por conta própria (usando a programação do cliente e do host) ou se deseja criar algo isso é compatível com a programação existente mais antiga (que precisaria estar vinculada às mensagens entre host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. que permite que a recepção de envio seja comparada à sessão externa que está sendo roteada no portão principal). Em outras palavras, você teria que programar seu próprio protocolo para lidar com a rede e decidir se deseja construí-lo por conta própria (usando a programação do cliente e do host) ou se deseja criar algo isso é compatível com a programação existente mais antiga (que precisaria estar vinculada às mensagens entre host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. e você teria que decidir se deseja construí-lo você mesmo (usando a programação do cliente e do host) ou se deseja criar algo compatível com a programação existente mais antiga (que precisaria ser vinculada pelas mensagens entre o host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. e você teria que decidir se deseja construí-lo você mesmo (usando a programação do cliente e do host) ou se deseja criar algo compatível com a programação existente mais antiga (que precisaria ser vinculada pelas mensagens entre o host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado.
Para redes de estilo corporativo maiores, você pode integrar a rede e fornecer a cada andar ou departamento um gateway dedicado, permitindo vários ISPs e nunca colocando muito em nenhum deles. Você também pode ter o Failover tratado por um hub que envia alterações ou redireciona para um gateway diferente quando um deles tem problemas. Isso oferece alguma tolerância a falhas.
fonte