En pocas palabras: squid+iptables es tu solucion. Aunque las reglas de iptables a veces son dificiles de dominar, así que tambien te podria recomendar la solucion firestarter+squid.