dunque, facciamo un esempio

hai una lan composta da 10 client e da un server

ip del server con proxy 192.168.0.250

ip della lan (range fra 192.168.0.1 e 192.168.0.200)

tutte le macchine della lan con impostato come gateway 192.168.0.250

setta a piacere il dns per i client (anche uno pubblico se non ne hai uno in lan)

non impostare nulla per quanto riguarda il proxy sul browser dei client

Sul gateway, che dovrà avere 2 interfacce di rete, una appartenente alla rete della lan, l'altra collegata al router/modem/altroGW

Installato squid, devi creare uno script che rediriga il traffico in dnat con iptables come ti ho scritto sopra, ad es:

iptables -t nat -A POSTROUTING -p tcp -s 192.168.0.0/24 --dport 80 --to-destination localhost:3128

in questo modo fai passare le connessioni su http tramite il proxy.Per la risoluzione del nome però come fai?

hai 2 possibilità, o fai il dnat anche delle richeste per il dns, oppure le lasci passare attraverso il gateway

Se vuoi farle passare, dovrai abilitare anche il masquerading nonchè l'ip_forwarding

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
echo 1 > /proc/sys/net/ip_forward

Se non vuoi abilitare il masquerade (che così ti fa passare le altre connessioni) allora ti conviene metterti un caching dns proprio sul gateway, e redirigere il traffico udp e tcp, per la porta 53, sulla porta 53 del gateway