MikroTik + Squid 2.6 com cache full

Bem pessoal, existem várias e várias perguntas na internet de como fazer para casar o Mikrotik com um servidor cache Linux. Aqui vou descrever uma configuração simples de como implementar este serviço para o pessoal que está começando agora e não tem verba disponível para pagar uma pessoa para fazer tal serviço.

[ Hits: 207.200 ]

Por: Raniel Guimaraes em 19/11/2008


Aplicando o patch e instalando o Squid



Depois de baixar e descompactar o Squid e o patch, entrar no diretório do Squid e aplicar o patch:

# cd squid-2.6.STABLE13
# patch -p1 < ../80_all_squid-2.6.13-gentoo.patch
# patch -p1 < ../81_all_squid-i2d-13_of_void.patch
# patch -p1 < ../90_all_squid-2.6.STABLE13-ToS_Hit_ToS_Preserve.patch

#./configure \
--prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--datadir=/usr/share \
--sysconfdir=/etc \
--localstatedir=/var/lib \
--sysconfdir=/etc/squid \
--libexecdir=/usr/libexec/squid \
--localstatedir=/var \
--datadir=/usr/share/squid \
--enable-auth=basic,digest,ntlm \
--enable-removal-policies=lru,heap \
--enable-ident-lookups \
--enable-useragent-log \
--enable-cache-digests \
--enable-delay-pools \
--enable-referer-log \
--enable-arp-acl \
--with-pthreads \
--with-large-files \
--enable-htcp \
--enable-carp \
--enable-follow-x-forwarded-for \
--disable-snmp \
--enable-ssl \
--enable-storeio=ufs,diskd,coss,aufs,null \
--enable-async-io \
--enable-linux-netfilter

# make
# make install


Criar o usuário para o cache:

# groupadd squid -g 31
# useradd -u 31 squid -g squid -s /bin/false


Criar a pasta pra armazenar as páginas do Squid:

# cd /var/cache
# mkdir squid
# chown squid.squid squid
# chmod 775 squid


Criar os arquivos necessários pra log do Squid:

# cd /var/logs
# touch cache.log


Se decidiu também logar os acessos:

# touch access.log

E assim por diante.

Rodar o "squid -z" para criar o swap directory do Squid, necessário apenas uma vez:

# squid -z

Você deve ver algo como:

2007/07/18 11:38:30| Creating Swap Directories

Iniciar o squid:

# squid -DYC

Para ver se foi iniciado:

# ps aux | squid

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Configuração do Squid (squid.conf)
   3. Aplicando o patch e instalando o Squid
   4. Configurando o mikrotik
Outros artigos deste autor

Instalando o gerenciador de Lan House no Linux

Café com leite, gerenciador de lan house e cyber café

Configurando servidor MikroTik com Hotspot e páginas de aviso (atraso e bloqueio)

Balanceamento de carga com 2 links no MikroTik

Leitura recomendada

Gerando gráficos sem mistérios no MRTG (Debian)

Configuração da placa wireless LinkSys WUSB54G com drivers de Linux

Debmirror: Criando um repositório Debian na rede local

Cluster Beowulf

Configuração de uma impressora Z35 Lexmark usando o CUPS no Slackware 9.1

  
Comentários
[1] Comentário enviado por removido em 19/11/2008 - 12:59h

não sei mais acho que se ele já marca com o tos não precisa marcar com o content, porque um pacote não receber duas marcações assim ele estaria remarcando o que já estar marcado, leva mais tempo e processamento.

[2] Comentário enviado por MR. RG em 19/11/2008 - 16:21h

Veja que os rates são diferentes para cada tipo de marcação. Isto mostra que não se trata do mesmo número de pacotes.

[3] Comentário enviado por leandromoreirati em 20/11/2008 - 09:25h

Essa solução serve pra bloqueio de paginas também ou so fazer cache?

[4] Comentário enviado por removido em 20/11/2008 - 11:57h

Os rates são diferentes porque a marcação com X-CACHE: HIT do SQUID não é tão eficiente quanto a marcação TOS do ZPH, nem todos que são perfeitamente marcados no TOS tambem é marcado com X-CACHE: HIT pelo SQUID, por isso que foi criado o PATCH ZPH por causa dessa deficiencia do SQUID.
Assim o arquivo recebe os dois X-CACHE: HIT e TOS 48, mais o ZPH com certeza marca mais, esse PATCH com certeza é CAMPEÃO.

