====== Transparent proxing con squid ======
Autore: **//Fabio Di Matteo//** \\ Ultima revisione: **//23/11/2007//** \\ \\
E' possibile ,grazie a squid, far usare un proxy ai client della nostra rete in maniera trasparente ovvero senza dover andare a configurare browser in giro per i client .
===== Ingredienti =====
* Squid3 (si può fare anche con versioni precedenti)
* Netfilter di linux
===== Installazione di squid =====
apt-get install squid3
===== Configuriamo squid =====
Editiamo ''/etc/squid3/squid.conf'' aggiungendo solo le seguenti regole, facendo attenzione che non si ripetano regole dello stesso tipo perchè in questo caso squid prenderebbe in considerazione solo la prima regola .
ipotizzando che il proxy ed il firewall siano sulla stessa macchina di indirizzo 192.168.1.2
ecco le righe da aggiungere ad '' /etc/squid3/squid.conf ''
#Regola per far navigare la nostra rete
acl ipconsentiti src 192.168.1.0/24
#Abilito la regola precedentemente scritta
http_access allow ipconsentiti
#Abilito il trasparent proxing sul mio sever
http_port 127.0.0.1:3128 transparent
http_port 192.168.1.2:3128 transparent
===== Abilitiamo la condivisione del collegamento ad internet =====
echo 1 > /proc/sys/net/ipv4/ip_forward
===== E adesso il nat =====
Mandiamo tutti i pacchetti destinati alla porta 80 sulla porta di default di squid:
iptables -t nat -A PREROUTING -i eth2 -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
eth2 è la scheda di rete del mio server.
potrebbe essere anche utile consentire il traffico tcp e udp in ingresso sul nostro proxy
iptables -A INPUT -i eth2 -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -i eth2 -p udp --dport 3128 -j ACCEPT
===== Avviamo squid =====
/etc/init.d/squid3 start
===== Analizzare i log =====
Per analizzare i log di squid sarebbe meglio attivare i log in stile web server cercando la
direttiva ''emulate_httpd_log off/on'' e modificandola come segue:
emulate_httpd_log on
Oppure si può intervenire direttamente specificando il formato del log direttamente in ''/etc/squid/squid.conf '' aggiungendo:
logformat squid %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %
Per la leggenda dei tag vi rimando al file ''/etc/squid/squid.conf '' basta cercare "Log" per
trovarla
dopodiche basta un '' tail -f /var/log/squid3/access.log '' per vedere gli ultimi accessi al proxy.
===== Il gateway dei client =====
il gateway dei client deve essere il nostro server proxy, quindi in questo caso 192.168.1.2