Servidor squid
Components de squid
- Directori de l'executable: /usr/sbin/
- Arxiu amb el PID del procés: /var/run/
- Directori de logs (relacionat amb la directiva access_log): /var/log/squid/
- Directori cache (relacionat amb la directiva cache_dir): /var/spool/squid/
- Arxius de configuració: /etc/squid/
- Complements: /usr/lib/squid/
- Script d'arrencada: /etc/init.d/
- Documentació: /usr/share/doc/squid/
Arxiu de configuració
- /etc/squid/squid.conf
Servei squid
- Abans d'arrenca squid, i solament la primera vegada, hi ha que executar l'ordre squid -z per a crear els directoris de la "caché" on s'emmagatzemaran les pàgines.
- Per activar el servei: /etc/rc.d/init.d/squid {start|stop|reload|force-reload|restart}
- Després de fer modificacions en l'arxiu de configuració hem de rellançar el servei.
- També es poden activar les modifcacions, sense necessitat de parar el servei amb l'ordre: squid -k reconfigure.
Directives
- Les directives de configuració estan estructurades en apartats. Es poden veure aquí.
- Una configuració bàsica ha de tenir les següents directive:
- Amb la directiva http_port podem canviar el port.
- Per defecte squid escolta en el port 3128 (aquí podeu consultar la llista dels ports).
- Es pot augmentar la seguretat, vinculant el servei a una IP que solament es pugui accedir des de la LAN. La notació seria IP:PORT.
- Amb la directiva cache_mgr configurarem l'adreça de correu del administrador que apareixerà en els missatges d'error.
- Amb la directiva visible_hostname configurarem el nom de host que es mostra en els missatges d'error.
- Amb la directiva error_directory configurarem l'idioma dels missatges d'error.
Amb la directiva cache_mem establim la quantitat ideal de memòria RAM per als objectes en trànsit, objectes frequentment usats i objectes negativament emmagatzemats en la catxè. De manera predeterminada s'estableixen 8 MB. - És una bona norma assignar N/3 essent N la RAM de l'equip.
Amb la directiva cache_dir establim la grandària que tindrà la catxè de disc dur per a squid. De manera predeterminada s'usa una catxè de 100 MB.
La resta de números (16 i 256) signifiquen que el directori catxè contindrà 16 directoris amb 256 subdirectoris cadascun.
Mentre més gran sigui la catxè, més objectes s'emmagatzemaran i, per tant, s'usarà menys l'ample de banda. - El directori és /var/spool/squid/.
Amb la directiva ftp_user es configura l'accés a un servidor FTP de forma anònima. Squid envia ,en rebre la petició, com a clau d'accés Squid@.
Pot establir-se una adreça de correu especificada com a clau d'acés.
- Amb la directiva dns_nameservers es configuren les adreces IP dels servidors DNS on el proxy realitzarà les consultes de noms
- Amb la directiva cache_effective_user / group es configura que squip i els seus processos associats s'executen com a usuarii grup proxy. Aquest usuari ha de ser el propietari del directori "caché" i el directori de logs.
- Amb la directiva http_port podem canviar el port.
Jerarquia de proxys
- Amb la directiva cache_peer podem fer que el nostre proxy treballi de forma coordinada amb altres proxys.
- Poden haver proxys pares i germans.
- Si establim una jerarquia pare-fill (parent), el pare ha de proporcionar l'objecte sol·licitat tant si està a la "caché" com si no ho està.
- Per a usar un proxy pare, aquest ha de donar-nos permís per usar la seva línia externa i l'arxiu de configuració ha d'indicar cache_peer servidor tipo http_port icp_port [opcions]
- Si establim una jerarquia entre germans (sibling), el proxy germà sols servirà l'objecte si el té a "caché", mai anirà a internet a buscar-lo. Sols és útil en proxys del mateix nivell.
- Un exemple seria cache_peer nombre/IP parent 8080 0
no-query no-digest default on:
- 8080 indica el port HTTP del servidor remot
- 0 indica el port ICP del servidor remot. S'usa quan hi ha diversos pares, per averiguar quin té l'objecte sol·licitat. Si sols hi ha un pare es col·loca 0.
- no-query desactiva la petició de paquets ICP al pare.
- no-digest no es necessari amb un sol pare.
- default squid usarà aquest servidor per a totes les peticions.Archivos de logs
Fitxers de log
- squid genera els següents arxius de log:
- /var/log/squid/access.log que emmagatzema les peticions al proxy. D'aquesta forma es pot conèixer quants usuaris utilitzen el proxy, quines són les pàgines més visitades,.... Manté una entrada per a cada consulta HTTP amb la IP del client, la URL demanada,... Existeixen aplicacions que obtenen informes d'aquest arxiu de logs amb l'anàlisi de dades emmagatzemades.
- S'ha d'indicar amb la directiva cache_access_log /var/log/squid/access.log.
- /var/log/squid/cache.log arxiu d'accessos a la "caché", errors, missatges d'inici.
- S'ha d'indicar amb la directiva cache_log /var/log/squid/cache.log.
- /var/log/squid/store.log fitxer històric. Manté l'estat dels objectes emmagatzemats a la "caché". Pàgines que s'afegeixen, qiue s'eliminen,... La informació no és molt important i es pot desactivar amb cache_store_log none
- S'ha d'indicar amb la directiva cache_store_log /var/log/squid/store.log
- /var/log/squid/access.log que emmagatzema les peticions al proxy. D'aquesta forma es pot conèixer quants usuaris utilitzen el proxy, quines són les pàgines més visitades,.... Manté una entrada per a cada consulta HTTP amb la IP del client, la URL demanada,... Existeixen aplicacions que obtenen informes d'aquest arxiu de logs amb l'anàlisi de dades emmagatzemades.
- En funció del número de peticions que reba el proxy aquestos arxius poden creixer molt i colapsar la partició.
- Es pot configurar de manera que es reinicie cada dia. Si volem guardar els registres dels darrers 7 dies en l'arixu de configuració establirem una rotació de 7 amb el paràmetre logfile_rotate 7.
- Després executarem squid -k rotate.