Hello FRsAG,
Je suis à la recherche d'info sur la possibilité de faire de l'ECMP sous Linux. A priori, c'est supporté, la commande suivante suffirait à le mettre en place : # ip route add default nexthop via <gw #1> nexthop via <gw #2> Avec le mot-clé "equalize", on pourrait même faire du per-packet, même si ça me paraît dangereux.
L'idée étant de répartir la majorité de notre trafic HTTP sortant d'un nombre réduit de proxy-cache sur nos 2 routeurs afin d'équilibrer le trafic sur nos équipements et transits. Bien sûr, on va tester tout ça, mais je voulais savoir si l'un d'entre vous aurait un retour d'expérience sur le sujet ?
Merci d'avance pour vos réponses,
++ François
Salut,
Est ce que tes réseaux en amont de tes routeurs sont sur le même subnet? Si c'est deux opérateurs différents ou des subnets différents je doute que cela marche.
Par contre à mon sens avec un réseau identique en amont comme en aval, c'est à faire sur un élément de routage avant tes routeurs pas sur tes machines.
Typiquement ton core routeur de ton côté qui est la passerelle par défaut des machines / fw. Entre les deux routeurs tu montes un double HSRP un primaire par routeur et l'autre qui est standby. Ensuite sur le core routeur tu mets deux routes par défaut vers les deux HSRP. Comme cela tu as 50/50 du trafic entre les deux routeurs. Il suffit que ton opérateur puisse faire la même chose en amont et tu as un trafic équilibré des deux côtés. Technique validée pour beaucoup de clients à l'époque des LS où il était plus simple et moins cher de prendre une 2ème LS avec un autre chemin que de doubler le débit de la première LS. On gagnait en plus la redondance de liens.
Pierre-Henry
Le 30/05/2012 22:23, François JOMIER a écrit :
Hello FRsAG,
Je suis à la recherche d'info sur la possibilité de faire de l'ECMP sous Linux. A priori, c'est supporté, la commande suivante suffirait à le mettre en place : # ip route add default nexthop via <gw #1> nexthop via <gw #2> Avec le mot-clé "equalize", on pourrait même faire du per-packet, même si ça me paraît dangereux.
L'idée étant de répartir la majorité de notre trafic HTTP sortant d'un nombre réduit de proxy-cache sur nos 2 routeurs afin d'équilibrer le trafic sur nos équipements et transits. Bien sûr, on va tester tout ça, mais je voulais savoir si l'un d'entre vous aurait un retour d'expérience sur le sujet ?
Merci d'avance pour vos réponses,
++ François
Liste de diffusion du FRsAG http://www.frsag.org/
Hello,
Le 31 mai 2012 à 08:41, Pierre-Henry a écrit :
Salut,
Est ce que tes réseaux en amont de tes routeurs sont sur le même subnet? Si c'est deux opérateurs différents ou des subnets différents je doute que cela marche.
Par contre à mon sens avec un réseau identique en amont comme en aval, c'est à faire sur un élément de routage avant tes routeurs pas sur tes machines.
En général sur du Cisco : maximum-path <nombre> (en 1 et 8).
L'avantage si tu as 2 transit qui ont un peering en BGP avec ton hote destinataire ca devrait faire ECMP aussi...
Après "ça dépends" aussi car les routeurs ont le concept "hot potato" s'il on une route en eBGP et une en iBGP ils vont préférer ... l'eBGP...
Donc le maximum-path marche si ton routeur a 2 connections sur tes 2 transitaires aussi...
Xavier
Le 31 mai 2012 08:41, Pierre-Henry wallace@morkitu.org a écrit :
Salut,
Hello,
Est ce que tes réseaux en amont de tes routeurs sont sur le même subnet?
Oui. Tout serait sur le même subnet.
Si c'est deux opérateurs différents ou des subnets différents je doute que cela marche.
Par contre à mon sens avec un réseau identique en amont comme en aval, c'est à faire sur un élément de routage avant tes routeurs pas sur tes machines. Typiquement ton core routeur de ton côté qui est la passerelle par défaut des machines / fw. Entre les deux routeurs tu montes un double HSRP un primaire par routeur et l'autre qui est standby. Ensuite sur le core routeur tu mets deux routes par défaut vers les deux HSRP. Comme cela tu as 50/50 du trafic entre les deux routeurs. Il suffit que ton opérateur puisse faire la même chose en amont et tu as un trafic équilibré des deux côtés.
En fait, je préférerai le faire sur mes machines car sinon, je dois le faire sur mes load-balancers. Mais je préférerai faire du DSR du côté du load-balancing...
Technique validée pour beaucoup de clients à l'époque des LS où il était plus simple et moins cher de prendre une 2ème LS avec un autre chemin que de doubler le débit de la première LS. On gagnait en plus la redondance de liens.
Pierre-Henry
François
Le 30/05/2012 22:23, François JOMIER a écrit :
Hello FRsAG,
Je suis à la recherche d'info sur la possibilité de faire de l'ECMP sous Linux. A priori, c'est supporté, la commande suivante suffirait à le mettre en place : # ip route add default nexthop via <gw #1> nexthop via <gw #2> Avec le mot-clé "equalize", on pourrait même faire du per-packet, même si ça me paraît dangereux.
L'idée étant de répartir la majorité de notre trafic HTTP sortant d'un nombre réduit de proxy-cache sur nos 2 routeurs afin d'équilibrer le trafic sur nos équipements et transits. Bien sûr, on va tester tout ça, mais je voulais savoir si l'un d'entre vous aurait un retour d'expérience sur le sujet ?
Merci d'avance pour vos réponses,
++ François
Liste de diffusion du FRsAGhttp://www.frsag.org/
Liste de diffusion du FRsAG http://www.frsag.org/
On Thu, 31 May 2012 10:41:09 +0200, "François JOMIER" francois.jomier@m6.fr said:
En fait, je préférerai le faire sur mes machines car sinon, je dois le faire sur mes load-balancers. Mais je préférerai faire du DSR du côté du load-balancing...
Evite quand-meme de le faire sur les hosts. Si les LB gerent mal le routage ou s'ils ne tiennent pas la charge, tu peux introduire un autre niveau de routage. Un switch L3 fait tres bien l'affaire en general. Sinon (les LB sont OK pour ces 2 criteres), fais-le quand-meme sur les LB.
Hello,
Le 31 mai 2012 à 11:08, Radu-Adrian Feurdean a écrit :
On Thu, 31 May 2012 10:41:09 +0200, "François JOMIER" francois.jomier@m6.fr said:
En fait, je préférerai le faire sur mes machines car sinon, je dois le faire sur mes load-balancers. Mais je préférerai faire du DSR du côté du load-balancing...
Evite quand-meme de le faire sur les hosts. Si les LB gerent mal le routage ou s'ils ne tiennent pas la charge, tu peux introduire un autre niveau de routage. Un switch L3 fait tres bien l'affaire en general. Sinon (les LB sont OK pour ces 2 criteres), fais-le quand-meme sur les LB.
+1 et aussi certains LB aiment pas voir les connections montantes et descendante en même temps (sauf en cas de DSR).
Dans ce genre de cas on peux aussi avoir des jolis bugs avec des connection TCP longues qui se trouvent en connection reset by peer.
Le mieux reste toujours le routeur.. qui lui sait faire plaisir aux lb, firewall, etc...
Xavier
Le Wed, May 30, 2012 at 10:23:02PM +0200, François JOMIER [f.jomier@gmail.com] a écrit:
Hello FRsAG,
Je suis à la recherche d'info sur la possibilité de faire de l'ECMP sous Linux. A priori, c'est supporté, la commande suivante suffirait à le mettre en place : # ip route add default nexthop via <gw #1> nexthop via <gw #2>
Oui, il y a "juste ça" à faire. Tu peux aussi attribuer un poids ( « weight XX » ), si tes liens ne sont pas égaux.
Il y a juste un truc à faire très attention. Le noyau Linux withdraw les routes "connectées" quand l'interface correspondante est down, ce qui peut donc amener à ce que ta route contenant 2 chemins soient retirées si tu coupes l'une des interfaces. Avec des hooks "ip-up" ou ce genre de trucs, ça peut se gérer autoamtiquement. Mais la première fois, ça surprend :)
Merci pour l'info. Ceci, il n'y aurait qu'une seule interface concernée en l'occurrence (ou plutôt un seul bonding).
François
Le 31 mai 2012 09:28, Dominique Rousseau d.rousseau@nnx.com a écrit :
Le Wed, May 30, 2012 at 10:23:02PM +0200, François JOMIER [ f.jomier@gmail.com] a écrit:
Hello FRsAG,
Je suis à la recherche d'info sur la possibilité de faire de l'ECMP sous Linux. A priori, c'est supporté, la commande suivante suffirait à le mettre en place : # ip route add default nexthop via <gw #1> nexthop via <gw #2>
Oui, il y a "juste ça" à faire. Tu peux aussi attribuer un poids ( « weight XX » ), si tes liens ne sont pas égaux.
Il y a juste un truc à faire très attention. Le noyau Linux withdraw les routes "connectées" quand l'interface correspondante est down, ce qui peut donc amener à ce que ta route contenant 2 chemins soient retirées si tu coupes l'une des interfaces. Avec des hooks "ip-up" ou ce genre de trucs, ça peut se gérer autoamtiquement. Mais la première fois, ça surprend :)
-- Dominique Rousseau Neuronnexion, Prestataire Internet & Intranet 21 rue Frédéric Petit - 80000 Amiens tel: 03 22 71 61 90 - fax: 03 22 71 61 99 - http://www.neuronnexion.coop _______________________________________________ Liste de diffusion du FRsAG http://www.frsag.org/
On Wed, 30 May 2012 22:23:02 +0200, "François JOMIER" f.jomier@gmail.com said:
L'idée étant de répartir la majorité de notre trafic HTTP sortant d'un nombre réduit de proxy-cache sur nos 2 routeurs afin d'équilibrer le trafic sur nos équipements et transits. Bien sûr, on va tester tout ça, mais je voulais savoir si l'un d'entre vous aurait un retour d'expérience sur le sujet ?
Meme si c'est supporte ca ne veut pas dire que c'est une bonne idee de le faire. En regle generale gerer du routage sur les "end-hosts" c'est du "Bad Idea" (c)(tm).
Si tes "default gateway" sont les memes que les equipements qui gerent le transit, et que sur les deux tu as le meme transitaire, ca pourrait marcher, mais bonjour l'usine a gas qui sert a pas grand chose.
Si tes "default gateway" et les equipements qui gerent le transit sont differents, ou que tu utilises 2 transitaires differents, essaye de jouer avec l'IGP et/ou le BGP (selon le cas) pour faire de l'equilibrage.
En regle generale, si ton traffic sortant est assez "divers" (ex.: PAS que des gens de chez Orange), essaye d'equilibrer le traffic sortant via BGP.
Merci à tous pour vos retours ! Je vais creuser la piste d'un routage intermédiaire sur mon switching, qui paraît unanimement être une solution plus propre.
++ François
Le 30 mai 2012 22:23, François JOMIER f.jomier@gmail.com a écrit :
Hello FRsAG,
Je suis à la recherche d'info sur la possibilité de faire de l'ECMP sous Linux. A priori, c'est supporté, la commande suivante suffirait à le mettre en place : # ip route add default nexthop via <gw #1> nexthop via <gw #2> Avec le mot-clé "equalize", on pourrait même faire du per-packet, même si ça me paraît dangereux.
L'idée étant de répartir la majorité de notre trafic HTTP sortant d'un nombre réduit de proxy-cache sur nos 2 routeurs afin d'équilibrer le trafic sur nos équipements et transits. Bien sûr, on va tester tout ça, mais je voulais savoir si l'un d'entre vous aurait un retour d'expérience sur le sujet ?
Merci d'avance pour vos réponses,
++ François