- Squid passo a passo
+ Responder ao Tópico
-
Squid passo a passo
Pessoal sou iniciante em linux... estou precissando montar um squid somente para cache... sem nenhuma restrição.
Achei alguma coisa na internet.... tem como algum dar uma olhada e me dizer que estou no caminho certo ?
____________________________________________________________________
#Porta utilizada pelo squid
http_port 3128
#Nome do seu servidor (sem espaços)
visible_hostname nameserver.seudominio.com.br
#Memória utilizada para objetos em trânsito Não mexer
cache_mem 64 MB
#Não altetar as linhas abaixo
maximum_object_size_in_memory 10 MB
maximum_object_size 10 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
#Local onde sera armazenado o cache do squid
#O valor 1000 indica a quantidade em Mb que o cachê do squid #irá utilizar. Como podem ver, criamos 6 partições de cachê com 3Gb cada uma. Você adapta pro tamanho do seu HD.
cache_dir ufs /var/spool/squid/cache1 3000 16 256
cache_dir ufs /var/spool/squid/cache2 3000 16 256
cache_dir ufs /var/spool/squid/cache3 3000 16 256
cache_dir ufs /var/spool/squid/cache4 3000 16 256
cache_dir ufs /var/spool/squid/cache5 3000 16 256
cache_dir ufs /var/spool/squid/cache6 3000 16 256
#Local onde sera guardado os logs do squid
cache_access_log /var/log/squid/access.log
#Converte as mensagens geradas pelo squid par o Português
error_directory /usr/share/squid/errors/Portuguese
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
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 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#Definiremos aqui as regras para bloqueio dos sites pelas #palavras adicionadas no arquivo block.txt
acl blockedsites url_regex -i "/etc/squid/bloqueados/block.txt"
acl unblockedsites url_regex -i "/etc/squid/bloqueados/unblock.txt"
http_access deny blockedsites !unblockedsites
#Aqui você irá definir o IP da sua rede interna
acl redelocal src 192.168.0.0/24
http_access allow redelocal
http_access allow localhost
# Bloqueia navegacao. So libera pra faixa definida na "acl redelocal".
http_access deny all
# Proxy Transparente
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
Vale lembrar que os arquivos block.txt e unblock.txt devem ter conteúdo antes de inicializar o squid. No arquivo block.txt coloque as palavras bloqueadas: sexo, pornô e etc. Já no arquivo unblock.txt você irá adicionar as exceções, como por exemplo sexoesaude.
Vamos agora iniciar o squid, se tudo estiver configurado cerretamente, irá aparecer um OK, após o seguinte comando:
# service squid start
Bom, o proxy está pronto, não esquece de habilitar o squid na inicialização, caso você não saiba como, adicione a seguinte linha no firewall que iremos criar.
#service squid start
Para criarmos o firewall, iremos criar um diretório dentro de etc, chamado firewall, e dentro do mesmo criaremos um arquivo com o mesmo nome.
Dentro do diretório firewall, dê o seguinte comando:
#touch firewall
Agora iremos adicionar os módulos do kernel que deverão ser carregados na inicialização. Esses módulos serão adicionados dentro do arquivo firewall.
Dê um vi firewall e coloque as seguintes linhas:
#! /bin/bash
echo " INICIANDO FIREWALL "
# Ativa modulos
# -
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_REJECT
/sbin/modprobe ipt_MASQUERADE
echo "Carga dos Modulos OK!"
# Zera regras
# -
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -F -t nat
/sbin/iptables -X -t nat
/sbin/iptables -F -t mangle
/sbin/iptables -X -t mangle
echo "Flush das regras OK!"
# Proxy Transparente
# -
# Nessa linha iremos mascarar os pacotes de saída para internet.
/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
# Nessa regra iremos redirecionar todo tráfego da porta 80 da eth0 para a porta 3128 do squid.
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp dport 80 -j REDIRECT to-port 3128
echo "Carga do Proxy Transparente OK!"
Salve o arquivo e dê permissão de execução para o mesmo, com o seguinte comando:
#chmod +x firewall
Agora teremos colocar a chamada a esse arquivo no arquivo rc.local, par ser inicializado junto com o sistema. O arquivo rc.local encontrase em /etc/rc.d/rc.local
Acesse o mesmo (vi rc.local) e coloque a chamada para o firewall:
#/etc/firewall/firewall
__________________________________________________________________
Vou usar o redhat 9.0
e tbm precisso configurar um acesso SSH.
Obrigado....
-
Se você quiser um Squid sem segurança e nenhum bloqueio, simplesmente descomente as linhas da ACL all.
Guia sobre Squid tem o meu, disponível no site www.giboia.org (Na seção de artigos, ainda estou passando pra Underlinux). Ensina bem passo-a-passo.
Abraços!
-
O tutorial do Xstefanox é muito bom. Prá quem está começando é um guia excelente.
Um grande abraço e seja feliz no Squid.
-
opah... deu boa pessoal esta rodando 100% sofri legal mas valeu... pela força...