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 .
apt-get install squid3
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
echo 1 > /proc/sys/net/ipv4/ip_forward
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
/etc/init.d/squid3 start
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 %<st %Ss:%Sh
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 deve essere il nostro server proxy, quindi in questo caso 192.168.1.2