Agrégation de liens Internet

Le
Olivier
--047d7b339db16be82904f6fc7f49
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Bonjour,

J'ai un site sur lequel plusieurs (4 ou 6) liens Internet sont actuellement
en place pour offrir de la connectivité à une centaine d'utilisat=
eurs.

Plutôt que répartir "statiquement" les utilisateurs par modem-rou=
teur (20
utilisateurs par routeur), j'envisage de mettre en place un mécanisme
d'agrégation ou de load-balancing.

Avez-vous déjà étudié ou mis en place ce type de servic=
e ?
Quels moyens avez-vous utilisés ?
Quelles suggestions et recommandations ?

Avec mon moteur de recherche, j'ai trouvé que le mécanisme de Tea=
ming,
ajouté à linux 3.3 était une ré-écriture du mÃ=
©canisme de bonding. Est-ce
utilisable vers Internet quand l'ISP fournit de simples box sans mécan=
isme
de routage sophistiqué (BGP, ) ?

Slts

--047d7b339db16be82904f6fc7f49
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir="ltr"><div>Bonjour,<br><br></div><div>J&#39;ai un site sur leque=
l plusieurs (4 ou 6) liens Internet sont actuellement en place pour offrir =
de la connectivité à une centaine d&#39;utilisateurs.<br><br></di=
v><div>Plutôt que répartir &quot;statiquement&quot; les utilisate=
urs par modem-routeur (20 utilisateurs par routeur), j&#39;envisage de mett=
re en place un mécanisme d&#39;agrégation ou de load-balancing.<b=
r>
<br></div><div>Avez-vous déjà étudié ou mis en place ce=
type de service ?<br></div><div>Quels moyens avez-vous utilisés ?<br>=
</div><div>Quelles suggestions et recommandations ?<br><br></div><div>Avec =
mon moteur de recherche, j&#39;ai trouvé que le mécanisme de Team=
ing, ajouté à linux 3.3 était une ré-écriture du m=
écanisme de bonding. Est-ce utilisable vers Internet quand l&#39;ISP f=
ournit de simples box sans mécanisme de routage sophistiqué (BGP,=
) ?<br>
<br></div><div>Slts<br></div></div>

--047d7b339db16be82904f6fc7f49--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: https://lists.debian.org/CAPeT9jhYqWhhSsOgZ3WfBK2tJYoc3CoRQG1j5uj77WfxH34nGQ@mail.gmail.com
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
daniel huhardeaux
Le #26085312
Le 14/04/2014 10:30, Olivier a écrit :
Bonjour,



Bonjour


J'ai un site sur lequel plusieurs (4 ou 6) liens Internet sont
actuellement en place pour offrir de la connectivité à une centaine
d'utilisateurs.

Plutôt que répartir "statiquement" les utilisateurs par modem-routeur
(20 utilisateurs par routeur), j'envisage de mettre en place un
mécanisme d'agrégation ou de load-balancing.

Avez-vous déjà étudié ou mis en place ce type de service ?
Quels moyens avez-vous utilisés ?
Quelles suggestions et recommandations ?

Avec mon moteur de recherche, j'ai trouvé que le mécanisme de Teaming,
ajouté à linux 3.3 était une ré-écriture du mécanisme de bonding.
Est-ce utilisable vers Internet quand l'ISP fournit de simples box
sans mécanisme de routage sophistiqué (BGP, ...) ?



Tu peux faire du bonding ou du load balancing avec iptables

Ex:
http://sygard.no/2012/06/load-balancing-multiple-isp-connections-using-iproute-and-iptables/

--
Daniel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
daniel huhardeaux
Le #26085292
Le 14/04/2014 10:30, Olivier a écrit :
Bonjour,

J'ai un site sur lequel plusieurs (4 ou 6) liens Internet sont
actuellement en place pour offrir de la connectivité à une centaine
d'utilisateurs.

Plutôt que répartir "statiquement" les utilisateurs par modem-routeur
(20 utilisateurs par routeur), j'envisage de mettre en place un
mécanisme d'agrégation ou de load-balancing.

Avez-vous déjà étudié ou mis en place ce type de service ?
Quels moyens avez-vous utilisés ?
Quelles suggestions et recommandations ?

Avec mon moteur de recherche, j'ai trouvé que le mécanisme de Teaming,
ajouté à linux 3.3 était une ré-écriture du mécanisme de bonding.
Est-ce utilisable vers Internet quand l'ISP fournit de simples box
sans mécanisme de routage sophistiqué (BGP, ...) ?



Oubli de ma part: je fais de la répartition par IP source et/ou service
avec iptables + iproute2

--
Daniel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Olivier
Le #26092172
--bcaec547c6238d0d6604f75282c8
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Le 14 avril 2014 10:46, daniel huhardeaux
Le 14/04/2014 10:30, Olivier a écrit :

Bonjour,




Bonjour



J'ai un site sur lequel plusieurs (4 ou 6) liens Internet sont
actuellement en place pour offrir de la connectivité à une cen taine
d'utilisateurs.

Plutôt que répartir "statiquement" les utilisateurs par modem- routeur (20
utilisateurs par routeur), j'envisage de mettre en place un mécanis me
d'agrégation ou de load-balancing.

Avez-vous déjà étudié ou mis en place ce type de ser vice ?
Quels moyens avez-vous utilisés ?
Quelles suggestions et recommandations ?

Avec mon moteur de recherche, j'ai trouvé que le mécanisme de Teaming,
ajouté à linux 3.3 était une ré-écriture du m écanisme de bonding. Est-ce
utilisable vers Internet quand l'ISP fournit de simples box sans mé canisme
de routage sophistiqué (BGP, ...) ?




Tu peux faire du bonding ou du load balancing avec iptables

Ex: http://sygard.no/2012/06/load-balancing-multiple-isp-
connections-using-iproute-and-iptables/




J'ai lu attentivement le lien.
Si j'ai bien compris, la clé de la répartition est la ligne:
ip route add default scope global
nexthop via 10.10.0.1 dev eth0.10 weight 2
nexthop via 10.20.0.1 dev eth0.20 weight 2
nexthop via 192.168.1.1 dev eth0.30 weight 1

C'est intéressant.
Je viens d'essayer ça sur une machine: j'ai l'impression que toutes me s
machines sortent avec la même passerelle vers Internet (testé en lançant un
navigateur sur monip.org).

J'ai simplement utilisé une commande :
ip route replace default scope global nexthop via 192.168.64.254 dev eth0
weight 1 nexthop via 192.168.64.253 dev eth0 weight 1

où mes deux passerelles ont respectivement les adresses 192.168.64.253 et
254.

Il m'est difficile de créer beaucoup de machines mais je peux en crà ©er une
ou deux de plus, si besoin.

Comment démontrer avec certitude que ça marche ou ça ne marc he pas ?
Un conseil ?



--
Daniel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/





--bcaec547c6238d0d6604f75282c8
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Bonjour,<br>
</blockquote>
<br>
Bonjour<div><div class="h5"><br>
<br>
<br>
J&#39;ai un site sur lequel plusieurs (4 ou 6) liens Internet sont actuelle ment en place pour offrir de la connectivité à une centaine d&#39 ;utilisateurs.<br>
<br>
Plutôt que répartir &quot;statiquement&quot; les utilisateurs par modem-routeur (20 utilisateurs par routeur), j&#39;envisage de mettre en p lace un mécanisme d&#39;agrégation ou de load-balancing.<br>
<br>
Avez-vous déjà étudié ou mis en place ce type de servic e ?<br>
Quels moyens avez-vous utilisés ?<br>
Quelles suggestions et recommandations ?<br>
<br>
Avec mon moteur de recherche, j&#39;ai trouvé que le mécanisme de Teaming, ajouté à linux 3.3 était une ré-écriture du mécanisme de bonding. Est-ce utilisable vers Internet quand l&#39; ISP fournit de simples box sans mécanisme de routage sophistiqué (BGP, ...) ?<br>

</blockquote>
<br></div></div>
Tu peux faire du bonding ou du load balancing avec iptables<br>
<br>
Ex: nexthop via 10.10.0.1 dev eth0.10 weight 2 <br>
nexthop via 10.20.0.1 dev eth0.20 weight 2 <br>
nexthop via 192.168.1.1 dev eth0.30 weight 1 Un conseil ? <br>
-- <br>
Daniel<br>
<br>
-- <br>
Lisez la FAQ de la liste avant de poser une question :<br>
<br>
Pour vous DESABONNER, envoyez un message avec comme objet &quot;unsubscribe &quot;<br>
vers En cas de soucis, contactez EN ANGLAIS Archive: <br>
</font></span></blockquote></div><br></div></div>

--bcaec547c6238d0d6604f75282c8--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Pascal Hambourg
Le #26094312
Salut,

Olivier a écrit :

Le 14 avril 2014 10:46, daniel huhardeaux

Tu peux faire du bonding ou du load balancing avec iptables



Non, le bonding ne permet pas d'agréger des liens *internet* mais
seulement des liens *ethernet*.

Si j'ai bien compris, la clé de la répartition est la ligne:
|ip route add default scope global
nexthop via 10.10.0.1 dev eth0.10 weight 2
nexthop via 10.20.0.1 dev eth0.20 weight 2
nexthop via 192.168.1.1 dev eth0.30 weight 1



La répartition par route multipath risque de ne plus être utilisable
avec des liens internet indépendants, le cache de routage ayant été
retiré des versions récentes du noyau Linux.

Explications :
Une route multipath sélectionne un chemin parmi ceux spécifiés, pour un
couple source-destination donné, et le résultat est mémorisé dans le
cache de routage. Ensuite, tous les paquets avec les mêmes adresses
source et destination suivront la même route. Sans cache de routage,
chaque paquet d'un flux source-destination est susceptible d'emprunter
un chemin différent, ce qui peut ne pas fonctionner avec des liens
internet indépendants pour les raisons suivantes :
- si les routeur internet font du NAT, les paquets d'un même flux
sortiront avec des adresses sources différentes, ce qui casse à coup sûr
les connexions TCP ;
- si les routeurs internet ne font pas de NAT mais que c'est
l'équipement répartiteur qui le fait, alors les paquets d'un même flux
sortiront avec la même adresse source sur des liens différents ; or les
FAI qui suivent les bonnes pratiques bloquent les paquets dont l'adresse
source ne correspond pas à la connexion internet.

Reste le routage par marquage avec iptables.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Olivier
Le #26096212
--001a11368daaf5358804f78de179
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Le 20 avril 2014 13:02, Pascal Hambourg
Salut,

Olivier a écrit :
>
> Le 14 avril 2014 10:46, daniel huhardeaux
> >
> Tu peux faire du bonding ou du load balancing avec iptables

Non, le bonding ne permet pas d'agréger des liens *internet* mais
seulement des liens *ethernet*.

> Si j'ai bien compris, la clé de la répartition est la ligne:
> |ip route add default scope global
> nexthop via 10.10.0.1 dev eth0.10 weight 2
> nexthop via 10.20.0.1 dev eth0.20 weight 2
> nexthop via 192.168.1.1 dev eth0.30 weight 1

La répartition par route multipath risque de ne plus être utili sable
avec des liens internet indépendants, le cache de routage ayant à ©té
retiré des versions récentes du noyau Linux.

Explications :
Une route multipath sélectionne un chemin parmi ceux spécifià ©s, pour un
couple source-destination donné,




Ah, bon ?
En testant (très très sommairement), j'avais compris qu'il ne ten ait compte
que de la destination, pas de la source.

Dans l'article en anglais que j'avais cité, l'auteur mentionnait plusi eurs
algorithmes différents pour répartir les requêtes.
Si ma mémoire est bonne, un algorithme tenait compte de la bande passa nte.
Je n'ai pas essayé d'en savoir plus.


et le résultat est mémorisé dans le
cache de routage. Ensuite, tous les paquets avec les mêmes adresses
source et destination suivront la même route. Sans cache de routage,
chaque paquet d'un flux source-destination est susceptible d'emprunter
un chemin différent, ce qui peut ne pas fonctionner avec des liens
internet indépendants pour les raisons suivantes :
- si les routeur internet font du NAT, les paquets d'un même flux
sortiront avec des adresses sources différentes, ce qui casse à coup sûr
les connexions TCP ;
- si les routeurs internet ne font pas de NAT mais que c'est
l'équipement répartiteur qui le fait, alors les paquets d'un m ême flux
sortiront avec la même adresse source sur des liens différents ; or les
FAI qui suivent les bonnes pratiques bloquent les paquets dont l'adresse
source ne correspond pas à la connexion internet.

Reste le routage par marquage avec iptables.




Comment répartir la charge avec le marquage ?



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/





--001a11368daaf5358804f78de179
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<br>
Olivier a écrit :<br>
<div class="">&gt;<br>
&gt; Le 14 avril 2014 10:46, daniel huhardeaux &lt; <div class="">&gt;<br>
&gt;     Tu peux faire du bonding ou du load balancing avec iptab les<br>
<br>
</div>Non, le bonding ne permet pas d&#39;agréger des liens *internet* mais<br>
seulement des liens *ethernet*.<br>
<div class=""><br>
&gt; Si j&#39;ai bien compris, la clé de la répartition est la li gne:<br>
&gt; |ip route add default scope global <br>
&gt; nexthop via 10.10.0.1 dev eth0.10 weight 2 <br>
&gt; nexthop via 10.20.0.1 dev eth0.20 weight 2 <br>
&gt; nexthop via 192.168.1.1 dev eth0.30 weight 1<br>
<br>
</div>La répartition par route multipath risque de ne plus être u tilisable<br>
avec des liens internet indépendants, le cache de routage ayant é té<br>
retiré des versions récentes du noyau Linux.<br>
<br>
Explications :<br>
Une route multipath sélectionne un chemin parmi ceux spécifià ©s, pour un<br>
couple source-destination donné,
cache de routage. Ensuite, tous les paquets avec les mêmes adresses<br >
source et destination suivront la même route. Sans cache de routage,<b r>
chaque paquet d&#39;un flux source-destination est susceptible d&#39;emprun ter<br>
un chemin différent, ce qui peut ne pas fonctionner avec des liens<br>
internet indépendants pour les raisons suivantes :<br>
- si les routeur internet font du NAT, les paquets d&#39;un même flux< br>
sortiront avec des adresses sources différentes, ce qui casse à c oup sûr<br>
les connexions TCP ;<br>
- si les routeurs internet ne font pas de NAT mais que c&#39;est<br>
l&#39;équipement répartiteur qui le fait, alors les paquets d&#39 ;un même flux<br>
sortiront avec la même adresse source sur des liens différents ; or les<br>
FAI qui suivent les bonnes pratiques bloquent les paquets dont l&#39;adress e<br>
source ne correspond pas à la connexion internet.<br>
<br>
Reste le routage par marquage avec iptables.
<div class=""><br>
--<br>
Lisez la FAQ de la liste avant de poser une question :<br>
<br>
Pour vous DESABONNER, envoyez un message avec comme objet &quot;unsubscribe &quot;<br>
vers En cas de soucis, contactez EN ANGLAIS <br>
</blockquote></div><br></div></div>

--001a11368daaf5358804f78de179--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/CAPeT9jiECbW6eLUgKJg4fijXqVMHgkM=
Pascal Hambourg
Le #26097092
Olivier a écrit :
Le 20 avril 2014 13:02, Pascal Hambourg
La répartition par route multipath risque de ne plus être utilisable
avec des liens internet indépendants, le cache de routage ayant été
retiré des versions récentes du noyau Linux.





A partir de la version 3.6.

Explications :
Une route multipath sélectionne un chemin parmi ceux spécifiés, pour un
couple source-destination donné,



Ah, bon ?
En testant (très très sommairement), j'avais compris qu'il ne tenait compte
que de la destination, pas de la source.



La décision de routage, oui (hors routage avancé). Pas le cache de
routage. Ça empêcherait de faire de la répartition lorsque plusieurs
clients font des connexions vers le même serveur. Déjà que ça ne fait
pas de répartition lorsque le même client fait plusieurs connexions au
même serveur...

Démonstration :
# ip route add 172.16.0.0/16 nexthop via 192.168.0.2 nexthop via 192.168.0.3
# ip route get 172.16.0.1 from 10.0.0.2 iif eth1
172.16.0.1 from 10.0.0.2 via 192.168.0.2 dev eth0 src 10.0.0.1
# ip route get 172.16.0.1 from 10.0.0.3 iif eth1
172.16.0.1 from 10.0.0.3 via 192.168.0.3 dev eth0 src 10.0.0.1

Même destination, sources différentes -> passerelle différente.

Dans l'article en anglais que j'avais cité, l'auteur mentionnait plusieurs
algorithmes différents pour répartir les requêtes.
Si ma mémoire est bonne, un algorithme tenait compte de la bande passante.
Je n'ai pas essayé d'en savoir plus.



Quel article ? Le seul article que je vois cité dans ce fil vient de
Daniel, et ne semble pas parler de ça.

Reste le routage par marquage avec iptables.



Comment répartir la charge avec le marquage ?



Grâce à la correspondance "statistic" d'iptables et la cible CONNMARK.
Mais cela n'a qu'une efficacité relative car d'une part on ne peut pas
anticiper quel sera la demande en bande passante d'une connexion et
surtout il n'y pas de moyen de privilégier le lien le moins chargé.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Olivier
Le #26099392
--089e0122f62a827b9604f7b547d4
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Le 22 avril 2014 01:06, Pascal Hambourg


> Dans l'article en anglais que j'avais cité, l'auteur mentionnait
plusieurs
> algorithmes différents pour répartir les requêtes.
> Si ma mémoire est bonne, un algorithme tenait compte de la bande
passante.
> Je n'ai pas essayé d'en savoir plus.

Quel article ? Le seul article que je vois cité dans ce fil vient de
Daniel, et ne semble pas parler de ça.




Celui la (que j'avais inclus dans le massage avec le tag [RESOLU])
[1]
http://www.embeddedlinux.org.cn/linux_net/0596002556/understandlni-CHP-31-S ECT-2.html

Plus précisément, le lien [2]
[2]
http://www.embeddedlinux.org.cn/linux_net/0596002556/understandlni-CHP-31-S ECT-2.html#understandlni-CHP-31-SECT-2.3

--089e0122f62a827b9604f7b547d4
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div class=""><br>
&gt; Dans l&#39;article en anglais que j&#39;avais cité, l&#39;auteur mentionnait plusieurs<br>
&gt; algorithmes différents pour répartir les requêtes.<br>
&gt; Si ma mémoire est bonne, un algorithme tenait compte de la bande passante.<br>
&gt; Je n&#39;ai pas essayé d&#39;en savoir plus.<br>
<br>
</div>Quel article ? Le seul article que je vois cité dans ce fil vien t de<br>
Daniel, et ne semble pas parler de ça.
<br></div><div> </div></div></div></div>

--089e0122f62a827b9604f7b547d4--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/CAPeT9jg0SkWrsr-irucZd-9tpHqD9UA76FnuMt7=0HLJn=
Publicité
Poster une réponse
Anonyme