Utilize dois gateways na mesma rede mesma interface com balanceamento de carga

6

Minha configuração é de dois ISPs em uma única interface e em uma única rede. Eu posso definir meu gateway padrão como 192.168.0.1 ou 192.168.1.250 e trabalhar.

Edit: Netmask (como notado no comentário) is 255.255.254.0 - como eu disse, eles estão na mesma sub-rede.

Meu desejo é utilizar ambos com algum balanceamento de carga. Eu tentei seguir o conselho dado aqui link

#!/bin/sh                                                                                                                                                                                                                        
ip route show table main | grep -Ev '^default' \                                                                                                                                                                                 
   | while read ROUTE ; do                                                                                                                                                                                                       
     ip route add table ISP1 $ROUTE                                                                                                                                                                                              
done                                                                                                                                                                                                                             
ip route add default via 192.168.1.250 table ISP1                                                                                                                                                                                
ip route add default via 192.168.0.1 table ISP2                                                                                                                                                                                  

iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark                                                                                                                                                                      
iptables -t mangle -A PREROUTING -m mark ! --mark 0 -j ACCEPT                                                                                                                                                                    
iptables -t mangle -A PREROUTING -j MARK --set-mark 10                                                                                                                                                                           
iptables -t mangle -A PREROUTING -m statistic --mode random --probability 0.5 -j MARK --set-mark 20                                                                                                                              
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark

Agora, eu faço "traceroute somehost" repetidamente. Eu só posso obter rotas através da minha rota padrão, que é 192.168.1.250. Os pacotes não devem mudar de rota de maneira aleatória? Como depurar isso?

    
por RushPL 04.06.2012 / 19:00

1 resposta

2

A única maneira de ter vários gateways padrão que conheço é utilizar a metodologia mostrada aqui: link . No entanto, uma modificação que eu recomendaria sobre essa metodologia é que, em vez de colocar coisas em /etc/rc.local, armazená-las em arquivos de rota / regra de rede (novamente, isso está assumindo um nome vermelho para YMMV - / etc / sysconfig / network-scripts / route- e / etc / sysconfig / network-scripts / rule -.

Para que uma única interface seja vista como duas interfaces, você pode criar subinterfaces seguindo a metodologia mostrada aqui: link

    
por 13.07.2012 / 04:15