Bem
já faz um tempo que venho querendo postar um artigo aqui no blog,
porém, o tempo tá curto e como não sou muito bom de didática,
acabo sempre enrolando, mas enfim sobrou um tempinho e resolvi
escrever algo que alguns amigos que lidam com pequenos provedores me
perguntão e que também já utilizei. Trata-se de um cache full
entre o Debian e o Mikrotik.
A idéia é a seguinte, fazer o Mikrotik buscar no cache do servidor Debian, e o que já estiver em cache não fazer o controle de banda. Para isso utilizaremos o ZPH (Zero Penalty Hit) que é um recurso do squid que permite a marcação de pacotes originados de algo que está em cache. Ele é usado principalmente em sistemas onde há controle de banda. Quando você faz a limitação de tráfego no servidor, os objetos que estiverem em cache também serão limitados quando solicitados. Com o ZPH você consegue saber o que não deve passar pelo controle de banda.
A idéia é a seguinte, fazer o Mikrotik buscar no cache do servidor Debian, e o que já estiver em cache não fazer o controle de banda. Para isso utilizaremos o ZPH (Zero Penalty Hit) que é um recurso do squid que permite a marcação de pacotes originados de algo que está em cache. Ele é usado principalmente em sistemas onde há controle de banda. Quando você faz a limitação de tráfego no servidor, os objetos que estiverem em cache também serão limitados quando solicitados. Com o ZPH você consegue saber o que não deve passar pelo controle de banda.
Instalação
do squid.
Bem
levando em consideração que já possuímos um squid instalado e
devidamente configurado vamos proseguir, caso tenha alguma duvida
acesse
http://guiadoti.blogspot.com.br/2012/07/instalando-e-configurando-um-servidor.html.
O Squid 2.7.STABLE9 vem com o patch do ZPH compilado, aqueles que
quiserem utilizar outras versões do squid terão que verificar se a
mesma vem ou não com o ZPH, por exemplo ate onde eu sei o Squid 3.0
não vem com ele compilado é necessario aplicar o patch na “unha”,
caso necessário para maiores informações recomendo
http://zph.bratcheda.org/
Configuração
Squid.conf
No
squid.conf (/etc/squid/squid.conf) além das linhas convencionais
(para aqueles um pouco mais iniciantes segue um link de referencia
além da instalação do squid tem as configurações básicas e sua
respectivas explicações) acrescente as linhas abaixo:
zph_mode
tos
zph_local 0x10
zph_sibling 0x10
zph_parent 0x10
zph_option 1
zph_local 0x10
zph_sibling 0x10
zph_parent 0x10
zph_option 1
Configurações
Firewall do Mikrotik
/
ip firewall nat
add chain=dstnat src-address=192.168.0.10/24 protocol=tcp dst-port=80 action=dst-nat to-addresses=192.168.0.2 To-ports=3128 \ comment=”Direciona para Proxy” disabled=no
add chain=dstnat src-address=192.168.0.10/24 protocol=tcp dst-port=80 action=dst-nat to-addresses=192.168.0.2 To-ports=3128 \ comment=”Direciona para Proxy” disabled=no
/
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
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
add
chain=postrouting protocol=tcp src-port=3128 tos=!48
action=mark-connection new-connection-mark=s-cache \ passthrough=yes
comment=”" disabled=no
add chain=postrouting
connection-mark=n-cache action=mark-packet
new-packet-mark=Cache-Packet passthrough=no \ comment=”Libera cache
full” disabled=no
E
pronto!!! Todo o dito acima foi testado e implantado e encontra-se
operante nos dias de hoje. Para quem utiliza o Debian ou outra distro
no lugar do Mikrotik (acreditem é minha preferencia disparado rsrs)
pode se usar o HTB TOOLS e CONNMARK no firewall para marcação das
conexões ou MARK para marcação somente dos pacotes. Bem como dito
la no inicio minha didatica não é muito legal mas acredito que
tendo um ponto de partida pode-se estimular uma pesquisa mais
profunda é isso que espero que aconteça rsrs. Valeu e ate a próxima
Oliveira
Lima
oliveiralimajr@gmail.com
Nenhum comentário:
Postar um comentário