====== 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