Qualquer roteamento avançado, como a configuração de vários gateways padrão, envolverá o roteamento com base em políticas .
Existem várias soluções que foram postadas para encaminhamento com base na marcação de pacotes destinados a uma porta específica, mas a solução que encontrei no portal do cliente da Red Hat acabou sendo muito mais fácil e provavelmente será mais amplamente aplicável.
Adicionando a /etc/rc.local
:
-
Configure a tabela de roteamento alternativa , chamei a minha
2
./sbin/ip route add table 2 default via <management-gateway>
-
Defina o tráfego do IP de gerenciamento para usar a tabela de roteamento alternativa com o conjunto de gateway de gerenciamento.
/sbin/ip rule add from <management-IP-address> table 2
Os trabalhos acima deixam meu gateway principal (na tabela de roteamento padrão) apontando para a produção (eth1). O gateway na etapa 2 será escolhido para qualquer tráfego originado do endereço IP associado à eth0.
No meu caso particular, a rede de backup não é sensível a uma configuração de gateway, pois todo o tráfego está na mesma sub-rede. No entanto, se a rede de backup tivesse várias sub-redes, eu poderia configurar uma terceira tabela de roteamento e fazer um ip rule add
semelhante para essa.
Sem roteamento baseado em políticas, o kernel consultaria a tabela de roteamento padrão para decidir a interface para empurrar o tráfego para fora. Isso significa que a interface correta será selecionada se o outro nó estiver na mesma sub-rede que uma das interfaces conectadas, caso contrário, o tráfego será enviado pela rota padrão. Esse comportamento não seria visível se a rede continuasse a rotear o pacote apesar de sair da interface "errada", mas, no meu caso, resultou na queda do tráfego.
Depois de fazer o roteamento baseado em políticas, o tráfego de Produção e Gerenciamento / SSH começou a funcionar conforme o esperado.