Isso é definitivamente viável. Muitos de nós estávamos executando configurações de banda larga mistas e com balanceamento de carga para empresas há alguns anos e elas funcionaram muito bem. Muitos provavelmente ainda o fazem!
Você pode fazer isso de várias maneiras, incluindo o uso de iptables
regras e / ou iproute2
( ip(8)
comando) para configurar o roteamento de políticas.
O balanceamento de carga não é feito no nível do pacote, mas no nível da conexão . Ou seja, todos os pacotes de uma conexão saem de uma interface. Qual é a interface depende da política de roteamento. Sem a cooperação dos seus primeiros roteadores, além da sua própria infraestrutura, esta é a única maneira de fazê-lo. Os computadores remotos não têm como saber se seus dois endereços IP realmente pertencem ao mesmo computador. No TCP, uma conexão é identificada exclusivamente por quatro tuplas (IP remoto, Porta remota, IP local, Porta local). Se você envia pacotes de IPs diferentes, o servidor remoto pensa que eles pertencem a duas conexões diferentes e fica irremediavelmente confuso.
Obviamente, esse tipo de coisa faz mais sentido em um ambiente corporativo ou com muitos usuários compartilhando uma única conexão. No trabalho, estávamos combinando uma linha ADSL de 256 kbps com uma linha de cabo de 512 kbps (sim, naquela época) e tudo funcionou notavelmente bem, com o benefício adicional de alta disponibilidade.
Para alguma ajuda prática real, aqui está uma maneira de fazer issoiproute2
. É para o Debian, mas também funciona no Ubuntu, é claro.