Meu Squid 3

1. Meu Squid 3

Tiago
tiago1

(usa Ubuntu)

Enviado em 13/08/2012 - 09:27h

Olá a todos pessoal,

Reescrevi a minha configuração do servidor Squid, o qual postei algumas coisas a respeito e obtive respostas a respeito disto. Então, gostaria de postar a configuração do arquivo squid.conf pra, quem quiser obviamente, verificar se existe algum erro ou melhoria.
Afinal, estou escrevendo esse Squid sozinho, com a ajuda de livros e aqui também. É sempre importante mais opiniões a respeito e de pessoas mais experientes.
É um proxy normal, não fiz transparente.Segue o arquivo abaixo:

http_port 3128
visible_hostname servidor
error_directory /usr/share/squid3/errors/Portuguese

#Cache feito na memória RAM
cache_mem 64 MB
#Tamanho máximo dos arquivos que serão guardados no cache feito na memória RAM
maximum_object_size_in_memory 64 KB
#Tamanho máximo dos arquivos que serão guardados no cache de disco
maximum_object_size 512 MB
maximum_object_size 0 KB
#Porcentagem de uso que começará a descartar os arquivos mais antigos, até 95%
cache_swap_low 90
cache_swap_high 95
#Diretório dos arquivos do cache, com quantidade de espaço usada em MB, com 16 pastas e 256 subpastas
cache_dir ufs /var/spool/squid3 2048 16 256
#Diretório dos logs de acesso dos usuários da rede
cache_access_log /var/log/squid3/access.log
#Atualização do cache
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

#Regras Gerais
acl all src
acl manager proto cache_object

acl localhost src 127.0.0.1/32
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 563 # https,snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
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 Safe_ports port 1025-65535 # portas altas
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

#Regras de acessos permitidos e bloqueados do Squid 3
#
#
#Libera o acesso a uma lista de sites específicos
acl permitidos url_regex -i "/etc/squid3/permitidos"
http_access allow permitidos
#
#
#Bloqueia o acesso a uma lista de sites específicos
acl bloqueados url_regex -i "/etc/squid3/bloqueados"
http_access deny bloqueados
#
#
#Bloqueia o acesso baseado em palavras proibidas dentro da URL
acl palavrasproibidas dstdom_regex "/etc/squid3/palavrasproibidas"
http_access deny palavrasproibidas
#
#
#Bloqueia o download de arquivos com extensões banidas
acl extenban url_regex -i "/etc/squid3/extenban"
http_access deny extenban
#
#
acl redelocal src 192.168.0.0/24
delay_pools 1
delay_class 1 2
delay_parameters 1 114688/114688 16384/16384
delay_access 1 allow redelocal
http_access allow localhost
http_access allow redelocal
http_access deny all

E aqui vai o meu "rc.local":

# Ativa o compartilhamento da conexão
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
#Não responde a pings provenientes da Internet, evitando ataques casuais
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
#Os próximos 2 comandos protegem contra IP spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
#Os próximos 2 comandos autorizam pacotes provenientes da interface de loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
#Abre a porta 22 usada pelo SSH para conexões externas
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#Bloqueia tentativas de conexão provenientes da Internet
iptables -A INPUT -p tcp --syn -j DROP
exit 0

E o meu arquivo "interfaces":

#Configuração das placas de rede do servidor Squid 3
#Interface de loopback e do modem ADSL
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
#Interface de rede local
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
#Conexão com a Internet
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider

O modem será usado como modo bridge.

Obrigado a quem quiser opinar.

Abraços!


  


2. Então?

Tiago
tiago1

(usa Ubuntu)

Enviado em 15/08/2012 - 14:34h

Então pessoal, alguma sugestão?

Tenho uma pergunta também: tive a ideia de liberar alguns IPs, para que não sofram nenhum restrição de acesso, mas queria que elas passassem pelo Proxy, aproveitando o cache de arquivos do servidor, pra aumentar a velocidade de acesso das páginas de Internet. Que regra eu colocaria? É antes do início das regras do Squid, como por exemplo (está em letras maiúsculas):

http_port 3128
visible_hostname servidor
error_directory /usr/share/squid3/errors/Portuguese

#Cache feito na memória RAM
cache_mem 64 MB
#Tamanho máximo dos arquivos que serão guardados no cache feito na memória RAM
maximum_object_size_in_memory 64 KB
#Tamanho máximo dos arquivos que serão guardados no cache de disco
maximum_object_size 512 MB
maximum_object_size 0 KB
#Porcentagem de uso que começará a descartar os arquivos mais antigos, até 95%
cache_swap_low 90
cache_swap_high 95
#Diretório dos arquivos do cache, com quantidade de espaço usada em MB, com 16 pastas e 256 subpastas
cache_dir ufs /var/spool/squid3 2048 16 256
#Diretório dos logs de acesso dos usuários da rede
cache_access_log /var/log/squid3/access.log
#Atualização do cache
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

#Regras Gerais
acl all src
acl manager proto cache_object

acl localhost src 127.0.0.1/32
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 563 # https,snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
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 Safe_ports port 1025-65535 # portas altas
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

#Regras de acessos permitidos e bloqueados do Squid 3
#
#
#IDEIA PROPOSTA:
#
#IPs LIBERADOS PARA NÃO SOFREREM RESTRIÇÕES, APENAS PASSAREM PELO PROXY:
#
#acl administracao src 192.168.0.X <------ "X" é o IP da máquina que quero liberar pelo proxy.
#http_access allow administracao
#
#
#Libera o acesso a uma lista de sites específicos
acl permitidos url_regex -i "/etc/squid3/permitidos"
http_access allow permitidos
#
#
#Bloqueia o acesso a uma lista de sites específicos
acl bloqueados url_regex -i "/etc/squid3/bloqueados"
http_access deny bloqueados
#
#
#Bloqueia o acesso baseado em palavras proibidas dentro da URL
acl palavrasproibidas dstdom_regex "/etc/squid3/palavrasproibidas"
http_access deny palavrasproibidas
#
#
#Bloqueia o download de arquivos com extensões banidas
acl extenban url_regex -i "/etc/squid3/extenban"
http_access deny extenban
#
#
acl redelocal src 192.168.0.0/24
delay_pools 1
delay_class 1 2
delay_parameters 1 114688/114688 16384/16384
delay_access 1 allow redelocal
http_access allow localhost
http_access allow redelocal
http_access deny all

#######################################################################################################
Ou seja, eu queria que esse IP que coloquei ali, ou uma série de IPs, sejam cacheados no servidor, mas não sofram restrições de acesso. O que acham?

Seria possível também limitar a taxa de downloads desses IPs liberados a um certo valor, mas evitando também que caiam nas regras de restrição de sites?

Obrigado!



3. Re: Meu Squid 3

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/08/2012 - 14:46h

Mude:

cache_dir ufs /var/spool/squid3 2048 16 256 


para:

cache_dir aufs /var/spool/squid3 2048 16 256 


aufs é mais rápido!

Adicione essas duas politicas:

cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF


* Explicação:

heap GDSF : Greedy-Dual Size Frequency
Otimiza o HIT Ratio de objetos mantendo os arquivos menores e populares no cache, para obter uma melhor chance de acontecer um HIT.

heap LFUDA: Least Frequently Used with Dynamic Aging
Procura manter no cache arquivos populares, independente do tamanho otimizando assim o Byte HIT em detrimento do HIT

Vi que você determinou "n" filtros no seu squid. Apesar de ter como fazer filtros de conteúdo no squid, ele não é o mais adequado, você perde muito fazendo filtragem nele. Então... tente deixar ele somente como proxy cache e use um filtro de conteudo associado. Eu uso o dansguardian, mas existem outros, como o squidguard.

Em relação aos ips liberados... No dansguardian tu pode criar grupos com níveis de acesso diferentes. Atualmente tenho 5 grupos. O default que é super limitado, o administrativo que é tudo liberado, o com acesso ao youtube(grupo default com youtube liberado), o do twitter(grupo default com o twitter libera) e o facebook(grupo default com o facebook liberado). E tenho os domínios liberados, são domínios que não precisam de autenticação.




4. Re: Meu Squid 3

Tiago
tiago1

(usa Ubuntu)

Enviado em 15/08/2012 - 15:09h


cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF


* Explicação:

heap GDSF : Greedy-Dual Size Frequency
Otimiza o HIT Ratio de objetos mantendo os arquivos menores e populares no cache, para obter uma melhor chance de acontecer um HIT.

heap LFUDA: Least Frequently Used with Dynamic Aging
Procura manter no cache arquivos populares, independente do tamanho otimizando assim o Byte HIT em detrimento do HIT



Olá amarildosertorio, tu já me ajudou naquela questão do Dansguardian, que levei um tempinho pra aprender!

Pois é, tu já tinha falado de usar o Squid só de cache de arquivos e o Dansguardian pra "acabar com a festa" das turminhas, mas como o computador que possuo no trabalho é um AMD-K6 2, com 188 MD de RAM livre (Os pentes são de maiores capacidades, mas como a placa e a BIOS são antigas, só essa memória é detectada). O Dansguardian roda sobre o Squid, mas não posso "abusar" da capacidade de programas no servidor.



5. Re: Meu Squid 3

Tiago
tiago1

(usa Ubuntu)

Enviado em 15/08/2012 - 15:13h



cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF


* Explicação:

heap GDSF : Greedy-Dual Size Frequency
Otimiza o HIT Ratio de objetos mantendo os arquivos menores e populares no cache, para obter uma melhor chance de acontecer um HIT.

heap LFUDA: Least Frequently Used with Dynamic Aging
Procura manter no cache arquivos populares, independente do tamanho otimizando assim o Byte HIT em detrimento do HIT



Onde exatamente eu coloco essas linhas no squid.conf?



6. Re: Meu Squid 3

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/08/2012 - 15:25h

Coloca acima do cache_dir aufs /var/spool/squid3 2048 16 256

cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
cache_dir aufs /var/spool/squid3 2048 16 256




7. Re: Meu Squid 3

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/08/2012 - 15:30h

tiago1 escreveu:


cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF


* Explicação:

heap GDSF : Greedy-Dual Size Frequency
Otimiza o HIT Ratio de objetos mantendo os arquivos menores e populares no cache, para obter uma melhor chance de acontecer um HIT.

heap LFUDA: Least Frequently Used with Dynamic Aging
Procura manter no cache arquivos populares, independente do tamanho otimizando assim o Byte HIT em detrimento do HIT



Olá amarildosertorio, tu já me ajudou naquela questão do Dansguardian, que levei um tempinho pra aprender!

Pois é, tu já tinha falado de usar o Squid só de cache de arquivos e o Dansguardian pra "acabar com a festa" das turminhas, mas como o computador que possuo no trabalho é um AMD-K6 2, com 188 MD de RAM livre (Os pentes são de maiores capacidades, mas como a placa e a BIOS são antigas, só essa memória é detectada. O Dansguardian roda sobre o Squid, mas não posso "abusar" da capacidade de programas no servidor.



Bem fraquinho heim!!!! Esse lance de montar servidor em maquinas antigas já está bem batida!!! Quantos usuários logam nessa maquina? Recomendo usar uma maquina mais moderna, com hds sata2 de 7200rpm, mais memoria e de preferencia separa o disco do cache do sistema. Eu monto o sistema em ext4 e o disco do proxy em reiserfs. Com essa configuração ai... Tá punk!!! Acho que seu proxy não colabora!



8. Re: Meu Squid 3

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 15/08/2012 - 15:31h

amarildosertorio escreveu:

Coloca acima do cache_dir aufs /var/spool/squid3 2048 16 256

cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
cache_dir aufs /var/spool/squid3 2048 16 256



Recomendo a sugestão do Amarildo se tiver memoria sobrando também aumente o cache_mem 64 MB para no minimo 256 se tiver uns 2GB de RAM pode colocar 512.

Vai guardar mais coisas na memoria que tem uma leitura mais rápida do que o disco.

Outra coisa interessante e fazer o cache do Windows update se tiver muitos micros windows na rede, tem varios exemplos pela net.


9. Re: Meu Squid 3

Tiago
tiago1

(usa Ubuntu)

Enviado em 15/08/2012 - 15:45h

amarildosertorio escreveu:


Bem fraquinho heim!!!! Esse lance de montar servidor em maquinas antigas já está bem batida!!! Quantos usuários logam nessa maquina? Recomendo usar uma maquina mais moderna, com hds sata2 de 7200rpm, mais memoria e de preferencia separa o disco do cache do sistema. Eu monto o sistema em ext4 e o disco do proxy em reiserfs. Com essa configuração ai... Tá punk!!! Acho que seu proxy não colabora!



Pois é Amarildo, infelizmente é bem fraquinho, tem razão. Posso tranquilamente usar meu Pentium 4 de 2GB de memória RAM e HD IDE (SATA não funciona, não consegui descobrir porque) que tenho em casa, mas aqui no serviço só posso contar com o que tenho em mãos, até porque não depende de mim a vinda desses equipamentos... =(

Sim, realmente fiz várias "restrições organizadas", por uma questão de facilidade de gerenciamento, pra não me perder na hora de mexer em algo se for necessário.

Mas é isso Amarildo, obrigado, tentarei aplicar suas dicas, como sempre venho fazendo, em casa de depois no trampo.

Abraços!



10. Re: Meu Squid 3

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/08/2012 - 15:51h

Dica: Não leve trabalho para casa!!! Já já você estará um cara muito estressado! Vai por mim... Já passei por isso. Tento o máximo trampar apenas no trabalho. Em casa fique com sua família e amigos.

Abraço!


11. Re: Meu Squid 3

Tiago
tiago1

(usa Ubuntu)

Enviado em 15/08/2012 - 16:09h

andrecanhadas escreveu:

Outra coisa interessante e fazer o cache do Windows update se tiver muitos micros windows na rede, tem varios exemplos pela net.



Dentro do laboratório, só posso usar o Linux Educacional. Quanto ao Windows Update, não tem stress, são poucas máquinas (1 Windows 7, 3 Windows XP e 1 Windows 98) e as atualizações estão desativadas.

Mas obrigado pela dica! ;)

Abraço!


12. Re: Meu Squid 3

Tiago
tiago1

(usa Ubuntu)

Enviado em 15/08/2012 - 16:13h

amarildosertorio escreveu:


Bem fraquinho heim!!!! Esse lance de montar servidor em maquinas antigas já está bem batida!!! Quantos usuários logam nessa maquina? Recomendo usar uma maquina mais moderna, com hds sata2 de 7200rpm, mais memoria e de preferencia separa o disco do cache do sistema. Eu monto o sistema em ext4 e o disco do proxy em reiserfs. Com essa configuração ai... Tá punk!!! Acho que seu proxy não colabora!


Ah sim, acho que nem o SSH vou poder colocar neste servidor, pra acessá-lo de outro micro, mas tudo bem, me contento com a telinha preta tradicional do Linux, diretamente do servidor.

Valeu de novo aí!



01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts