Eu tenho usado o Squid como um proxy transparente e usando o proxy para filtrar o acesso ao site e como um cache local. A grande vantagem disso é que você pode criar regras com base na expressão regular em todo o URL (ou seja, você pode restringir o acesso a uma parte do site se quiser).
Há um bom tutorial sobre isso na web. Você pode encontrar um howto bem antigo flutuando . Não verifiquei se ainda é preciso o suficiente, mas foi minha referência quando aprendi a configurá-lo. O site do Squid tem uma boa seção sobre como configurar proxies transparentes