Languages

User login


Balanceig entre proxys squid-cache amb round robin


La idea és provar el balanceig entre diversos proxys que estan molt propers o directament en un mateix lloc, de manera que, l'usuari tingui configurat el seu navegador apuntant a l'adreça i port d'un dels proxys i les peticions que aquest proxy gestioni pugui encaminar-les directament cap a la seva sortida a Internet o pugui balancejar-les amb la resta de servidors proxys que formin part d'aquest sistema de balanceig.

Així es pot aconseguir incrementar el nivell d'optimització de l'ús de dades disponibles a les catxes dels proxys i repartir la càrrega pels proxys. També s'aconsegueix que si un dels proxys perd la seva connexió a Internet per problemes en l'adsl, no es perd la connectivitat perquè s'obté a través dels altres proxys.

Cal tenir en compte que aquest sistema pot incrementar el trànsit en els enllaços que hi ha entre els proxys i que, per cada cas, caldrà valorar l'efectivitat del sistema i, per tant, si és convenient usar-lo o si cal usar altres tècniques de balanceig que permetin posar pesos als diferents proxys que formen part del sistema. En aquest cas la càrrega entre proxys es reparteix en condicions d'igualtat per a tots ells.

Per activar-ho cal assegurar-nos que les sortides a Internet, les adsl, funcionen correctament i que la connexió entre els proxys és bona.

Els passos a fer són:
- activar-ho al proxy
- permetre les peticions als altres proxys

Activar-ho al proxy:

Al servidor on hi ha l'squid que volem que pugui balancejar entre la seva sortida i la d'altres proxys, editem l'arxiu /etc/squid/squid.conf i afegim:
cache_peer 10.x.x.x parent 3128 3130 no-query round-robin
on 10.x.x.x és l'adreça IP del proxy que també volem que formi part del sistema, s'aconsella fer les proves afegint, al principi, només un proxy i posteriorment afegint-ne més, si cal.

Permetre les peticions als altres proxys:

En el cas de proxys federats, on es demana nom d'usuari i contrasenya per a utilitzar-los, si no modifiquem les regles de l'squid ens trobarem amb peticions repetides de l'autenticació de l'usuari per utilitzar els diferents proxys que formen part del sistema. Però això es resol de forma senzilla només afegint una regla que permeti les peticions entre proxys sense demanar autenticació. A efectes pràctics, l'autenticació de l'usuari només té lloc al primer proxy i aquest pot enviar les peticions als altres.

Per això, al servidor on hi ha l'squid que volem que pugui rebre les peticions del servidor anterior, editem l'arxiu /etc/squid/squid.conf i hi afegim una Access control list (acl):
acl balanceig src 10.y.y.y/255.255.255.224
on 10.y.y.y és el primer proxy

o ho fem amb el Webmin:

El següent pas és definir el permís perquè puguin tenir lloc les peticions entre proxys i que no es demani nom d'usuari en aquest segon proxy, per això, afegim una Proxy restriction:
http_access allow balanceig
tenint en compte que cal posicionar-la per sobre de l'existent que demana l'autenticació dels usuaris per utilitzar el proxy, que ja tenim definida al proxy:
http_access allow usuaris_autenticats

amb el Webmin:

Caldrà que activem els canvis amb un:
/etc/init.d/squid reload

I ho provem, activant el proxy al navegador i visualitzant les peticions als diferents proxys del sistema,

des del proxy primer amb:
tail -f /var/log/squid/access.log | grep ROUND

des del proxy que té peticions del proxy primer amb:
tail -f /var/log/squid/access.log | grep 10.y.y.y

Coses pendents de fer:
- es podria tenir un càlcul sobre el volum i repartiment de les peticions entre proxys
- es podria automatitzar un sistema de seguiment del balanceig per avaluar-ne l'efectivitat

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Crec que es molt interesant

Crec que es molt interesant aquest tema en el meu cas vuldria probar de fer el balanceig amb algun software instal·lat a un pc per gestionar tres xarxes  sabries dirme un bon software gracies un salut!

Balancejant

A veure si ho entenc, el què vols és que des de l'ordinador puguis sortir per tres portes d'Internet. Tinc pendent de provar de muntar un sistema semblant que el que ens proposen a Castelló http://castello.guifi.net/content/balanceo-de-proxy-caches dins d'un WRT54GL amb haproxy.

Uenu a casa tinc tres xarxes

Uenu a casa tinc tres xarxes contractades diferents una de elles guifi llavors tinc les tres xarxes a un acces point. A través de varis portatils em cunectu a la xarxa que més m'interesa. Llavor tinc un pc vell amb tres tarjetes de xarxa i necesitaria un software perque l'ordinador només és dediqui a la gestio i balanceig de les xarxes que actui com a un "servidor"... nse si m'he explicat be gracies espero la teva resposta fins aviat!

mes economic

Crec que seria fero amb una rb750g (de mikrotik)ara no et se explicar com, no tinc tres adsl encara 

 

 En linux pots afegir més

 En linux pots afegir més d'una sortida default donant diferetns pesos a cada un, de manera que quan es van generant peticions noves es valansegen entre les conexions depenent dels pesos. Jo ho vaig fer a casa pero la segona linea (wifi de porahi) no era molt estable i em donava molts problemes quan el kernel decidia utilitzar-la

Fox