«

»

fev 20 2012

Imprimir Post

Cache paralelo

(Créditos Originais a “marcos do vale“)

Como instalar e configurar um cache no smartrouter? Clique aqui

Podemos usar um http-proxy em paralelo com SmartRouter. Mostrarei como fazer isso utilizando um SmartRouter como gateway, e outro SmartRouter como cache.

Mas “botini”, qual é a vantagem de ter um cache paralelo se posso adicionar o cache junto ao SmartRouter principal?

Meu caro, cache sempre é sinônimo de incomodo, e atualização constante, pois temos que limpar o cache, atualizar algumas linhas para funcionar o cache em um certo site, o youtube que vos diga… é de melhor organização, pois o SmartRouter não vai ficar “perdendo tempo” para gerenciar cache em vez do qos, ele vai ter uma ajuda extra e também é possível implementar um cluster da http-proxy, possibilitando vários sistemas de caches em paralelo.

SmartRouter Gateway+Cache.

Bem, necessitamos de 2 SRP(SmartRouter) totalmente distintos. Vamos nomear o SmartRouter que vai receber a internet como gateway, e o SmartRouter que vai ter o lusca como cache. Como hardware, recomendo no gateway pelo menos 128MB de RAM, processador de 500Mhz, e o HD pode ser aqueles cartões CF com adaptador SATA ou IDE e sera necessário 3 placas de rede. Já no Cache, recomendo pelo menos 2GB de RAM, processador de 1.2Ghz e um HD SATA de uns 80GB (Você não irá utilizar mais que isso) e sera necessário somente 1 placa de rede. Basicamente o Gateway vai ter uma configuração de rede DMZ, na qual o cache vai estar conectado nessa placa.

Vamos definir a topologia da rede de cada SRP.

SRP – Gateway:
  • Internet(eth1) – Depende do caso de cada  usuário. Eu utilizei nos teste DHCP.
  • Rede local 1(eth0) – 192.168.0.1/255.255.255.0
  • DMZ(eth2) –  10.0.0.1/255.255.255.0
SRP – Cache:
  • Internet(None) – Static IP:
    IP: 192.168.250.1
    Mask: 255.255.255.252
    Gateway: 192.168.250.2
    DNS1: 10.0.0.1
    DNS2:
    hostname: srp-cache
    Domain: domain.local
  • Rede Local 1(eth0):
    Ip: 10.0.0.2
    Mask: 255.255.255.0

Primeiro Passo: Configurar o SRP-Cache.

Instale e configure(via wizard) conforme as nossas definições anteriores, e depois de reiniciar, logue via terminal mesmo, e acesse a opção “1″ do menu principal, e edite as linhas:

  • IPADDR=’192.168.250.1′ -> Apague esta linha.
  • NETMASK=’255.255.255.252′ -> Apague esta linha.
  • IF_INET=” -> Apague esta linha.
  • GATEWAY=’192.168.250.2′ -> Altere para GATEWAY=’10.0.0.1′
  • Adicione a linha:
    DISABLE_NAT=’YES’
E então aperte “Ctrl+s” para salvar e depois “Ctrl+q” para sair do editor. E então digite “w” para gravar as alterações, confirme, e então digite “r” para reiniciar, e confirme. Pronto, primeiro passo finalizado.

Segundo passo: Configurar o SRP-Gateway.

Instale e configure(via wizard) conforme as nossas definições anteriores, porém a dmz teremos que configurar depois. Depois de reiniciado o SRP-Gateway, vamos configurar a dmz, você pode acessar via webadmin (192.168.0.1:8180) ou então selecione a opção “1″ no menu do srp, e insira as seguintes linhas:

  • IF_DMZ=’eth2′
  • DMZ_IPADDR=’10.0.0.1′
  • DMZ_NETMASK=’255.255.255.0′
E então aperte “Ctrl+s” para salvar e depois “Ctrl+q” para sair do editor. E então digite “w” para gravar as alterações, confirme, e então digite “r” para reiniciar, e confirme.

Terceiro passo: Instalar o lusca cache no srp-cache.

Agora conecte a placa de rede do srp-cache(eth0) na placa dmz do srp-gateway(eth2), conecte o seu pc na placa de rede local do srp-gateway(eth0), e conecte o cabo do modem, ou de qualquer outro meio que você vai receber a internet na placa de rede de intertet(eth1) do srp-gateway. E configure o seu pc:
  • IP: 192.168.0.2
  • Mascara: 255.255.255.0
  • Gateway: 192.168.0.1
  • DNS: 192.168.0.1
Acesse a pagina de download de addons, clicando aqui, e baixe o lusca cache. Agora acesse pelo browser o endereço http://10.0.0.2:8180 e instale o seu addon acessando a opção “Upload de addon”. Configure o lusca no modo transparente, e adicione a rede para o lusca:
  • 192.168.0.0/24
Também ative o log do lusca e defina um tamanho da cache. ATENÇÃO: Nós recomendamos no máximo o uso de 5000MB de uso para cache. E clique em “Enviar”. Depois clique em “backup” e pronto, o srp-cache esta configurado com o sistema de cache.

Quarto (e último) passo: Configurar o srp-gateway para acessar cache.

Primeiramente, existem várias maneiras de realizar “interceptação” dos pacotes através da cache (para mais informações, clique aqui). Vou demonstrar a maneira mais fácil de se fazer isso, com o método “DNAT”. Para isso, através do webadmin do srp-gateway(http://192.168.0.1:8180) acesse “Arquivos de configuração”, e procure pela opção “Script de inicialização”, e insira no final da caixa de texto as seguintes linhas:
  • i=/proc/sys/net/ipv4/conf/eth2
    echo 0 > $i/log_martians
    echo 0 > $i/rp_filter
    iptables -t nat -F tproxy
    [ $? != 0 ] && iptables -t nat -N tproxy
    iptables -t nat -I PREROUTING -i eth0 -p tcp –dport 80 -j tproxy
    iptables -t nat -I tproxy -s 0/0 -j DNAT –to 10.0.0.2
Clique em “enviar”, e depois clique em “Configurações simplificadas do firewall”, clique em “Recarregar firewall”, clique em “backup” e pronto! Seus 2 SRP estão trabalhando em modo cache paralelo via dmz.
Uma maneira mais interessante, porém mais “complicada”, seria através do método de “politica de roteamento”, que você pode obter mais informações clicando aqui. Em um artigo futuro irei falar sobre este método.

Fontes:

http://wiki.squid-cache.org/ConfigExamples/Intercept/IptablesPolicyRoute

http://wiki.squid-cache.org/ConfigExamples/Intercept

http://wiki.squid-cache.org/ConfigExamples/Intercept/LinuxDnat

Sobre o autor

fabiosammy

fabiosammy

Graduando pelo curso de Ciência da Computação na Unicentro. Cativado pela área de redes de computadores, música e ambientes UNIX.

Link permanente para este artigo: http://www.smartrouter.com.br/press/2012/02/20/cache-paralelo/

5 comentários

Pular para o formulário de comentário

  1. digital

    Olá Fabio Summy , gostaria de saber se essa faixa de ip citado no texto acima está correta:
    “iptables -t nat -I tproxy -s 0/0 -j DNAT –to 192.168.128.2″
    esse ip não deveria ser o mesma faixa usada no cache?? se eu tiver errado me corrija. obrigado!

  2. fabiosammy
    fabiosammy

    Sim, esta incorreta… estou corrigindo agora mesmo… estou revisando alguns pedaços do artigo e esqueci de modificar essa linha, valeu!

  3. marcos do vale

    Policy Routing

    ###
    del_tproxy() {
    iptables -t mangle -D PREROUTING -i $1 -p tcp –dport 80 -j tproxy
    }

    add_tproxy() {
    iptables -t mangle -A PREROUTING -i $1 -p tcp –dport 80 -j tproxy
    }

    i=/proc/sys/net/ipv4/conf/$IF_DMZ
    echo 0 > $i/log_martians
    echo 0 > $i/rp_filter

    ip ru del prio 150 fwmark 10 table 210
    ip ru add prio 150 fwmark 10 table 210
    ip ro add default via 10.0.0.2 table 210

    iptables -t mangle -F tproxy
    [ $? != 0 ] && iptables -t mangle -N tproxy
    iptables -t mangle -A tproxy -j MARK –set-mark 10
    iptables -t mangle -A tproxy -m mark –mark 10 -j ACCEPT

    del_tproxy $IF_LOCAL
    [ ! -z $LOCAL2_IPADDR ] && del_tproxy $IF_LOCAL2
    [ ! -z $LOCAL3_IPADDR ] && del_tproxy $IF_LOCAL3
    [ ! -z $LOCAL4_IPADDR ] && del_tproxy $IF_LOCAL4
    [ ! -z $WLAN_IPADDR ] && del_tproxy $IF_WLAN

    add_tproxy $IF_LOCAL
    [ ! -z $LOCAL2_IPADDR ] && add_tproxy $IF_LOCAL2
    [ ! -z $LOCAL3_IPADDR ] && add_tproxy $IF_LOCAL3
    [ ! -z $LOCAL4_IPADDR ] && add_tproxy $IF_LOCAL4
    [ ! -z $WLAN_IPADDR ] && add_tproxy $IF_WLAN
    ###

  4. Hans

    I would just like to say thank you , your software has helped me uncountable times. I would also like to mention that as a new user to the linux community, I have tried many router distros and yours is the most straight forward for the learning user . Once again thank you and greetings from Canada ….Hans Clooterman :)

  5. fabiosammy
    fabiosammy

    Thanks men!

    You use with ‘cache’ or only router?

    Best regards.

    PS: Sorry, you message sent to spam posts. I check this now.

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *