Dopo questo andiamo nella directory /etc/squid,
e modifichiamo il file
squid.conf, nelle seguenti righe:
http_port
di default sta in listening su tutti gli ip della macchina
sulla porta
3128, conviene cambiarlo:
esempio: http_port 192.168.1.1:31336
cache_mem
di default 8 MB, dovete settare questo paramentro ad ¼
della ram totale.
esempio: cache_mem 128 MB
cache_dir ufs
è la directory in cui risiederà la cache,
dovrete specificare la
dimensione massima allocabile.
esempio: cache_dir ufs /var/spool/squid 10000 16 256
|
MB Allocabili sull'HD
acl
Le access list servono a dire a squid, quali sono le porte
sicure su cui
può accedere, quali indirizzi ip accettare ed i metodi
di connessione.
Prendiamo una configurazione minimale che ci fornisce squid
stesso:
acl all src 0.0.0.0/0.0.0.0 (da qualsiasi ip accetta le
connessioni)
acl manager proto cache_object (gestisce la cache)
acl localhost src 127.0.0.1/255.255.255.255 (specifica
l'indirizzo di
locahost come sorgente)
acl to_localhost dst 127.0.0.0/8 (specifica l'indirizzo
di localhost
come destinazione)
acl SSL_ports port 443 563 (porta sicura su cui può
accedere)
acl Safe_ports port 80 # http (porta sicura su cui può
accedere)
acl Safe_ports port 21 # ftp (porta sicura su cui può
accedere)
acl Safe_ports port 443 563 # https, snews (porta sicura
su cui può
accedere)
acl Safe_ports port 70 # gopher (porta sicura su cui può
accedere)
acl Safe_ports port 210 # wais (porta sicura su cui può
accedere)
acl Safe_ports port 1025-65535 # unregistered ports (porta
sicura su cui
può accedere)
acl Safe_ports port 280 # http-mgmt (porta sicura su cui
può accedere)
acl Safe_ports port 488 # gss-http (porta sicura su cui
può accedere)
acl Safe_ports port 591 # filemaker (porta sicura su cui
può accedere)
acl Safe_ports port 777 # multiling http (porta sicura
su cui può accedere)
acl CONNECT method CONNECT (metodo di connessione)
http_access
Serve ad impostare la politica delle access list (deny,
all).
esempio:
http_access allow manager localhost
http_access deny manager
Modificando queste righe di squid e lasciando invariate
(di default) le
altre abbiamo una configurazione minimale di squid, ben
lontana da una
configurazione applicabile ad una lan aziendale e simili,
per una lan
casalinga può andar anche bene se non volete perdere
troppo tempo dietro
a squid.
Bene adesso non ci resta che lanciarlo, con questi due comandi:
[root@main alessio]# squid -z
così crea la cache e si imposta le directory.
[root@main alessio]# /etc/init.d/squid start
Se non ci sono errori abbiamo squid avviato, e quindi abbiamo
fatto la
metà del lavoro :)
Adesso abbiamo due possibilità:
1 Specifichiamo al browser manualmente l'indirizzi
ip del proxy e lo
facciamo navigare attraverso
essso.
2 Configuriamo iptables in modo da avere un Trasparent
Proxy che
forwarda i pacchetti destinati alla porta 80, alla porta
del nostro
proxy server.
Iniziamo:
Per prima cosa dobbiamo assicurarci di avere iptables installato.
Utilizziamo il modulo NAT.
iptables -t nat -A POSTROUTING -i <lan_interface>
-p tcp -s <lan_hosts>
--sport 1024:65535 dport 80 -j REDIRECT --to-port
3128
iptables -A INPUT -i <lan_interface> -p tcp -s <lan_hosts
sport
1024:65535 -d <lan_address>
iptables -A OUTPUT -o <public_interface> -p tcp -s
<public_address>
--sport 1024:65535 --dport 80 -m state --state NEW,ESTABLISHED,RELATED
-j ACCEPT
iptables -A INPUT -i <public_interface> -p tcp --sport
80 -d
<public_address> --dport 1024:65535 -m state --state
NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o <lan_interface> -p tcp -s <lan_address>
--sport 80
--dport 1024:65535 -m state --state ESTABLISHED,RELATED
-j ACCEPT
Così avrete un Trasparent Proxy vero e proprio. Le
rules di iptables
dovranno essere sulla macchina che ha squid ovviamente e
dovrà essere la
macchina gateway per tutta la rete.
Saluti
BlAcKm[S]
|