(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’
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′
Terceiro passo: Instalar o lusca cache no srp-cache.
- IP: 192.168.0.2
- Mascara: 255.255.255.0
- Gateway: 192.168.0.1
- DNS: 192.168.0.1
- 192.168.0.0/24
Quarto (e último) passo: Configurar o srp-gateway para acessar cache.
- 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
Fontes:
http://wiki.squid-cache.org/ConfigExamples/Intercept/IptablesPolicyRoute
http://wiki.squid-cache.org/ConfigExamples/Intercept
http://wiki.squid-cache.org/ConfigExamples/Intercept/LinuxDnat
5 comentários
Pular para o formulário de comentário ↓
digital
21/02/2012 em 13:12 (UTC -3) Link para este comentário
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!
fabiosammy
21/02/2012 em 13:19 (UTC -3) Link para este comentário
Sim, esta incorreta… estou corrigindo agora mesmo… estou revisando alguns pedaços do artigo e esqueci de modificar essa linha, valeu!
marcos do vale
21/02/2012 em 18:17 (UTC -3) Link para este comentário
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
###
Hans
08/06/2012 em 7:36 (UTC -3) Link para este comentário
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 :)
fabiosammy
11/06/2012 em 13:51 (UTC -3) Link para este comentário
Thanks men!
You use with ‘cache’ or only router?
Best regards.
PS: Sorry, you message sent to spam posts. I check this now.