Eu mucked com isso. Eu simplesmente tinha um sistema conectado a ambos os gateways (com intervalos de endereços IP diferentes) e usava um proxy de balanceamento de carga.
Connectify expedição faz isso por você MUITO simples, tem uma versão gratuita e uma versão paga com mais recursos.
Uma alternativa alternativa gratuita de código aberto chamada dispatch-proxy que funciona bem o suficiente para mim. Ele não tem a maioria dos sinos e assobios, mas é grátis, e funcionará com qualquer software que permita um servidor proxy. Eu corri isso com duas conexões sem fio em sub-redes diferentes e parece funcionar como deveria. É um pouco complexo (precisa de node.js) e não possui alguns recursos que o dispatch possui.
Nesse caso, eu executaria uma instância por perfil de conexão que você deseja para flexibilidade máxima. Suponho que, em teoria, se você não quisesse um controle muito refinado e fosse a rota do proxy, poderia executar um pequeno proxy vinculado ao endereço IP que deseja usar e fazer o mesmo.
Uma terceira alternativa pode ser simplesmente comprar um roteador WAN duplo e tê-lo como um único gateway.