Squid
Dopo aver installato una distribuzione minimal di CentOS 7 (per il partizionamento seguite le vostre procedure o accettate quanto vi viene proposto di default, considerando che un’operazione del genere potrebbe distruggere quello che è installato sul vostro sistema), procediamo con il primo aggiornamento di sistema, l’installazione di alcuni package che ci serviranno successivamente, la disabilitazione del firewall, la disabilitazione del Security-Enhanced Linux e l’installazione di squid:
# yum -y update # yum -y install lsof net-tools wget bind-utils # systemctl stop firewalld # systemctl disable firewalld # echo "SELINUX=enforcing" > /etc/selinux/config # echo "SELINUXTYPE=targeted" >> /etc/selinux/config # echo "172.28.0.205 cont-filt.anthesia.lan" >> /etc/hosts # systemctl stop postfix # systemctl disable postfix # hostnamectl set-hostname cont-filt.anthesia.lan # yum -y install squid # reboot
Modifichiamo ora la configurazione dello squid (/etc/squid/squid.conf), in maniera tale da accettare solo le richieste provenienti da localhost; impostiamo anche il binding della porta dello squid solo sul localhost
...acl localnet src 10.0.0.0/8 # RFC1918 possible internal network acl localnet src 172.16.0.0/12 # RFC1918 possible internal network acl localnet src 192.168.0.0/16 # RFC1918 possible internal network acl localnet src fc00::/7 # RFC 4193 local private network range acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines....http_access allow localnet...http_port 3128http_port 127.0.0.1:3128
Il binding su localhost viene fatto per evitare che un utente possa puntare direttamente a squid, bypassando i filtri di dansguardian; quello che vogliamo è che solo dansguardian (che gira sullo stesso server) possa effettuare richieste verso squid.
Prima di abilitare il servizio, vorrei approfondire quanta cache deve gestire squid (cioè la direttiva cache_dir); senza andare su casi particolari (caching su FS dedicati), la cache si trova in /var/spool/cache. Occorre dimensionare correttamente la cache tenendo conto:
- non assegnare alla cache di squid tutto lo spazio libero disponibile (squid genera altri file oltre a quelli dedicati alla cache vera e propria), in quanto potrebbe creare problemi (leggi squid potrebbe bloccarsi) nel caso di out-of-disk-space; inoltre non è consigliato per motivi legati alla frammentazione del FS. Solitamente è consigliato lasciare libero almeno il 10% del disco in cui risiede la cache di Squid.
- è possibile aggiungere altra cache, aggiungendo altre direttive cache-dir al file di configurazione
Un altro parametro da considerare è cache_mem, che è la quantità di memoria che squid gestisce per manipolare in memoria :
- In-Transit objects
- Hot Objects
- Negative-Cached objects
Valutate bene anche questi parametri per ottimizzare le performances del vostro Squid.
Passiamo ora ad abilitare ed avviare il servizio:
# systemctl enable squid # systemctl start squid # lsof -i:3128 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME squid 9920 squid 11u IPv4 25800 0t0 TCP localhost:squid (LISTEN)
Il nostro Squid è ora configurato e pronto a ricevere richieste dalla porta 3128 da un altro servizio installato su localhost (Dansguardian o altro).
[table “” not found /]