[5] Comentário enviado por MR. RG em 20/11/2008 - 12:54h

Serve para bloqueio de páginas sim amigo. Neste você pode fazer o que quiser, o squid.conf que coloquei foi apenas de exemplo.

[6] Comentário enviado por remontti em 21/11/2008 - 10:35h

Gostei do tuto, tenho algo parecido mas nao faz cache full, apenas direciono p/ o squid.
Tenho isntaldo o squid 2.6 dos repositorio, é possivel instalar esse pacth, e qual é a vantagem dele?

[7] Comentário enviado por MR. RG em 23/11/2008 - 11:42h

A vantagem é ter uma informação mais precisa do que está no cache (HITS).

[8] Comentário enviado por and_pl em 11/12/2008 - 14:16h

Cara, fiz a config no MK e no Linux as config estão todas de acordo com o Artigo, mas eu não consigo navegar. Tem algum teste que eu possa fazer para encontrar o meu erro?

Versão do MK: 2.9.27
Versão do Squid: 2.6

PS.: O client chega até o Linux só que por algum motivo não da nenhum retorno. Descobri que ele chega até la dando um deny em um determinado site, qdo eu acesso eu recebo a msg do squid falando que o site está bloqueado. Nos sites que estão liberado não recebo msg nenhuma, simplesmente não acessa.

Obrigado!

[9] Comentário enviado por and_pl em 11/12/2008 - 15:25h

Consegui resolver, era burrada minha. Agora estou com outro problema, os acessos estao funcionando está tudo ok!....soq ao tirar um relatorio pelo sarg, todos os acessos do access.log estão em nome do MK, existe algo que possa ser feito para que isso não aconteça?

os ips dos servidores são:
Lnx 192.168.0.1/30 MK 192.168.0.2/30

Todos os acesso ficam em nome do 192.168.0.2 e as regras que estão funcionando sãos as contidas no artigo. Tenho que alterar algo? obrigado!

[10] Comentário enviado por and_pl em 11/12/2008 - 15:51h

Consegui resolver de novo!....no masquerade no mikrotik vc tem q colocar o src.address com o ip do linux....vlw galera!

[11] Comentário enviado por ps_bomfim em 31/12/2008 - 08:18h

Como fazer o cache-full com pppoe limitando a banda dos clientes????

[12] Comentário enviado por animetaldeath em 03/02/2009 - 23:34h

Olá caro colega MR. RG estou tentando fazer o mesmo procedimento do artigo com os seguintes quesitos:

S.O. = Ubuntu 8.04 Desktop
RouterOS = MikroTik 2.9.27
Web-Proxy = Squid 2.6 STABLE18

Seguindo fielmente o que está descrito no artigo, porém somente não aplicando a integração do patch do ZPH pois não sei como insta-lo no Ubuntu 8.04, e não estou tendo sucesso nas tentativas, porem os clientes conseguem acessar o proxy do ubuntu só que retorna com a seguinte mensagem:

ERRO
A URL solicitada não pode ser recuperada

--------------------------------------------------------------------------------

Na tentativa de recuperar a URL: http://www.google.com.br/

O seguinte erro foi encontrado:

Proibido o Acesso.
O controle de acessos impediu sua requisição. Caso você não concorde com isso, por favor, contate seu provedor de serviços, ou o administrador de sistemas.




--------------------------------------------------------------------------------

Generated Wed, 04 Feb 2009 01:29:18 GMT by PROXY (squid/2.6.STABLE18)

E assim não consigo acessar nada, esse é o meu "squid.conf":

http_port 3128 transparent
visible_hostname PROXY

icon_directory /usr/share/squid/icons
error_directory /usr/share/squid/errors/Portuguese

cache_mem 64 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /var/log/squid/access.log
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 21 80 443 563 70 210 280 488 59 777 901 1025-65535
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

acl redelocal src 192.0.0.0/24
http_access allow localhost
http_access allow redelocal
http_access deny all

O que será que pode ser hein amigos?
Estou usando o IP 192.168.0.1/30 no Ubuntu e no MK estou usando o IP 192.168.0.2/30
Se alguém poder me ajudar ficarei grato obrigado! ^^

