O ambiente utilizado foi:
Servidor de internet: Debian Etch 4.0.
Servidor de rede: Windows 2003 com Active Directory e usuários já criados.
Nome do servidor Windows: SERVIDOR
Domínio do servidor Windows: INETSOLUTION
IP do servidor
Linux: 192.168.0.1
IP do servidor Windows: 192.168.0.2
Não abordarei a instalação do Linux e do Windows 2000/2003. No Linux, o Squid já deve estar instalado, configurando-se o squid.conf.
1. Editando o arquivo /etc/hosts: acrescente o IP e nome do servidor Windows.
192.168.0.2 SERVIDOR
2. Crie um arquivo chamado
msntauth.conf dentro de /etc/squid/ com o seguinte conteúdo:
server SERVIDOR SERVIDOR INETSOLUTION
allowusers /etc/squid/usuarios/allowusers
Explicando o arquivo:
A primeira linha informa o nome do servidor PDC1 (SERVIDOR), o nome do servidor PDC2 (no nosso caso, como temos somente um PDC, o mesmo nome do PDC1) e o domínio (INETSOLUTION).
A segunda linha (allowusers....) informa os usuários que terão acesso à internet.
Se a linha allowusers for comentada você permitirá acesso de todos à internet, até mesmo usuários não cadastrados no PDC (má idéia).
OBS: Mesmo o Squid autenticando no Windows 2000/2003 é preciso informar os usuários no arquivo allowusers. Caso falte algum usuário, este usuário não terá acesso à internet. Você pode usar esse critério para permitir ou não acesso a um determinado usuário.
3. Vamos criar o diretório /etc/squid/usuarios/ onde ficará o arquivo allowusers.
# mkdir /etc/squid/usuarios
4. Criando e editando o arquivo allowusers:
# touch /etc/squid/usuarios/allowusers
# pico /etc/squid/usuarios/allowusers
Coloquei o usuário inetsolution, já cadastrado no Windows 2000/2003, para que tenha acesso à internet.
5. Configurando o
squid.conf:
# Configurações padrão:
http_port 3128
cache_dir diskd /var/spool/squid 2000 128 512
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
# Autenticação:
auth_param basic program /usr/lib/squid/msnt_auth
auth_param basic children 5
auth_param basic realm Servidor Internet - Inet Solution
auth_param basic credentialsttl 2 minutes
# ACL's
acl redelocal src 192.168.0.0/255.255.255.0
acl autentica proxy_auth REQUIRED
# Antes de http_access deny all, coloque:
http_access allow autentica
http_access allow redelocal
# Nome do servidor proxy
visible_hostname server.inetsolution.com.br
# Mostrar erros no idioma Português
error_directory /usr/share/squid/errors/Portuguese
Pronto! O Squid está configurado.
Inicie-o com o comando:
# /etc/init.d/squid start
Configure o navegador para usar proxy com o IP 192.168.0.1 e porta 3128. Será solicitado o usuário. Coloque seu usuário e senha, lembrando que deve estar cadastrado em /etc/squid/allowusers.
Espero ter ajudado.
Abraço a todos!
Marcelo Vitor
www.inetsolution.com.br