Sie sind auf Seite 1von 6

SQUID PROXY CACHES

Objetivos
Instalar un Proxy-Cache (SQUID) y comprender su funcionamiento. Se usaran
diversas posiilidades !ue admite este pro"rama como son la restricci#n de accesos a
determinadas U$%&s' crear (erar!u)as de caches y verificar los ficheros de lo".
Proxy-Cache
Un Proxy-Cache es un servidor !ue acelera la nave"aci#n por *e' descar"a de
ficheros por +,P... Utili-a el sistema de .cache/' "uarda las p0"inas m0s visitadas y si
estas se vuelven a pedir no hace falta !ue se acceda al servidor remoto' simplemente el
proxy tiene la p0"ina "uardada en disco y la entre"a. Para su correcto funcionamiento
hay !ue confi"urar el nave"ador para !ue no se conecte .directamente/ a internet' sino
!ue ha"a todas sus peticiones al proxy.
1n confi"uraciones "randes no se usa un 2nico cache' se tienen diversos
servidores corriendo en diversas m0!uinas y si un cache no tiene la p0"ina solicitada se
la pide a otro (normalmente se usa una estructura de 0rol).
,ami3n a veces se coloca uno o varios en la proximidad de un servidor (proxy
inverso) para amorti"uar la car"a de peticiones sore el servidor principal.
Squid
S!uid es un proxy cache para entornos U4I5-%I4U5. Usaremos la versi#n
S!uid67.8.S,9:%17. Se puede conse"uir "ratuitamente de http://squid.nlanr.net
o ftp://squid.nlanr.net (unto con documentaci#n' +9Q...
Para traerlo' se puede usar 4etscape o lynx' pero confi"ur0ndolo para !ue use el proxy
del cesca (proxy.cesca.es puerto 8080) o en 4etscape usar la autoconfi"uraci#n
(preferencias avan-adas de confi"uraci#n); http://www.cesca.es/proxy.pac
De esta manera s#lo se traer0 en realidad una copia para toda la clase (<a ver !ui3n es el
primero=).
Configuracin Bsica
S!uid tiene un fichero .squid.conf/ de confi"uraci#n en el !ue se indica en
!ue puerto escucha' a !ue U$%>s se puede acceder' !u3 tama?o tiene el cache...
Puertos de escucha
S!uid escucha en un puerto (por defecto el 8@7A) al !ue se conectan los
ro*sers para solicitarle p0"inas *e. Para confi"urar este puerto hay !ue indicar el
n2mero de puerto en el fichero .squid.conf/;
http_port 9000
1n este puerto S!uid escucha las peticiones !ue hacen los nave"adores u otros
proxys vecinos. 1xiste otro puerto destinado especificamente a "estionar peticiones de
otros proxys' este es el ICBP' se confi"ura el n2mero de puerto a?adiendo la si"uiente
l)nea al fichero .etc/squid.conf/;
icp_port 10000
Cay !ue tener en cuenta !ue estos puertos de escucha no tienen !ue estar en uso
ni reservados.
Configuracin de la jerarqua de caches
S!uid puede formar parte de una (erar!u)a de caches. Diversos proxys traa(an
con(untamente sirviendo las peticiones de las p0"inas. Un nave"ador solicita siempre
las p0"inas a un s#lo proxy' si este no tiene la p0"ina en la cache hace peticiones a sus
hermanos' !ue si tampoco las tienen las hacen a su6s padre6s... 1stas peticiones se
pueden hacer mediante dos protocolos' el C,,P normal (como si de un nave"ador se
tratase) o uno m0s espec)fico (y li"ero' r0pido; usa UDP); el ICBP. Para especificar
cu0les son los proxys hermanos y cu0l es el padre de un proxy S!uid se a?ade la
si"uiente l)nea al fichero;
hostna m e type port port options
cache_peer parent.foo.net parent 3128 3130 [proxy-only]
1l primer campo indica el IP (o alias) de la m0!uina donde corre el cache' el
se"undo el tipo de cache' pude ser .parent/ (padre) o .silin"/ (hermano)' el tercer y
cuarto campo indican los puertos de escucha de ese proxy (http y icmp respectivamente)
y el 2ltimo diversas opciones (ver etc/squid.conf para mayor informacion).
Si no se !uiere !ue se realicen peticiones ICBP se pone ese puerto a D.
Ej:
cache_peer proxy.cesca.es parent 3128 0
cache_peer pc1.fi.!pc.es silin" 9000 10000
cache_peer pc2.fi.!pc.es silin" 9##9 3130
1l proxy !ue estamos confi"urando tiene como padre a .proxy.cesca.es/ al
!ue le reali-a peticiones C,,P (no ICBP) y tiene dos hermanos .pc1.fib.upc.es/ y
.pc2.fib.upc.es/ a los !ue les hace peticiones C,,P o ICBP indistintamente.
icheros de !og
S!uid "enera E ficheros de lo";
F logs/access.log; 9!u) se "uardan las peticiones !ue se le hacen al proxy'
podemos saer cuanta "ente usa el proxy' !u3 p0"inas son las m0s visitadas...
F logs/cache.log; 9!u) se van "uardanto los errores' mensa(es de inicio...
F
logs/store.log
; 9!u) se va "uardando lo !ue pasa con el cache' !ue p0"inas
(o(etos) se a?aden' cuales se !uitan...
F cache/log; 9!u) se mapean los o(etos (p0"inas "uardadas) al fichero en el !ue
estan "uardadas f)sicamente.
Para confi"urar donde se "eneraran estos ficheros de lo" se utili-an las si"uientes
l)neas del fichero .squid.conf/;
cache_$ir !fs %home_i%!sers%al!mnes%en"%x%xxxxxx%p#%cache 1 2 1#
&Esta l'nea in$ica $(n$e se "!ar$ar) n!estra cache *y el espacio en $isco +!e oc!par),' las
&si"!ientes l'neas in$ican $(n$e se "!ar$ar)n los ficheros $e lo".
cache_access_lo" %home_i%!sers%al!mnes%en"%x%xxxxxx%p#%lo"s%access.lo"
cache_lo" %home_i%!sers%al!mnes%en"%x%xxxxxx%p#%lo"s%cache.lo"
cache_store_lo" %home_i%!sers%al!mnes%en"%x%xxxxxx%p#%lo"s%store.lo"
"e#oria $sada
Para especificar a s!uid !u3 cantidad de memoria dee usar hay !ue a?adir la
si"uiente l)nea al fichero de confi"uraci#n;
cache_mem 1 -.
P%&
S!uid utili-a un fichero para "uardar su propio pid' hay !ue especificarle un directorio;
pi$_filename %home_i%!sers%al!mnes%en"%x%xxxxxx%p#%lo"s%s+!i$.pi$
Controles de 'cceso ('C!)
S!uid es capa- de permitir o dene"ar accesos de nave"adores a ciertas p0"inas' no
permitir !ue los nave"adores les ha"an peticiones de ciertas p0"inas.... Utili-a listas de
control de acceso 9C%;
*++P,'CC-SS
Con este par0metro especificamos !u3 nave"adores (u otros proxys) se podr0n conectar
a nuestro proxy para reali-ar peticiones C,,P;
ej
acl o!rallo/e$hosts src 19#.0.1#0.0%211.211.211.0
acl all src 0.0.0.0%0.0.0.0
http_access allo/ o!rallo/e$hosts
http_access $eny all
Con esta serie de .instrucciones/ se definen primero las listas de control de acceso (acl
2) y se"undo se permite acceso (http_access) a los hosts 196..160.! y lue"o
dene"amos acceso a todos los dem0s. 1s decir s#lo pueden usar nuestro proxy unos
determinados IP.
1sta .instrucci#n/ tami3n se puede usar para dene"ar acceso desde nuestro proxy a
.ciertas/ p0"inas *e. Si no !uisieramos !ue los nave"adores !ue se conectan a nuestro
proxy lo usen para conectarse a esas p0"inas;
acl a$!lt $st$omain .playoy.com .sex.com
acl o!rallo/e$hosts src 19#.0.1#0.0%211.211.211.0
acl all src 0.0.0.0%0.0.0.0
http_access $eny a$!lt
http_access allo/ o!rallo/e$hosts
http_access $eny all
De esta forma nuestro proxy (am0s solicitar0 p0"inas a dominios como
playboy.co"
o
sex.co"
' en su lu"ar mostrar0 un mensa(e de error.
4ota; Cay !ue tener cuidado con el orden' si pusi3ramos primero el .deny all/ las
dem0s l)neas de .http#access/ no tendr)an efecto puesto !ue ya hemos dene"ado a
todo el mundo (en cuanto una re"la enca(a de(ar de mirar). Primero permitimos acceso y
lue"o dene"amos al resto.
%CP,'CC-SS
De manera an0lo"a al puerto C,,P funciona este par0metro' podemos permitir o
dene"ar acceso a proxys vecinos para !ue nos ha"an peticiones ICP.
-jecutando Squid
Creando el es.acio de cache
9ntes de e(ecutar S!uid hay !ue crear el .sistema de ficheros/ de caches' para ello
e(ecutamos
34aa$%in%s+!i$ 5f%home_i%!sers%al!mnes%en"%x%xxxxxx%p#%s+!i$.conf 56
De esta forma se crear0 el directorio $/p6/cache donde se "uardar0n las p0"inas
f)sicas.
Creando el directorio .ara los logs
Cay !ue crear antes el directorio para !ue s!uid "uarde los ficheros de lo";
3c$ 4%p#
3m7$ir lo"s
%niciando y .arando Squid
1xiste un script para iniciali-arlo' hay !ue camiar dos variales del mismo para !ue
funcione correctamente (mirar comentarios en $unCache)
38!n9ache :
Para pararlo;
3 .%in%s+!i$ 57 sh!t$o/n
,ami3n hay !ue matar el script ($unCache)' sino volver0 a e(ecutar S!uid en @D
se"undos.
4ota; Si se produce al"2n error iniciando s!uid se puede consultar el fichero
$/p6/squid.out donde aparecer0n los mensa(es de error.
/0u1 hay que hacer2
@.- Cay !ue confi"urar S!uid para !ue;
a) Solo permita conexiones desde los ro*sers !ue haya en la sala de pr0cticas
) 4o permita !ue esos ro*sers !ue usan S!uid se conecten a
playboy.co"
ni
sex.co"
7.- Cay !ue confi"urar S!uid para !ue pertene-ca a la si"uiente (erar!u)a de
caches;
a) 1l padre ser0 el proxy !ue hay en el C1SC9; proxy.cesca.es (puerto 8008). Solo
se le har0n peticiones C,,P a este proxy (no ICBP).
) ,en"a como hermanos a los proxys de los dem0s alumnos' en clase se especificar0
una pol)tica de puertos para !ue no haya confusiones.
9conse(amos primero montar s!uid con un padre (a) y proarlo' si todos los puntos
funcionan correctamente volver a repetirlos con hermanos ().
8.- Confi"urar el %ynx para !ue use nuestro proxy (hay !ue poner a la variale de
entorno .httpGproxy/ la direcci#n de nuestro proxy).
ej
; seten% http#proxy http://pc12&'6.fib.upc.es:9001/
E.- Comproar el correcto funcionamiento del %ynx y ver !ue no podemos acceder a
www.playboy.co" ni a www.sex.co".
H.- 1studiar los ficheros de lo" para entender su contenido' ver !u3 p0"inas se han
solicitado' !u3 p0"inas est0n "uardadas en el cache... 1studiar !u3 p0"inas dan
()*#+,--' ()*#.,(' ()*#+/+#.,(...
I.- Comproar !ue hemos confi"urado correctamente la (erar!u)a mediante el comando
(01)
/.
1ste comando sirve para ver el camino !ue hace nuestra petici#n por todos los caches
existentes. Si e(ecutamos;
3 telnet pc123456.fib.upc.es 9001 (el nombre y puerto de nuestro cache) | tee temp.txt
TRACE h tt p :!!!. b c.e " u #TT$1.1
#%st: !!!.bc.e"u
*<pretar 2 =eces >ntro,
.
.
.
3 more temp.txt
?ryin" 10@.83.01.110...
9onnecte$ to pc12301#.fi.!pc.es.
Escape character is AB]A.
C??D%1.0 100 >nternal Eer=er Error
Eer=er: Fetscape-Enterprise%3.# ED3
Gate: ?!eH 28 Fo= 2000 11:1#:01 I-?
9ontent-Jen"th: 301
9ontent-?ype: text%html
K-9ache: ->EE from s$.!s.ircache.net
K-9ache-Joo7!p: FLFE from s$.!s.ircache.net:3128
<"e: 0
K-9ache: ->EE from proxy.cesca.es
K-9ache-Joo7!p: FLFE from proxy.cesca.es:8080
K-9ache: ->EE from pc12301#.fi.!pc.es
Droxy-9onnection: 7eep-ali=e
MC?-J3MCE<G3M?>?JE3Eer=er ErrorM%?>?JE3M%CE<G3
M.LGN3MC13Eer=er ErrorM%C13
?his ser=er has enco!ntere$ an internal error /hich pre=ents it from f!lfillin" yo!r re+!est. ?he most li7ely ca!se is a
misconfi"!ration. Dlease as7 the a$ministrator to loo7 for messa"es in the ser=erAs error lo".
Jemos !ue ha intentado uscar en nuestro proxy (pc12&'6.fib.upc.es) despu3s ha
pre"untado al padre (proxy.cesca.es) y lue"o ha se"uido pre"untando al padre del
padre... (sd.us.ircache.net)

Das könnte Ihnen auch gefallen