[13] Comentário enviado por animetaldeath em 03/02/2009 - 23:44h

Pessoal acho que esqueci de colocar para dar acesso ao MK por isso dava acesso negado então inseri estas duas linhas no meu "squid.conf":

http_port 3128 transparent
visible_hostname PROXY

icon_directory /usr/share/squid/icons
error_directory /usr/share/squid/errors/Portuguese

cache_mem 64 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /var/log/squid/access.log
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 21 80 443 563 70 210 280 488 59 777 901 1025-65535
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

acl redelocal src 192.0.0.0/24
->acl mk src 192.168.0.0/30<-
http_access allow localhost
http_access allow redelocal
->http_access allow mk<-
http_access deny all

E agora ao tentar acessar qualquer URL aparece a seguinte mensagem:

ERRO
A URL solicitada não pode ser recuperada

--------------------------------------------------------------------------------

Na tentativa de recuperar a URL: http://www.google.com.br/

O seguinte erro foi encontrado:

Cache incapaz de encaminhar esta requisição neste momento.
Esta requisição não pode ser encaminhada para o servidor ou para qualquer outro cache. A causa mais provável para este erro é:

O administrador do cache não permite que este cache faça conexões diretas para servidores, e
Todos os caches configurados não estão disponíveis.



--------------------------------------------------------------------------------

Generated Wed, 04 Feb 2009 01:39:22 GMT by PROXY (squid/2.6.STABLE18)

Agora empaquei denovo, conto com a ajuda de todos, brigadão!

[14] Comentário enviado por Mr. RG em 08/03/2009 - 10:54h

Para instalar o squid e o patch você tem que ter todas as bibliotecas make para a compilação do squid.
Já o problema de acesso é devido as permissoes, se você tem duas redes, estas duas redes em que estarem nas permissoes do squid.conf.

[15] Comentário enviado por baianonegrao em 08/03/2009 - 21:29h

Boa Noite Mr. RG,

Estou com um pequeno problema nas minhas configurações e não conseguí fazer funcionar como no artigo...Simplesmente não navega.

Softwares utilizados

* MikroTik 2.9.27
* Squid-2.6.STABLE13
* Patch do Zero Penality Hit
* Slackware Linux 12.2

Ip do Slackware: 10.15.15.2/30
Ip do mikrotik: 10.15.15.1/30

Abaixo segue o meu squid.conf:

http_port 3128 transparent
visible_hostname weproxy
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mem 512 MB
maximum_object_size_in_memory 128 KB
maximum_object_size 74 MB
minimum_object_size 2 KB
cache_swap_low 90
cache_swap_high 95
cache_dir aufs /var/cache/squid 20000 16 256
access_log none
cache_store_log none
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
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 to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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 redelocal src 10.15.15.1 # ip do meu server mikrotik ligado em paralelo ao slackware 12.2
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
http_access allow localhost
http_access allow all
icp_access allow all

zph_tos_local 0x30
zph_tos_peer 0
zph_tos_parent off
zph_preserve_miss_tos on

forwarded_for off
error_directory /usr/share/squid/errors/Portuguese
coredump_dir /var/cache/squid
detect_broken_pconn on
pipeline_prefetch on

No mikrotik firewall nat está assim:
/ip firewall nat add chain=dstnat src-address=10.15.15.2 dst-address=10.15.15.2
protocol=tcp dst-port=80 action=accept

/ip firewall nat add chain=dstnat protocol=tcp dst-port=80 action=dst-nat toaddress=
10.15.15.2 to-ports=3128

No mangle está assim:
/ip firewall mangle chain=forward action=mark-connection new-connectionmark=
forward-hits passthrough=yes content=X-Cache: HIT

ip firewall mangle chain=forward action=mark-packet new-packet-mark=cachehits
passthrough=no connection-mark=forward-hits

/ip firewall mangle chain=postrouting action=mark-connection new-connectionmark=
proxy-hits passthrough=yes tos=48

/ip firewall mangle chain=postrouting action=mark-packet new-packetmark=
proxy-squid passthrough=no connection-mark=proxy-hits

