Documente Academic
Documente Profesional
Documente Cultură
A idéia é a seguinte, fazer o Mikrotik buscar o cache do servidor linux, e o que já estiver em cache não fazer o controle de
banda.
Tem duas maneiras, umas o MK busca o cache do linux e nos log pega o ip do MK, e outra o pega os ips dos clientes. O
segredo ta na hora do nat no MK, e colocar um rota no linux.
No D4 os squid é o 2.6 qual nao possie o patch Zero Penalty Hit (ZPH), vamos ter q compilar o bixinho.
Primeiramente vamos instalar os pacotes p/ nao ter erro na hora da "compilada".
Comandos:
# apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential libselinux1 \
libselinux1-dev debhelper linuxdoc-tools libcap-dev
# cd /usr/src
# apt-get source squid
# apt-get build-dep squid
# wget -c http://zph.bratcheda.org/squid-2.6.STABLE2-ToS_Hit_ToS_Preserve.patch
# cd squid-2.6.5
# patch -p1 < ../squid-2.6.STABLE2-ToS_Hit_ToS_Preserve.patch
# dpkg-buildpackage -rfakeroot -uc -b
# cd ..
# dpkg -i squid*
Feito!
Configurando o squid.conf
Adicione as seguintes linhas no seu conf
page 1 / 5
Remontti | Cache full com Mikrotik + Squid Linux Debian 5
Copyright Rudimar Remontti rudimar@remontti.com.br
http://www.remontti.com.br/blog/archives/86
zph_parent 0
zph_option 136
Ai você poderia ter só uma interface, poderia ligar no MK e dar internet p/ ele e depois devolver p/ o MK. Prefiro com 2
interface mesmo.
E em nosso MK temos a seguinte forma
ether 1 -> internet 192.168.0.200/24
ether 2 -> conexao linux 169.254.0.1/30
ether 3 -> clientes 10.0.0.0/8
visible_hostname www.seusite.com.br
cache_mgr gerentederedes@seusite.com.br
error_directory /usr/share/squid/errors/Portuguese
cache_mem 8 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 50 MB
minimum_object_size 0 KB
cache_swap_low 80
cache_swap_high 85
access_log /var/log/squid/access.log
page 2 / 5
Remontti | Cache full com Mikrotik + Squid Linux Debian 5
Copyright Rudimar Remontti rudimar@remontti.com.br
http://www.remontti.com.br/blog/archives/86
# SEM CACHE
acl NOCACHE url_regex localhost 192.0.0.0/8
no_cache deny NOCACHE
#AQUI VAMOS COLOCAR A CLASSE DOS CLIENTES NO CASO VC QUEIRA PEGAR OS IPS DOS CLIENTES
# OU ENTAO COLOCAMOS O IP DO MK
# CASO PASSE OS IP DOS CLIENTES:
acl mikrotik src 10.0.0.0/255.0.0.0 # USE ESSA!
# BLOQUEIA O RESTO
http_access deny all
Nele coloque:
#!/bin/bash
route add -net 10.0.0.0 netmask 255.0.0.0 gw 169.254.0.1
page 3 / 5
Remontti | Cache full com Mikrotik + Squid Linux Debian 5
Copyright Rudimar Remontti rudimar@remontti.com.br
http://www.remontti.com.br/blog/archives/86
Comandos:
# /etc/init.d/
# update-rc.d inicializar.sh defaults 80
# chmod 755 inicializar.sh
Vamos fazer o direcionamento da porta 80 p/ 3128 não precisa fazer isso no seu firewall do linux. Após vamos marcar os
pacotes aquele o q zph marcou, e depois uma queue dizendo p/ ele libera para o cliente sem o controle da sua queue simples.
Comandos:
/ ip firewall nat
add chain=dstnat src-address=10.0.0.0/8 protocol=tcp dst-port=80 action=dst-nat to-addresses=169.254.0.2 to-ports=3128
\
comment="Direciona para Proxy" disabled=no
Comandos:
/ ip firewall mangle
add chain=postrouting protocol=tcp src-port=3128 tos=48 action=mark-connection new-connection-mark=n-cache
passthrough=yes \
comment="Marca o com e sem TOS" disabled=no
Comandos:
/ queue type
add name="cache" kind=pcq pcq-rate=4800000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000
Comandos:
/ queue tree
add name="CACHE-FULL" parent=global-out packet-mark=Cache-Packet limit-at=0 queue=cache priority=8 max-limit=0 \
burst-limit=0 burst-threshold=0 burst-time=0s disabled=no
E a conectividade social, e o banco do brasil, e o bradesco que não ta funcionando?
ahhhhhhhhhhhh meu Deooos!!!! O q eu faço?
Vamos fazer os ip destes servidores passarem por fora do Proxy, coloque elas antes de todas as regras.
Comandos:
/ ip firewall nat
add chain=dstnat dst-address=200.201.166.0/24 protocol=tcp dst-port=80 action=accept comment="CONECTIVIDADE
SOCIAL" disabled=no
add chain=dstnat dst-address=200.201.173.0/24 protocol=tcp dst-port=80 action=accept comment="" disabled=no
add chain=dstnat dst-address=200.201.174.0/24 protocol=tcp dst-port=80 action=accept comment="" disabled=no
page 4 / 5
Remontti | Cache full com Mikrotik + Squid Linux Debian 5
Copyright Rudimar Remontti rudimar@remontti.com.br
http://www.remontti.com.br/blog/archives/86
Agora quando alguém precisar navegar em um site q não passe pelo proxy, ficou fácil!
Não se esqueça de colocar elas antes de todas as regras.
page 5 / 5