Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 06/11/2010, à 12:43

frstanislas

Squid - Répartir la charge entre 2 lignes ADSL (Load balancing...)

Bonjour,
Nous utilisons comme serveur proxy Squid 3.1.3 sur Ubuntu Lucid.
Nous avons un routeur-modem ADSL Linksys, et une ligne ADSL 512K (on ne peut pas avoir plus dans notre bled pommé...).
Par contre, nous allons disposer d'une deuxième ligne ADSL 512, et nous avons déjà un 2ème routeur-modem (non utilisé) identique au premier.

Comment faire pour que Squid répartisse la charge web entre les 2 routeurs (c'est à dire entre les 2 lignes ADSL) ?

Merci beaucoup. smile

Hors ligne

#2 Le 06/11/2010, à 21:36

ddmdllt

Re : Squid - Répartir la charge entre 2 lignes ADSL (Load balancing...)

Bonjour,

Je ne suis pas un expert en squid, mais quelques questions sur le besoin qui à mon avis pourront aider ceux qui répondront après :
* S'agit-il bien d'utiliser squid pour répartir la charge des visites de sites web par ceux de la maison et non d'essayer d'avoir un serveur web chez soi ?
* Des solutions basées sur un routeur modifié (ex: Linksys WRT54G) ont-elles été envisagées ? Des fois ça peut être intéressant de le faire autrement que par un proxy ? (En plus ça peut permettre d'avoir une solution qui marche avec d'autres protocoles)
* Y a t-il un serveur dédié ou virtuel ailleurs pour reconstituer le tout et faire que les requêtes proviennent de la même IP ? Si ce n'est pas le cas, il se peut que certains sites posent problème et n'admettent pas qu'une session reste valide avec 50% des requêtes avec une première IP et 50% avec une autre...

Bon courage wink


David (Site web (fr) - Home page (en) - weblog)
Membre de Chtinux (Linux et Logiciel Libre sur Lille)
[url=http://[Merci de relire les règles]/adapril]Protégez le Logiciel Libre - Adhérez à l'April[/url]

Hors ligne

#3 Le 06/11/2010, à 21:43

chopinhauer

Re : Squid - Répartir la charge entre 2 lignes ADSL (Load balancing...)

Au lieu de se limiter au serveur Squid, vaut mieux repartir la charge de tout le trafic vers l'extérieur. Dans ce cas je suppose que vous avez une machine qui puisse concentrer le trafic des deux lignes et que les deux modems Linksys sont en mode bridge.

Si les deux lignes sont auprès du même FAI, le mieux serait de lui demander comment configurer une seule ligne virtuelle avec la somme de la bande passante. Dans ce cas les paquets IP seront uniformément distribués sur les deux lignes et le réseau va rassembler à la figure du chapitre "Load sharing over multiple interfaces" de LARTC HOWTO. Cependant on peut le faire seulement avec la collaboration du FAI.

Une alternative est d'utiliser des règles de routage pour partager les connexions entre les deux lignes. Regardez le chapitre Routing for multiple uplinks/providers pour un tutoriel. Ce partage ne sera pas parfait, car pour pour chaque IP externe la route à utiliser sera fixée (au moins tant que le cache n'expire pas). Du coup une seule ligne sera utilisée pour chaque site.


Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.

Hors ligne

#4 Le 06/11/2010, à 21:51

ddmdllt

Re : Squid - Répartir la charge entre 2 lignes ADSL (Load balancing...)

chopinhauer a écrit :

Du coup une seule ligne sera utilisée pour chaque site.

Quand chaque site se limite à une seule IP.

Avec des technologies de type serveur gérant un Single Sign On avec un autre domaine et une autre IP que les sites visités au final, ça peut se compliquer... (Enfin au moins en théorie, après ça peut valoir le coup d'utiliser quand même un système imparfait...)


David (Site web (fr) - Home page (en) - weblog)
Membre de Chtinux (Linux et Logiciel Libre sur Lille)
[url=http://[Merci de relire les règles]/adapril]Protégez le Logiciel Libre - Adhérez à l'April[/url]

Hors ligne

#5 Le 06/11/2010, à 22:25

chopinhauer

Re : Squid - Répartir la charge entre 2 lignes ADSL (Load balancing...)

ddmdllt a écrit :
chopinhauer a écrit :

Du coup une seule ligne sera utilisée pour chaque site.

Quand chaque site se limite à une seule IP.

Oui, cela est vrai. Mais pour les site qui font du round robin sur leur entrées DNS il y a aussi la question du cache DNS qui va entrer en jeu (et va utiliser le même IP pendant un moment). D'autre sites qui utilisent des IP différents pour des sous-domaines différentes (genre ubuntu-fr.org) vont se comporter mieux.

Il y a aussi la possibilité d'enrichir la configuration avec des règles iptables et la cible ROUTE (qui nécessite un patch à iptables) pour alterner les deux lignes connexion par connexion.


Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.

Hors ligne

#6 Le 07/11/2010, à 09:58

frstanislas

Re : Squid - Répartir la charge entre 2 lignes ADSL (Load balancing...)

Bonjour.
Merci à vous pour ces pistes: je vais creuser la question à partir de là...
Mais je ne pensais pas que ce soit si compliqué.
J'aurais aimé un truc simple, car je ne connais pas Ubuntu à fond : les règles iptables, je ne connais pas trop, trop... sad

Est-ce que, par exemple, Balance, ça ne pourrait pas faire ?
"balance 3.42 –  A simple TCP proxy with load balancing and failover mechanisms.
Balance is a simple, generic "userland" TCP proxy, which allows simple round-robin load balancing and
graceful failover between several destination servers.
Balance is available at http://balance.sourceforge.net."

Merci beaucoup pour votre aide à tous. smile

Hors ligne

#7 Le 07/11/2010, à 11:56

chopinhauer

Re : Squid - Répartir la charge entre 2 lignes ADSL (Load balancing...)

frstanislas a écrit :

Mais je ne pensais pas que ce soit si compliqué.

Ce n'est pas si compliqué, la discussion est plutôt si vous aller avoir un partage parfait 50/50 ou il va dévier vers un 60/40 parfois.

Par contre votre connexion ne sera pas habituelle, vous allez avoir deux passerelles vers Internet au lieu de une seule et les machines du réseau doivent savoir quelle utiliser, donc il faut s'attendre à une configuration plus compliquée peut-être même entièrement manuelle. Les modems/passerelle Linksys que vous aurez ne sont probablement pas conçus pour ce genre de situation.

Il vous faut soit configurer une machine pour faire de routeur au réseau entier (si j'ai bien compris vous en avez déjà une à cette effet), soit acheter un équipement dédié, mais ce n'est pas donné et de toute manière il s'agit juste d'une petite machine qui tourne sous Linux.

La machine qui sert de routeur devrait idéalement avoir 3 interfaces réseau, ce qui ne devrait pas être un problème vu que les cartes Ethernet 100 ont des prix ridicules de ces jours. Après il suffit de mettre 7 règles de routage.

J'imagine que la complexité est le manque d'une petite introduction au routage Internet. Pour l'acquérir il vous suffit de lire la page Modèle OSI de Wikipédia et l'initiation aux réseaux sur CommentÇaMarche (le chapitre systèmes d'interconnexion vous expliquera le différents termes comme routeur/passerelle, etc.).

Votre installation sera composée de 3 réseaux de couche OSI 2 attachés au routeur A : votre réseau local et deux réseaux de votre FAI auxquels A sera connecté via câble ethernet-modem ADSL en modalité pont-ligne téléphonique (que vous pouvez considérer comme si c'était juste un câble ethernet). Après il suffit de dire au routeur de choisir le réseau vers lequel envoyer les requêtes de manière aléatoire, mais de bien utiliser la même ligne pour chaque connexion (sinon les correspondant qui voit des paquets arriver de deux adresses différentes ne comprend rien).

frstanislas a écrit :

Est-ce que, par exemple, Balance, ça ne pourrait pas faire ?

Cela permet de repartir la charge entre deux serveurs, votre problème est de repartir le traffic client entre deux lignes. En gros c'est le problème inverse.


Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.

Hors ligne

#8 Le 07/11/2010, à 20:09

frstanislas

Re : Squid - Répartir la charge entre 2 lignes ADSL (Load balancing...)

Merci pour cette réponse : effectivement je ne suis vraiment pas à l'aise dans les routages, réseaux, ponts... Il va falloir que je bouquine un peu tout ça. Merci pour les liens.

Par contre, est-ce que je ne pourrais pas résoudre mon problème avec balance ? Je peux installer sans problème un second serveur squid sur un deuxième poste Ubuntu. Je peux mettre sur le 1er serveur, comme passerelle, l'adresse IP du 1er routeur ASDL. Et sur le 2nd serveur l'adresse IP du 2ème routeur. Si j'installe balance sur le 1er serveur, est-ce qu'il pourra répartir la charge entre les deux serveurs, et donc entre les deux routeurs, et donc entre les deux lignes ADSL ?
Bon, d'accord, ça fait deux serveur à gérer, mais ce n'est pas bien compliqué...
Qu'en pensez-vous ?

Hors ligne

#9 Le 07/11/2010, à 21:37

chopinhauer

Re : Squid - Répartir la charge entre 2 lignes ADSL (Load balancing...)

C'est tout à fait possible, mais personnellement j'opterais pour une solution basée sur le routage.

La solution avec le routage vous permet de profiter des deux lignes pour toute utilisation de Internet, pas seulement celle du Web. En plus en ayant un serveur Squid unique le bénéfice du à son cache sera plus grand : avec balance si un client demande une page à un serveur, celui pourrait devoir la télécharger, même si elle est dans le cache de l'autre serveur.

Mais la meilleure solution reste pour moi demander au FAI de configurer les deux lignes comme une seule ligne virtuelle de leur côté, comme cela vous pourriez profiter de la connexion jusqu'au dernier kbit/s.


Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.

Hors ligne

#10 Le 08/11/2010, à 00:06

toutafai

Re : Squid - Répartir la charge entre 2 lignes ADSL (Load balancing...)

bonsoir,

un coup d'oeil sur ce post (les tutos proposer en lien) pourrais te donner des pistes...

http://forum.ubuntu-fr.org/viewtopic.ph … 5#p3836925


Tombé dans l'informatique étant petit, j'en ai fait mon métier. Utilisateur d'Ubuntu depuis novembre 2006, actuellement sous 20.04 x64 (Que d'évolution
depuis Dapper Drake ! Ça rajeunit pas ^^^).

Hors ligne

#11 Le 08/11/2010, à 08:39

frstanislas

Re : Squid - Répartir la charge entre 2 lignes ADSL (Load balancing...)

Merci.
Avec tout ça, je vais bien finir par trouver la bonne solution.
Mais il faut d'abord que je me forme un peu sur les ip routes, ip rules, ifconfig, bond et autres bêtes de ce genre, car c'est tout emmêlé dans mon petit cerveau...
Je vais creuser.

Hors ligne

#12 Le 14/10/2011, à 10:43

mitru

Re : Squid - Répartir la charge entre 2 lignes ADSL (Load balancing...)

Je ré-ouvre le sujet parce que ça pourrait intéresser d'autres personnes (j'espère que frstanislas
a trouvé une solution depuis lors).

J'avais utilisé pfSense il y a quelques années pour du multiWAN. C'est basé sur FreeBSD, ça tourne bien et il y a une interface graphique accessible via http pour tout configurer donc ça reste relativement simple à mettre en oeuvre.

Hors ligne