No Queue tree está assim:
/queue tree add name="cache_hits" parent=global-out packet-mark=proxy-squid
limit-at=0 queue=default priority=8 max-limit=8000000 burst-limit=0 burstthreshold=
0 burst-time=0s

/queue tree add name="cache" parent=global-out packet-mark=cache-hits
limit-at=0 queue=default priority=8 max-limit=4000000 burst-limit=0 burstthreshold=
0 burst-time=0s

Obs: O mikrotik está sendo cliente pppoe wlan2(link via rádio) e servidor pppoe na bridge cliada eth2 + wlan1. Eth1: 10.15.15.1/30 Ponto a ponto com o slackware

O que devo estar fazendo de errado???

Muito Obrigado,

Baiano Negrão
baianonegrao@hotmail.com

[16] Comentário enviado por Mr. RG em 09/03/2009 - 00:11h

Olá meu caro,
Como está usando pppoe, dê uma olhada nisto aqui:
http://wiki.mikrotik.com/wiki/How_to_use_external_open_source_caching_server

[17] Comentário enviado por georgegomes em 15/03/2009 - 12:25h

gostaria de saber se esse cache full, passa fora do controle de banda?? no mais exelente artigo!!!!

[18] Comentário enviado por georgegomes em 07/04/2009 - 11:44h

olsadf

[19] Comentário enviado por georgegomes em 07/04/2009 - 11:46h

olá amigo gostaria de saber como fazer a configuraçãodo cache full no mikrotik, masa assim uso aqui tudo no linux, gateway proxy tydo, uso o mikrotik só pra controlde de banda em bridge, teria como fazer essa o cache full passar fora do controle de banda ?? se puder me passar ai a configuração!!! fico grato

[20] Comentário enviado por Mr. RG em 07/04/2009 - 19:27h

A configuração tá aí, basta observar que irá achar a solução. Mas vamos lá:

/ ip firewall nat

add chain=dstnat src-address="rede dos clientes" protocol=tcp dst-port=80 action=dst-nat to-addresses="ip do linux" to-ports=3128 comment="Redireciona para o proxy" disabled=no

Mikrotik Versão 2.9.x
/ ip firewall mangle
add chain=postrouting protocol=tcp src-port=3128 tos=48 action=mark-connection new-connection-mark="TOS_Cache2" passthrough=yes comment="Cache Full" disabled=no

add chain=postrouting connection-mark="TOS_Cache2" action=mark-packet new-packet-mark="Cache2_pk" passthrough=no comment="" disabled=no

Mikrotik Versão 3.x
/ ip firewall mangle
add chain=postrouting protocol=tcp src-port=3128 tos=12 action=mark-connection new-connection-mark="TOS_Cache3" passthrough=yes comment="" disabled=no

add chain=postrouting connection-mark="TOS_Cache3" action=mark-packet new-packet-mark="Cache3_pk" passthrough=no comment="" disabled=no



/ queue tree

add name="CACHE-FULL" parent=global-out packet-mark=Cache-Packet limit-at=0 queue="PCQ_Cache" priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no

/ queue type
add name="PCQ_Cache" kind=pcq pcq-rate=4800000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000

A partir disso você vai pesquisando.

[21] Comentário enviado por numlock em 16/04/2009 - 17:25h

Tenho duas duvidas e gostaria que você me informassem onde encontrar as resposta ou respondessem

1. Porque o chain da marcação do tos e diferente do não tos (X-Cache: HIT) ?
2. O que significa esse tos=12 já que no squid a marcação é 0x30 ?

Obrigado.

[22] Comentário enviado por pablitovte em 29/06/2009 - 02:16h

muito bom parabens

[23] Comentário enviado por removido em 23/07/2009 - 08:27h

Raniel estou com um problema...fiz seguindo seu tutorial e pingo para fora tanto do mk quanto do linux e entro no msn mas não navego ent!ao vi que era algo no proxy...quando deixo a acl src all 0.0.0.0/0.0.0.0 em allow aparece a seguinte mensagem:

ERROR

The requested URL could not be retrieved

While trying to retrieve the URL: http://www.gmail.com/
The following error was encountered:

* Unable to forward this request at this time.

This request could not be forwarded to the origin server or to any parent caches. The most likely cause for this error is that:

* The cache administrator does not allow this cache to make direct connections to origin servers, and
* All configured parent caches are currently unreachable.

Your cache administrator is root.
Generated Wed, 22 Jul 2009 16:46:53 GMT by DebianLinux (squid/2.7.STABLE3)


e se adiciono a acl rede interna src "faixa de rede interna clientes mk"

aparece a seguinte mensagem:
ERROR

The requested URL could not be retrieved

While trying to retrieve the URL: http://www.uol.com.br/
The following error was encountered:

* Access Denied. Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.

Your cache administrator is root.

Generated Thu, 23 Jul 2009 11:11:56 GMT by DebianLinux (squid/2.7.STABLE3)

o que pode ser isso?? o que está faltando?

meu squid.conf

#NOME DO SERVIDOR########################### ##########################
visible_hostname DebianLinux
################################### ###################################
#IP+PORTA USADA ################################### #################
http_port 10.111.1.2:3128 transparent
################################### ###################################
icp_port 0
################################### ###################################
#CACHE USADO-METADE DA RAM)############################### ############
cache_mem 1024 MB
################################### ###################################
#Cache Swap############################### ############################
cache_swap_low 80
cache_swap_high 90
################################### ###################################
#OBJECT_SIZE####################### ###################################
maximum_object_size 512 MB
minimum_object_size 0 KB
#tamanho m�ximo dos objetos alocados na mem�ria.
maximum_object_size_in_memory 256 KB
################################### ###################################
#DIRETORIOS DO CACHE MULTIPLOS########################## ##############
cache_dir aufs /var/cachesquid1 5000 128 512
# Resolve um problema com conex�es persistentes que ocorre com certos servidores,
# e que provoca delays em nosso cache.
detect_broken_pconn on

# Provoca um ganho de performance ao usar conex�es Pipeline (requisi��es em
# paralelo)
pipeline_prefetch on
#DNS squid cache
dns_nameservers 10.111.1.2
################################### ##################################
#LOGS############################## ##################################
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log none
################################### #################################
request_body_max_size 0 MB
################################### #################################
#REGRAS GERAIS############################# ######
acl all src 0.0.0.0/0.0.0.0
http_access allow all

acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 4243 563
acl Safe_ports port 80 21 443 563 70 210 1025-65535
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 CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost

#FTP
ftp_passive on
ftp_sanitycheck on

refresh_pattern -i \.(gif|jpg|jpeg|bmp|png|ico)$ 0 99% 432000 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private
refresh_pattern -i \.(css|htm|html|js|jsp|xml)$ 0 99% 432000 override-expire override-lastmod reload-into-ims ignore-reload
refresh_pattern ^http:// 30 40% 20160
refresh_pattern ^ftp:// 30 50% 20160
refresh_pattern ^gopher:// 30 40% 20160
refresh_pattern -i \.swf$ 0 100% 999999 override-expire override-lastmod reload-into-ims ignore-reload
refresh_pattern . 1440 100% 1440 override-expire override-lastmod reload-into-ims ignore-reload
refresh_pattern -i \.flv$ 10080 90% 999999 override-expire ignore-no-cache ignore-private

#ZPH cache FULL
zph_mode tos
zph_local 0×30
zph_parent 0
zph_option 136

miss_access allow all
cache_mgr root
memory_pools on
################################### ##################################
#BLOQUEIA TUDO############################### ########################
#http_access deny all
################################### #################################

[24] Comentário enviado por Mr. RG em 05/08/2009 - 20:57h

Peço desculpas pelas respostas tardias.
Olha meu caro, eu fiz isto sobre um mikrotik 2.9.51(mas vale para todos)
squid 2.6(mas com adaptação da-se para ativar)
e no slackware.
Este erro ocorre porque de suas permissoes, reveja-as.

[25] Comentário enviado por fernandohubner em 03/09/2009 - 11:12h

Olá amigos, tenho uma lan house com 16 computadores 2 links via radio de 128 k cada, uso debian e squid full.
Gostaria de saber se tem algo para melhorar o squid ai vai meu squid.conf, ele esta funcionando, mas queria entender tipo pq q alguns utilizam
zph_local 0×30 e outros zph_local 16? isso faz direferença quanto a velocidade?
e tambem quando faço o download de 1 aquivo de 3 mb por exemplo e vou fazer novamente o download do mesmo aquivo em outra maquina ele nao vem a 100 mb q é a velocidade da rede local, e sim a 400k isso podew ser melhorado?

Obrigado.

#Configurações gerais
http_port 192.168.100.200:3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 512 MB
maximum_object_size_in_memory 512 KB
maximum_object_size 16384 KB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 20000 16 256
cache_log /var/log/squid/cache.log
cache_access_log /var/log/squid/access.log
cache_store_log /var/log/squid/store.log
pid_filename /var/run/squid.pid
visible_hostname ServidorWebCenterHouse
cache_mgr centerhouse@hotmail.com

#======Regras para atualização do cache==============
# Java
#refresh_pattern .class 2880 60% 28800

# Imagens
refresh_pattern .gif 2880 150% 28800 override-expire reload-into-ims
refresh_pattern .jpg 2880 150% 28800 override-expire reload-into-ims
refresh_pattern .jpeg 2880 150% 28800 override-expire reload-into-ims
refresh_pattern .png 2880 150% 28800 override-expire reload-into-ims
refresh_pattern .bmp 2880 150% 28800 override-expire reload-into-ims
refresh_pattern .tif 2880 150% 28800 override-expire reload-into-ims
refresh_pattern .tiff 2880 150% 28800 override-expire reload-into-ims
refresh_pattern .xbm 2880 150% 28800 override-expire reload-into-ims
refresh_pattern .ico 2880 150% 28800 override-expire reload-into-ims

# Animacoes
refresh_pattern .flv 2880 300% 28800 override-expire reload-into-ims ignore-reload
refresh_pattern .mov 2880 80% 28800 override-expire reload-into-ims ignore-reload
refresh_pattern .avi 2880 80% 28800 override-expire reload-into-ims ignore-reload
refresh_pattern .mpg 2880 80% 28800 override-expire reload-into-ims ignore-reload
refresh_pattern .swf 2880 80% 28800 override-expire reload-into-ims ignore-reload

# Audio
refresh_pattern .wav 2880 80% 28800 override-expire reload-into-ims
#refresh_pattern .au 2880 80% 28800 override-expire reload-into-ims
refresh_pattern .mid 2880 150% 28800 override-expire reload-into-ims
refresh_pattern .mp3 2880 80% 28800 override-expire reload-into-ims


# Arquivos comprimidos
refresh_pattern .zip 2880 80% 28800 override-expire reload-into-ims
refresh_pattern .gz 2880 80% 28800 override-expire reload-into-ims
refresh_pattern .arj 2880 80% 28800 override-expire reload-into-ims
refresh_pattern .rar 2880 80% 28800 override-expire reload-into-ims

# Documentos
#refresh_pattern .pdf 2880 60% 28800
#refresh_pattern .rtf 2880 60% 28800
#refresh_pattern .doc 2880 60% 28800
#refresh_pattern .wp 2880 60% 28800
#-refresh_pattern .wp5 2880 60% 28800
#-refresh_pattern .ps 2880 60% 28800
#-refresh_pattern .prn 2880 60% 28800
refresh_pattern .asp 2880 60% 28800
refresh_pattern .aspx 2880 60% 28800
refresh_pattern .php 2880 60% 28800
refresh_pattern .php3 2880 60% 28800
#refresh_pattern .srf 2880 60% 28800

#Executaveis
refresh_pattern .exe 2880 150% 28800 override-expire reload-into-ims

#Diversos
refresh_pattern .xml 2880 60% 28800 reload-into-ims
refresh_pattern .html 60 90% 10080 reload-into-ims
refresh_pattern .js 60 150% 10080 reload-into-ims
refresh_pattern .ashx 60 90% 10080 reload-into-ims
refresh_pattern .dll 60 90% 10080 reload-into-ims

#Microsoft Windows update/Downloads
refresh_pattern windowsupdate.com/.*\.(cab|exe) 4320 150% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe) 4320 150% 43200

#Windows
refresh_pattern microsoft 1080 150% 10080 override-lastmod
refresh_pattern windowsupdate 1080 150% 10080 override-lastmod
refresh_pattern msn\.com 4320 150% 10080 override-lastmod
refresh_pattern ^http://.*\.doubleclick\.net 10080 300% 40320 override-lastmod

#CLARO
refresh_pattern claro\.com\.br 4320 300% 10080 override-lastmod
#refresh_pattern lajinhaonline\.com 4320 300% 10080 override-lastmod

#o que nao estiver acima cai neste
refresh_pattern ^ftp: 15 20% 10280
#1440 20% 10080
refresh_pattern ^gopher: 15 0% 2280
#1440 0% 1440
refresh_pattern . 0 20% 2280
#original 0 20% 2280 . 0 20% 4320

#========Configurações de Portas =================
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
http_access allow localhost

#========Inicia o controle de conteudo==================
#acl domin_liberado url_regex -i "/etc/squid/domin_liberado"
#http_access allow domin_liberado
#acl cont_proibido url_regex -i "/etc/squid/cont_proibido"
#http_access deny cont_proibido
#acl domin_proibido url_regex -i "/etc/squid/domin_proibido"
#http_access deny domin_proibido
#acl domin_naoencontra url_regex -i "/etc/squid/domin_naoencontra"
#http_access deny domin_naoencontra

######### RESTRIÇÃO POR HORÁRIOS NO (ADMINISTRADOR TIMER CAFE)
#acl net_local src 192.168.100.100
#acl sites_liberados url_regex -i "/etc/squid/sites_servidor"
#acl horario_bloqueado time MTWHF 09:00-11:00 13:00-17:59 18:31-21:00
#acl horario_liberado time MTWHF 00:00-08:30 11:01-12:59 18:00-18:30 21:01-23:59
#http_access allow net_local sites_liberados horario_bloqueado
#http_access allow net_local horario_liberado
#http_access allow net_local sites_liberados h_tarde


#=========configuração da rede======================
acl pc_link1 src "/etc/squid/pc_link1"
acl pc_link2 src "/etc/squid/pc_link2"
tcp_outgoing_address 192.168.201.199 pc_link1
tcp_outgoing_address 192.168.200.199 pc_link2
http_access allow pc_link1
http_access allow pc_link2
http_access deny all

icp_access allow all

zph_tos_local 16 #valor do tos necessário para o cache funcionar a toda velocidade.
zph_tos_parent off
#forwarded_for off

error_directory /usr/share/squid/errors/Portuguese


###########Paginas de erros personalizadas################
#deny_info domnaoencontra.html domin_naoencontra
#deny_info conteudoproibito.html cont_proibido
#deny_info conteudoproibito.html domin_proibido
#===========================================

[26] Comentário enviado por viscardo em 07/07/2010 - 17:08h

Amigo poderia me ajudar a fazer isso com 2 servidores linux, sem mikrotik no caso... ?

[27] Comentário enviado por darkorion em 14/08/2010 - 19:04h

quero saber se é possivel usar assim:

Link => Mikrotik + squid interno = pc ubuntu + squid (podendo ser ligado e desligado a qualquer momento sem interferir no mikrotik squid)
Link => Mikrotik + squid interno = clientes cabo
Link => Mikrotik + squid interno = clientes wireless

uso mk 3.30, pc ubuntu + squid no vbox, o que eu não quero é ter q montar outro pc só pra fazer o squid cache, e no meu caso eu preciso desligar o meu pc as vezes ou reiniciar...


[28] Comentário enviado por basketmrcunha em 30/09/2010 - 22:08h

gostaria que alguem configura-se o mikrotik email basketmrcunha@hotmail.com

[29] Comentário enviado por viniartes em 21/02/2012 - 01:57h

Mr. RG parabéns pelo artigo tenho uma solução funcionando bem parecida com essa, mas estou com um problema, todos os acessos feitos são atribuídos a rede entre o MK e o Linux, exemplo tenho uma rede 192.168.30.0/24 denominada rede local funcionando com servidor DHCP e Hotspot no mikrotik onde os clientes dessa rede são 192.168.30.100...etc e toda vezes que esses clientes acessam a internet não tenho no log de acesso o ip deles e sim do mikrotik, poderia me ajudar lembrando que está funcionando em cache-full segue as informações.

Internet 192.168.2.0/24 proxy 192.168.50.0/30 Rede local 192.168.30.0/24

rede proxy Ip MK 192.168.50.1/30 e Ip Linux 192.168.50.2/30 e Rede Local 192.168.30.254/24

Agradeço se alguém puder me ajudar.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts