Primeiro: por favor, note que o Debian 6 "squeeze" está fora do suporte desde 2013, e fora do suporte a longo prazo desde 2016. Usando o Debian 6 para prevenir o acesso à Internet desta forma é muito provável que seja ineficaz, devido a bugs de segurança que permitem que as restrições sejam contornadas, funcionalidade ausente que impossibilita a implementação dos conjuntos de regras solicitados ou ambos. Eu strongmente recomendo que você atualize seu sistema para uma versão Debian suportada, preferencialmente Debian 9 "stretch".
Segundo, combinar proxies autenticados com o modo proxy transparente não funciona tão bem. O problema é que o host final pode também exigir autenticação (por exemplo, porque você está efetuando login em um servidor DAV que requer autenticação em nível HTTP) e, em seguida, seu proxy transparente irá ou não comer credenciais, ou confundir-se com eles.
Em vez disso, o que sugiro é o seguinte:
-
Bloqueie todo o tráfego que não ultrapasse o proxy:
iptables -A FORWARD -i eth2 -o eth0 -p tcp --dport 443 -j REJECT iptables -A FORWARD -i eth2 -o eth0 -p tcp --dport 80 -j REJECT
Isso impede todo o tráfego da Internet que não ultrapasse o proxy.
-
Configure seu servidor DHCP para que ele envie um nome de domínio para os clientes:
subnet 172.16.20.1/29 { (...) option domain-name "example.com"; };
(use seu nome de domínio local, não
example.com
aqui) - Configure seu servidor DNS para que ele saiba o nome do host
wpad.example.com
, que deve apontar para o seu roteador (novamente, substituaexample.com
pelo seu nome de domínio). -
Crie um arquivo wpad.dat e forneça o seguinte conteúdo:
function FindProxyForURL(url, host) { return "PROXY 172.16.20.1:3128"; }
Note que este é um JavaScript simples; Se você quiser usar um proxy diferente dependendo do URL de destino, basta modificar a função.
Em seguida, exiba esse arquivo pelo HTTP no roteador, com o nome "/wpad.dat". Certifique-se de que o tipo MIME para esse arquivo seja
application/x-ns-proxy-autoconfig
ouapplication/x-javascript-config
.
Com isso, os navegadores em sua rede serão configurados automaticamente para usar o proxy (desde que você tenha a opção "Detectar automaticamente as configurações" ativada, quando relevante) e não confundirão seus usuários com relação à autenticação.