Squid no Windows

Neste artigo, vou falar sobre como configurar um proxy transparente no Windows Server 2003 usando o squid NT. O Squid NT é uma versão para Windows do Famoso Squid do Linux. Aqui na minha rede local configurei perfeitamento um Proxy Transparente com Squid NT no Windows Server 2003, caso queira fazer o mesmo, siga lendo o artigo.

Para instalar o Squid, siga o tutorial: Squid no Windows

O que é um Proxy Transparente?
Um proxy transparente é um método para obrigar os utilizadores de uma rede a utilizarem o proxy. Além das características de caching dos proxies convencionais, estes podem impor políticas de utilização ou recolher dados estatísticos, entre outras . A transparência é conseguida interceptando o tráfego HTTP (por exemplo) e reencaminhando-o para o proxy mediante a técnica ou variação de port forwarding. Assim, independentemente das configurações explícitas do utilizador, a sua utilização estará sempre condicionada às políticas de utilização da rede. O RFC 3040 define este método como proxy interceptador.

Embora a instalação do Squid NT é fácil, a configuração de proxy transparente no na versão do Squid para Windows é um pouco complicada o Squid NT tem suas limitações. No website do Squid NT, possui a seguinte mensagem: “Proxy Transparente: falta driver de interceptação não-comercial”.

Meu primeiro pensamento foi não há como fazer o encaminhamento de porta ou redirecionar porta no Windows Server da mesma forma que é feito no servidor Linux. No Linux Server você pode usar o comando iptables para fazer port forwarding com o comando como este:

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

Eu estive procurando uma maneira de fazer redirecionamento de porta ou o encaminhamento de porta no Windows Server 2003, estive durante vários dias sobre este assunto, mas não há muita informação sobre este tema. No começo eu estava procurando para fazer o encaminhamento de porta ou redirecionar porta no RRAS (Routing and Remote Access Service), mas não consegue encontrá-lo. Realmente não há o encaminhamento de porta no RRAS, mas não é o que precisamos para fazer proxy transparente.

Depois disso eu comecei a procurar um software fisesse o encaminhamento de porta e encontro o SoftPerfect Bandwidth Manager. Você pode baixar SoftPerfect Bandwidth Manager aqui.

Passo a passo para configurar o proxy transparente usando o SoftPerfect Bandwidth Manager:
Vamos começar instalando o Squid NT, use o meu velho tutorial aqui http://www.inforlogia.com/2010/07/squid-no-windows.html para guiá-lo.

Então você vai precisar modificar o arquivo squid.conf para adicionar a palavras-chave “transparent” após a opção http_port e deve ficar assim:

http_port 3128 transparent

Instale o Softperfect Bandwidth Manager e abra-o, em seguida crie uma Porta Mapeada, aqui você deve definir a porta do Squid no servidor. Vá em Tools -> Port Mapping.

Proxy Transparente no Windows
Softperfect Bandwidth Manager: Criando um Novo Mapeamento de Porta

Clique no botão New para criar um novo mapeamento, preencha como o exemplo abaixo.
Proxy Transparente no Windows
Softperfect Bandwidth Manager: Criando Novo Mapeamento de Porta

Depois de criar um mapeamento de porta, você precisa criar uma nova regra para redirecionar todos os pedidos HTTP para a porta 80 do servidor remoto na porta 3128. Clique em Rules (Regras) -> Add Rule(Adicionar Regra). Na aba Geral preencha os campos com os seguintes valores:
Direction: Both
Transfer Rate Limit: Unlimited
Protocol: TCP and UDP
Apply Rule on Interface: LAN
Proxy Transparente no Windows
Softperfect Bandwidth Manager: Adicionando Nova Regra, Aba Geral

Importante! Você deve selecionar a interface (placa de rede) que está ligada à sua rede local (o que conecta ao servidor os outros computadores cliente, e não o conectado ao modem, etc).

Na guia Source, defina os seguintes valores:
Source Address (Endereço de Origem): Whole IP Range (Faixa de IP), insira as faixas de IP de seus clientes.
Porta de origem: (Any) Qualquer

Proxy Transparente no Windows

Softperfect Bandwidth Manager: Adicionando Nova Regra, Aba Source (Fonte)

Na guia Destination (Destino) defina os seguintes valores:
Destination Address (Endereço de Destino): Any IP Address(Qualquer endereço IP)
Destionation Port: Port List, em seguida, adicione as seguintes portas: 80 (HTTP) e 443 (HTTPS).

Proxy Transparente no Windows
Softperfect Bandwidth Manager: Adicionando Nova Regra, Aba Destination (Destino)

Na aba Advanced marque a Opção Process through the following mapping (Processo através do seguinte mapeamento), dão cheque em “Processo através do seguinte mapeamento” e selecione o mapeamento da porta que você criou antes e clique em OK.

Squid no Windows
Softperfect Bandwidth Manager: Adicionando Nova Regra, Aba Advanced (Avançada)

Pronto, agora todos os pedidos para a porta 80 e 443 serão redirecionados para o Squid NT.

Trechos desse tutorial foram possibilitados, graças ao post do Markus Blog, Squid Transparent Proxy Server on Windows Server 2003.