Proxy pararelo ao Mikrotik através de rota estática
Olá amigos, venho desta vez tentar ajudar muitos que estão com problemas
em implantar o sistema de webproxy em pararelo com o MikroTik, pois eu tinha
uma necessidade, que era a seguinte, redirecionar as requisições de http[TCP80]
vindas dos clientes até o MikroTik para o Linux com Squid assim podendo conter
os ips dos clientes e não somente o do MikroTik no access.log do Squid.
Suponhamos que você já tenha configurado a sua rede junto ao MikroTik e precise
apenas incluir o seu webproxy(ubuntu server 8.04lts meu caso), faça o seguinte:
1º Crie um endereço de ip isolado para o seu MikroTik que fique na mesma faixa do seu webproxy por exemplo:
MikroTik
/ip address add address=10.100.100.1/30 broadcast=10.100.100.3 comment=proxy disabled=no interface=proxy network=10.100.100.0
Linux
$ sudo ifconfig eth0 10.100.100.2 netmask 255.255.255.252 up
$ sudo route add default gw 10.100.100.1
2º Em seguida compartilhe a conexão de internet no Linux:
$ sudo modprobe iptable_nat
$ sudo iptables -A POSTROUTING -t nat -s 192.168.100.0/24 -o eth0 -j MASQUERADE
$ sudo echo 1 > /proc/sys/net/ipv4/ip_forward
3º Em seguida compartilhe a conexão de internet no MikroTik para o seu webproxy:
/ip firewall nat add action=masquerade chain=srcnat comment="masquerade para servidor proxy" disabled=no out-interface=link src-address=10.100.100.2
4º Crie uma regra de marcação para roteamento, com essa regra você irá marcar todas as requisições vindas de seus clientes até a porta 80:
/ip firewall mangle add action=mark-routing chain=prerouting comment="Marcação de rota na porta TCP 80 vindo de clientes" disabled=no dst-port=80 in-interface=clientes new-routing-mark=proxy-clientes passthrough=no protocol=tcp src-address=192.168.100.0/24
5º Agora crie a ultima regra que será responsável pela a rota "clientes[TCP80]<-->webproxy":
/ip route add comment="Rota Estática para o Proxy Pararelo[TCP80] - clientes" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=10.100.100.2 routing-mark=proxy-clientes scope=255 target-scope=255
6º Vamos agora adicionar as regras de "cache-full" para que tudo que foi cacheado pelo o squid passe a full por entre as regras de simple queues, vamos lá!...
/ip firewall mangle add action=mark-connection chain=forward comment="" content="X-Cache: HIT" disabled=no in-interface=link new-connection-mark=cachefull-connection \
passthrough=yes protocol=tcp
add action=mark-packet chain=forward comment="" connection-mark=cachefull-connection disabled=no in-interface=link new-packet-mark=cachefull-packs \
passthrough=yes protocol=tcp
7º E por ultimo vamos adicionar a regra que irá definir a que velocidade será entregue o itens cacheados pelo o squid marcados com o cabeçalho "X-Cache: HIT":
/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=5000000 name=cachefull packet-mark=cachefull-packs parent=global-out \
priority=8 queue=default
Nas linhas dos scripts substitua o que estiver em negrito segundo suas necessidades!
Versão do MikroTik: 3.10 level 4 em uma RB433
Versão do Linux: Ubuntu Server 8.04LTS em uma Máquina Virtual{VMWare/Vista Ultimate SP1/Intel Core 2 Quad}
Ahhh e lembre-se de deixar seu Squid em proxy transparent, ufa! acabou depois de tudo isso seu webproxy já deve estar cacheando tudo certinho e mantendo seu MikroTik como gateway, router, nat, firewall e tudo mais, espero poder ter contribuido em algo, fui galera fiquem com DEUS!!! :hello:
squid 2.6 stable18 e thundercache 2
Citação:
Postado originalmente por
animetaldeath
(squid 2.6 stable18) e o thundercache 2 são usados no servidor ubuntu,
Iaeee parceiro me responde uma coisa, esses aplicativos ja vem instalados por padrão no Ubuntu 8.04 Server?
caso não passa os comandos ai pra mim poder estar fazendo essa instalação!!
Abração e Parabens pelo codigo.