Round robin através de múltiplas interfaces

4

Eu gostaria de alternativa entre interfaces de rede para um ip particular. Por exemplo:

Solicitação para 192.168.1.5 // usa a interface 1

Solicitação para 192.168.1.5 // usa a interface 2

Solicitação para 192.168.1.5 // usa a interface 1

Solicitação para 192.168.1.5 // usa a interface 2

Solicitação para 192.168.1.5 // usa a interface 1

Solicitação para 192.168.1.5 // usa a interface 2

Estou usando o Ubuntu 10. Eu encontrei isto:

link

Esse é o tipo de coisa que estou procurando?

    
por Keith Pitt 18.10.2010 / 07:26

3 respostas

1

The Linux bonding driver provides a method for aggregating multiple network interfaces into a single logical bonded interface.

link

link

link

    
por 18.10.2010 / 07:33
1

Eu tenho isso configurado em uma máquina servidor Ubuntu, vou postar a configuração abaixo. Foi meio complicado configurar e ainda existem alguns problemas, esta máquina também está fornecendo NAT (em outra interface) e para clientes NAT alguns serviços (openvpn, icq) se confundem quando os pacotes vêm de diferentes endereços que mudam a cada agora e depois.

De qualquer forma: - Eu usei isso para usar 2x link de internet de 100 Mbps com dois IPs públicos - funciona bem para o apache - cada solicitação é tratada em uma interface diferente e assim por diante ... mas as rotas para clientes são consertadas é bom limpar o cache de roteamento de vez em quando (por /sbin/route del default ) - mas quando você faz isso - alguns serviços ficam confusos. (Os clientes do OpenVPN precisam ter o "float" adicionado à configuração para que eles confiem no servidor com vários endereços e assim por diante ...). Cada conexão pode obter no máximo 100 Mbps, mas 2 conexões podem chegar a 200 Mbps ...

Muitos aplicativos são confusos, por isso, quando você tem a chance de trabalhar em conjunto - você pode administrar o switch - eu recomendaria essa abordagem.

minhas interfaces de internet:

eth0      Link encap:Ethernet  HWaddr 00:11:09:5e:af:af  
          inet addr:69.42.248.102  Bcast:69.42.248.127  Mask:255.255.255.192

eth2      Link encap:Ethernet  HWaddr 00:0e:2e:0d:32:b4  
          inet addr:69.42.248.103  Bcast:69.42.248.127  Mask:255.255.255.192

eles são configurados por configuração padrão em / etc / network / interfaces

auto eth0                                                                                                                       
iface eth0 inet static                                                                                                          
    address 69.42.248.102                                                                                                      
    netmask 255.255.255.192                                                                                                     
    gateway 69.42.248.65                                                                                                       

auto eth2                                                                                                                       
iface eth2 inet static                                                                                                          
    address 69.42.248.103                                                                                                      
    netmask 255.255.255.192                                                                                                     
    gateway 69.42.248.65

e finalmente eu inicio o balanceamento de carga chamando um script após a inicialização (adicionar ao rc.local (antes da saída) ou crontab)

#!/bin/bash

# I do not remember why this is here multiple times- but I have mutliple gates and interfaces set by default so I guess it's here to clear them all ;-)

/sbin/route del default
/sbin/route del default
/sbin/route del default
/sbin/route del default

ip route add default scope global \                                                                                             
nexthop via 69.42.248.65 dev eth0 weight 1 \                                                                                   
nexthop via 69.42.248.65 dev eth2 weight 1    

Isso basicamente diz ao roteamento para usar o mesmo gate com diferentes ethX e mesmo peso - fazendo assim balanceamento de carga por round-robin por conexão.

    
por 30.01.2011 / 03:19
0

Meu DNS está enferrujado, mas você não pode simplesmente colocar dois endereços IP em seu registro A e a maioria dos sistemas irá alternar entre os dois, se bem me lembro. É claro que supõe que você esteja usando um nome de host e não um ip direto.

    
por 27.10.2010 / 03:04