Load balancing avec une interface ?

Salut tous le monde,

Vala, j’ai donc au suivit de notre dernier casse tête vu que le bonding ne pouvait fonctionner pour le cumul de bande passante de connexion internet qu’a contition que le fournisseur d’acces le fasse lui aussi. donc on jette ca a la poubelle vu que FT ne le fait plus…(vendait ptet pu assez de lignes rnis…)

J’ai donc opté pour du load balancing. En effet, je dispose de deux abonnements wanabhooo! et de deux routeurs, est ce que je peux faire de l’ip route de façon à, non pas répartir le load balancing sur deux interfaces distincts de réseau differents, mais grouper les routeurs sur un même réseau (distinct du RL évidement) tout en faisant du load balancing entre les differents routeurs par une seule interface de la passerelle:

+----------------+ETH0>---RL                              
+ PASSERELLE +                             +---------ROUT1
+----------------+ETH1>------------------(HUB)
.                                           +---------ROUT2

C juste pour voir… amis du casse tête bonjours…
Suis je obliger pour de l’ip route2, et du load balancing de creer 2 tables de routage supplementaire ? de réseau(adressage) differents? ou faire comme ca?..ca pourrait marcher ?

Table1-----------------------
ip route add ETH1_NET dev ETH1 src ETH1_IP table 1
ip route add default via ROUT1_IP table 1
Table2-----------------------
ip route add ETH1_NET dev ETH1 src ETH1_IP table 2
ip route add default via ROUT2_IP table 2
Default-----------------------
ip route add ETH1_NET dev ETH1 src ETH1_IP
ip route add ETH1_NET dev ETH1 src ETH1_IP
ip route add default via ROUT1_IP
ip rule add from ETH1_IP table 1    \ si ca coince c'est là.....
ip rule add from ETH1_IP table 2    /

Sinon , y a pas plus simple ? déclarer deux routes sur la table par defaut? est ce que y a moyen de faire du load balancing directement en jouant avec le poids?
ip route add default via ROUT1_IP \ n’importe quoi…:wink:
ip route add default via ROUT2_IP /

hargh !!

Ca doit pouvoir se faire avec iptables, en utilisant la cible route:

[code] ROUTE
This is used to explicitly override the core network stack’s routing decision. mangle table.

   --oif ifname
          Route the packet through `ifname' network interface

   --iif ifname
          Change the packet's incoming interface to `ifname'

   --gw IP_address
          Route the packet via this gateway

   --continue
          Behave  like  a  non-terminating  target  and  continue traversing the rules.  Not valid in combination with
          `--iif'[/code]

couplé avec le match random:

[code] random
This module randomly matches a certain percentage of all packets.

   --average percent
          Matches the given percentage.  If omitted, a probability of 50% is set.[/code]Ce qui donnerait en mangle/OUTPUT, en supposant que tu aies ta route par defaut sur l'ip ${ROUT1} une règle du genre:

iptables -t mangle -A OUTPOUT -o eth1 -m random -j ROUTE --gw ${ROUT2}
enfin à tester parceque je n’ai jamais expérimenté.

hmmmm, je crains que les vpn n’appricent pas le “random paquets”…
bon tant pis, je vais faire comme les copains…avec deux interfaces… Hop!
A+ et merci a toi… j’ai tout de même appris un truc avec le random ‘ROUTE’. et iptable.
merci.

[quote=“megs”]hmmmm, je crains que les vpn n’appricent pas le “random paquets”…
(…)[/quote]Je ne vois pas ce qui peut gèner de passer par une route ou par une autre, mais avec le conntrack, tu dois pouvoir faire en sorte qu’une connection qui s’est établi par une route passe toujours par la même route pour les paquets suivants si c’est ça le pb.
Enfin bon.
++

Ce qu’il voulait peut être dire c’est que vu que par exemple openvpn est configuré apr défaut en udp, le fait de prendre 2 routes différentes introduit une plus grande probabilité de perte de paquets, et donc derrière un affaissement du débit…

(ce qui me fait penser que je n’ai toujours pas eu le temps de tester une certaine config dont tu m’as donné la solution mattotop…)

Mattotop! ok, je cède… mes trois interfaces causes des instabilitées gravissimes…

impossible de faire tenir active la troisieme carte…pire des pertes et déconnexions intempestives du réseau (ping sur local host+interface mais pas sur un autre). perte de l’interface qui fonctionnait, et impossibilitée de la remonter… (pourtant lspci la vois)…

donc j’abandonne les trois interfaces…il ne me reste plus qu’a prier pour que ton idée soit fonctionnelle.

j’ai par contre une petite question: Comment se sert t’on de CONNTRACK ???
c’est un module à charger ? ou une option noyau a activer ?
et pour le faire tracer les paquets j’ai cru comprendre qu’il fallait lui faire savoir quels ports il doit écouter ?

Si c’est le cas j’ai 6 ports différents rien que pour le VPN… pour le reste ca pose probleme au ftp ? ou faut aussi que je track les connexions FTP, SSL etc? (c pour un proxy/passerelle/filter).

QQun à déjas mis en place tout ca ?

Y a pas moyen de ne dirriger les paquets uniquement lors d’une nouvelle connexion ? du coup les sessions resterais par la suite via le même route…? non ?

default GW = 10.0.0.1

iptables -t mangle -A OUTPUT -o eth1 -status NEW -m random -j ROUTE --gw 10.0.0.2

Heuuu, il me dit qu'il ne connait pas ce module là..... random... 

j'ai deux questions:

pour l'utiliser conntrack dois avoir 65535 dans le fichier 
/proc/sys/net/ipv4/ip_conntrackmax ?
et pour le noyau:
[code]#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=m
CONFIG_IP_NF_CT_ACCT=y
CONFIG_IP_NF_CONNTRACK_MARK=y
# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
CONFIG_IP_NF_CONNTRACK_NETLINK=m[/code]

oubien faut il ajouter manuellement le module conntrack ? ip_conntrack ?

et la deuxième question ?
ou trouve t'on ce fameux module random ? sans quoi je suis toujours dans la mouise car revenur au point de depart... je cherche un peu partout, mais il semble qu'il soit de plus en plus difficile de trouver des infos... je ne dois pas chercher au bon endrois.

Heuuu, il me dit qu’il ne connait pas ce module là… random…

j’ai deux questions:

pour l’utiliser conntrack dois avoir 65535 dans le fichier
/proc/sys/net/ipv4/ip_conntrackmax ?
et pour le noyau:

[code]#

IP: Netfilter Configuration

CONFIG_IP_NF_CONNTRACK=m
CONFIG_IP_NF_CT_ACCT=y
CONFIG_IP_NF_CONNTRACK_MARK=y

CONFIG_IP_NF_CONNTRACK_EVENTS is not set

CONFIG_IP_NF_CONNTRACK_NETLINK=m[/code]

oubien faut il ajouter manuellement le module conntrack ? ip_conntrack ?

et la deuxième question ?
ou trouve t’on ce fameux module random ? sans quoi je suis toujours dans la mouise car revenur au point de depart… je cherche un peu partout, mais il semble qu’il soit de plus en plus difficile de trouver des infos… je ne dois pas chercher au bon endrois.