Você está na página 1de 8

Proxy pararelo ao Mikrotik através de rota

estática

Como 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

OBS:Não segui esse passo, pois não coloquei um servidor proxy com
placa de rede dedicado , Vou colocar uma segunda placa de rede no
aguiatwo para trabalhar com o proxy.

Por estar usando a mesma placa de rede tive que configurar uma rota
para cada micro.

/ip address add address=192.168.2.0/24 broadcast=192.168.2.3


comment=proxy disabled=no interface=proxy network=192.168.2.0

Linux
$ sudo ifconfig eth0 192.168.2.5 netmask 255.255.255.0 up
$ sudo route add default gw 192.168.0.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.0.0/24 -o eth0 -j
MASQUERADE
$ sudo echo 1 > /proc/sys/net/ipv4/ip_forward

#redirecionando o trafego da porta 80 para porta squid

$ iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p udp --dport 80 -j


REDIRECT --to-port 3128
# no squid.conf não esquecer de setar oproxy como transparente senão da o
erro “The requested URL could not be retrieved”

http_port 3128 transparent

3º Em seguida compartilhe a conexão de internet no MikroTik para o


seu webproxy:

link = Interface de saida da internet


/ip firewall nat add action=masquerade chain=srcnat
comment="masquerade para servidor proxy" disabled=no out-
interface=link src-address=192.168.0.5
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.0.0/24

Por estar usando a mesma placa de rede do aguiatwo para fazer


roteamento o sistema não permite usar a rede 192.168.0.0/24 por esta
dentro da mesma rede
Tive que configura um mangle para cada IP

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!!!

Original

Proxy pararelo ao Mikrotik através de rota


estática

http://under-linux.org/f211/proxy-pararelo-ao-mikrotik-atraves-de-rota-estatica-124004/

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!!!

Última edição por animetaldeath; 18-04-2009 às 06:54. Razão: Adicionei as


regras de cache-full para este tutorial...

Você também pode gostar