proteger múltiplos balanceadores de carga ADSL por meio da VM

10

Por um longo tempo (2 anos?) Eu tenho uma máquina virtual (servidor Ubuntu 12.04) com um recurso de balanceamento de carga de saída muito básico, enviando diferentes conexões de saída para diferentes roteadores ADSL.

Configurado simplesmente usando o iproute sem mascarada de NAT, o NAT é gerenciado pelos próprios roteadores ADSL de saída, permitindo que as conexões sejam roteadas diretamente de volta ao remetente, ignorando a VM do roteador de balanceamento de carga. Também não há regras de firewall (iptables) na VM do roteador.

echo 1 > /proc/sys/net/ipv4/ip_forward

# flush initially
ip route flush cache

# remove whatever is there for the default to begin with
ip route delete default

# default load balancing rule
ip route add default scope global \
    nexthop via ${ROUTER2} dev ${INTERFACE} weight 6 \
    nexthop via ${ROUTER1} dev ${INTERFACE} weight 4

Isso funcionou bem por um longo tempo.

Atualizei recentemente (do-release-upgrade -d) o balanceador de carga (máquina virtual do servidor Ubuntu 12.04) para Ubuntu 14.04.

Como as conexões de atualização da Internet usando o comando "ip route add default" acima estão causando problemas esporádicos de conexão e criando uma experiência inutilizável. Quase como se pacotes individuais estivessem sendo enviados pelos roteadores e não pelas conexões completas.

Isso foi tentado com uma segunda máquina virtual 14.04 com o mesmo efeito.

Eu adoraria ter a mesma funcionalidade no Ubuntu 14.04 (kernel atual: 3.13.0-24). Eu não entendo o que mudou.

Alguma sugestão?

Drew Anderson
fonte
Muitas pessoas estão reclamando de problemas de rede. Você pode atualizar seu kernel para a 3.14? Aqui estão algumas instruções de instalação: linuxg.net/…
Sacx
A atualização para 3,14 eliminou a VM. Kernel panic. Talvez eu não tenha feito direito, mas segui essas instruções. Enquanto isso, eu fiz o downgrade para a versão 12.04 (reinstalada da VM) para continuar usando a funcionalidade antiga de trabalho. O suporte até 2017 provavelmente está correto.
Drew Anderson
Portanto, as pessoas estão cientes de que não preciso mais desta solução (trabalhos alterados), portanto não saberei se posso conseguir isso funcionando na versão 14.04.
Drew Anderson
ambos os roteadores estão na mesma rede L3? melhor ter 1 sub-rede por NIC / rota.
User158798

Respostas:

2

Sei que o pôster original não precisa mais de uma solução, mas aqui está minha opinião sobre a melhor solução para esse problema. Também sei que o pôster preferiria usar o Ubuntu, mas configurar as regras de roteamento manualmente assim não é ótimo para transferir a propriedade para outras pessoas ou até fazer referência a si mesmo anos depois.

Pessoalmente, eu sugeriria uma configuração mais robusta usando uma VM do PFSense para balancear a carga das conexões. Eu provavelmente também sugeriria executar NAT na própria caixa do PFSense, e não nos modems. Eu tenho algo semelhante a este configurado em uma VM e funciona bem.

Para as conexões entre os modems e a VM do PFSense, eu uso um switch compatível com vlan para conectar 3 VLans à VM e separá-las em 3 portas separadas no switch. Isso, na verdade, fornece um cabo direto (virtual) de cada modem para a caixa pfsense e outro cabo para a LAN. Em seguida, você pode configurar os modems para passagem, que variam de provedor para provedor.

É verdade que isso evita o problema, em vez de abordá-lo diretamente, mas colocar o NAT nos modems parece-me pedir apenas problemas. Além disso, o PFSense foi projetado especificamente como uma solução de roteador pré-empacotado, portanto suporta e continuará a ser testado com configurações como essa, garantindo melhor confiabilidade por meio de atualizações.

triturador de pedras
fonte
esta resposta pode ter sido melhor como comentário, mas não tenho reputação por isso.
Stonecrusher: