[projet-agregation] routage multi-WAN

Laurent GUERBY laurent at guerby.net
Sam 28 Jan 09:40:39 CET 2012


On Sat, 2012-01-28 at 03:34 +0100, Jocelyn Delalande wrote:
> Salut,
> 
> Dans le cadre du boulot que l'on fait avec Yanick autour de 
> l'agrégation, je butte sur un problème de routage (linux, iproute2). 
> J'ai besoin de mettre en place un peu de routage avec plusieurs sorties 
> WAN (natées en l'occurence).
> 
> 
> ~~~~~~~~ gw: 192.168.1.254 +--------+
> ~ ~----------[OVH-BOX-NAT]--------| | +-- Machine ---------+
> ~ INTERNET ~ | switch |------|eth0:192.168.1.76 |
> ~ ~----------[FDN-BOX-NAT]--------| |------|eth0.1:192.168.2.201|
> ~~~~~~~ gw: 192.168.2.1 +--------+ +--------------------+
> 
> 
> Le but est simple : avoir plusieurs routes vers internet sur une 
> Machine. Pas besoin de round-robbin ou quoi que ça soit. Le seul besoin est:
> 
> 1. du routage selon la source : si on se binde à une interface locale, 
> on veut que le traffic emprunte la gateway correspondante vers internet.
> 2. une seule route par défaut, si on ne se binde pas à une interface 
> locale (ex: je lance mon navigateur web et ça juste-marche, en prenant 
> une des deux interfaces, sans répartiton de charge, je m'en moque, mais 
> toujours la même histoire de ne pas perdre les pédales).
> 
> Le point 1 marche très bien.
> Le point 2 pose problème, en prenant l'exemple du navigateur web, ça 
> marchotte avec certaines IPs (mais c'est lent), ça ne marche pas du tout 
> avec d'autres… Bref, c'est super aléatoire.

Salut,

<<
# Higher is prefered
ip route add default scope global\
 nexthop via $FDN_GW dev $FDN_IF weight 2\
 nexthop via $OVH_GW dev $OVH_IF weight 1
>>

Si je lis bien la doc cette commande fait du load balancing
de connection ratio 2/3 sur FDN et 1/3 sur OVH et non
pas du choix de route préférée dans tous les cas:

http://lartc.org/howto/lartc.rpdb.multiple-links.html
<<
	    ip route add default scope global nexthop via $P1 dev $IF1 weight 1
\
	    nexthop via $P2 dev $IF2 weight 1
	  

This will balance the routes over both providers. The weight parameters
can be tweaked to favor one provider over the other.

Note that balancing will not be perfect, as it is route based, and
routes are cached. 
>>

Si ton navigateur ouvre plusieurs connection vers le meme site
du point de vue du site tu vas apparaitre avec le meme cookie
de session en simultané avec deux IP sources différentes, ca doit
facilement coincer :).

Il me semble que le bon attribut pour choisir est "metric"
mais je n'en suis pas sur.

Laurent

> Quand ça marche, ça apparaît logiquement avec la route de poids le plus 
> fort (192.168.2.x en l'occurence)
> 
> Je bloque complètement là-dessus, je vous joint le script que j'ai fait 
> pour configurer le routage. Des fois que cela vous inspire :-). Le 
> script est lancé sur machine et on utilise Machine pour les applications 
> « consomatrices » d'internet (pas de routeur extérieur).
> 
> Merci d'avance et… Bonne nuit !
> 
> Jocelyn
> 
> _______________________________________________
> projet-agregation mailing list
> projet-agregation at lists.tetaneutral.net
> http://lists.tetaneutral.net/listinfo/projet-agregation




More information about the projet-agregation mailing list