Squid (squid.conf)

Proxy Transparent

Categoria: Networking

Software: Squid

[ Hits: 7.653 ]

Por: Douglas


Este arquivo mostra como fazer para configurar um proxy transparent. Controlando o acesso a internet dos usuários. Decidindo os sites que poderão ou não ser acessados, em qual hora esta permitido ou não acessar a net, proibir palavras, restringir downloads e até mesmo quais máquinas  irão acessar.

Não pode esquecer de que para ele funcionar como proxy tranparent, tem que se adionar as seguintes linhas. Eu coloquei direto no iptables.

OBS: (No meu caso, uso 3 placas de rede)


/usr/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
/usr/sbin/iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j REDIRECT --to-port 3128
/usr/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


# Squid.conf
# Douglas Reis de Oliveira
# 23/01/2004

hierarchy_stoplist cgi-bin ? 
# Porta do squid
http_port 3128
# Memória que será utilizada
cache_mem 32 MB
# valor minimo e maximo para reposição de objetos armazenados
cache_swap_low 90
cache_swap_high 95
# Tamanho máximo que um arquivo pode ser cacheado
maximum_object_size 4096 KB
# Diretório de cache
cache_dir ufs /var/cache/squid 500 16 256
# Local onde serão gerados os Log's do squid
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
error_directory /etc/squid/errors
# Muda o UID/GUD para proxy
cache_effective_user proxy
cache_effective_group proxy


# ACL's 
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443 563
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT

# Acl's com os range de endereços ip's das máquinas da rede
acl rede_adm src 192.168.0.1-192.168.0.50
acl rede_labor01 src 192.168.1.11-192.168.1.41
acl rede_labor02 src 192.168.1.51-192.168.1.81
acl rede_biblioteca src 192.168.1.91-192.168.1.111
acl rede_coord src 192.168.1.121-192.168.1.124
acl rede_reitoria src 192.168.1.142-192.168.1.142
acl libera_ip src 192.168.0.21
#acl proibe_ip src 192.168.0.6
acl inscricao src 192.168.0.8 192.168.0.9

# Restrições para a rede, sites, palavras, downloads, horários
acl proibe_sites dstdomain -i "/etc/squid/listas/sites"
acl permitido dstdomain -i "/etc/squid/listas/permitido"
acl proibe_palavras url_regex -i "/etc/squid/listas/palavras"
acl proibe_downloads urlpath_regex -i "/etc/squid/listas/proibe_downloads"
acl libera_downloads url_regex -i "/etc/squid/listas/libera_downloads"
acl dominio dstdomain -i "/etc/squid/listas/dominio"
acl horario time MTWHF 06:00-23:00 
acl sabado time A 06:00-14:00

# TAG: http_access 
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access allow libera_ip
http_access allow permitido
#http_access deny proibe_ip
http_access deny proibe_downloads !libera_downloads
http_access deny proibe_sites
http_access deny proibe_palavras
http_access allow inscricao dominio
http_access deny inscricao
http_access allow rede_labor01 horario
http_access allow rede_labor01 sabado
http_access allow rede_labor02 horario
http_access allow rede_labor02 sabado
http_access allow rede_biblioteca horario
http_access allow rede_biblioteca sabado
http_access allow rede_coord horario
http_access allow rede_coord sabado
http_access allow rede_reitoria horario
http_access allow rede_reitoria sabado
http_access allow rede_adm horario
http_access allow rede_adm sabado
http_access deny all

# Para utiliza-lo como proxy transparente
icp_access allow all
visible_hostname on
httpd_accel_with_proxy on
httpd_accel_uses_host_header on 
httpd_accel_port 80 
httpd_accel_host virtual
  


Comentários
[1] Comentário enviado por xflavio em 28/04/2007 - 16:26h

Quando ponho as seguintes linhas no meu ele dá erro, vc saberia me responder pq?

httpd_accel_with_proxy on
httpd_accel_uses_host_header on
httpd_accel_port 80
httpd_accel_host virtual

na hora da compilação: ./configure --enable ele pode o Ipfilter e o header será que poderia ser isso.. como posso resolver este problema?

obrigado



Contribuir com comentário

  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts