2 Anexo(s)
TPROXY com 2 links de operadoras diferentes.
Olá a todos.
Fiz um squid (lusca, na verdade) rodando em tproxy em paralelo com meu concentrador de autenticação (RB1100AH). O problema é que aqui tenho link de duas operadoras diferentes e, por consequência, os ranges de IPs que distribuo aos clientes é diferente um do outro.
Além disso, em um dos links tenho 2 concentradores, ou seja, 2 autenticadores da operadora A e 1 da operadora B. Cada um deles tem seu próprio range de IP.
Se eu coloco meu cache em paralelo com qualquer um dos autenticadores (1 pra 1), tudo funciona normal. Porém, não estou conseguindo fazer o squid cachear para os 2 links. Ou é para um ou para outro.
Eu não pretendo ($$$) colocar um servidor para cada autenticador que eu tiver.
Seguem minhas configurações atuais:
Código :
iptables -t mangle -N DIVERT
iptables -t mangle -A DIVERT -j MARK --set-mark 1
iptables -t mangle -A DIVERT -j ACCEPT
iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --tproxy-mark 1 --on-port 3128
ip rule add fwmark 1 lookup 100
ip route add local 0.0.0.0/0 dev lo table 100
Regras de direcionamento para o cache no Mkt:
Código :
/ip firewall mangle
add action=mark-routing chain=prerouting comment=CACHE disabled=no dst-address=201.xx.xx.0/24 in-interface=\
!Cache new-routing-mark=route_cache passthrough=yes protocol=tcp src-port=80
add action=mark-routing chain=prerouting comment=CACHE disabled=no dst-port=80 in-interface=!Cache \
new-routing-mark=route_cache passthrough=yes protocol=tcp src-address=201.xx.xx.0/24
add action=mark-packet chain=postrouting comment=CACHE disabled=no dscp=4 new-packet-mark=cache_packets \
passthrough=yes
/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=172.16.10.2 routing-mark=route_cache
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=201.xx.xx.1 scope=30 target-scope=10
Eu tentei marcar os pacotes para que para cada resposta da internet fosse direcionada ao servidor onde o range de IPs está, mas acho que errei em algo.
Código :
iptables -I PREROUTING -d 201.1.xx.0/24 -p tcp --sport 80 -j MARK --set-mark 10
iptables -I PREROUTING -d 201.2.xx.0/24 -p tcp --sport 80 -j MARK --set-mark 11
iptables -I PREROUTING -d 201.3.xx.0/24 -p tcp --sport 80 -j MARK --set-mark 11
ip rule add fwmark 10 lookup 200
ip rule add fwmark 11 lookup 201
ip route add local 0.0.0.0/0 gw 172.16.10.3 table 200
ip route add local 0.0.0.0/0 gw 172.16.10.1 table 201
Acredito que seja algo simples como marcação de pacotes que resolverá o problema, pois quando configuro tudo do jeito que é pra ficar, funciona o proxy apenas do range de IPs pra onde o default gateway do cache está apontando. Se eu troco o default gw pra outro autenticador, ele começa a funcionar e o que estava antes pára.
Seguem os diagramas (não sou bom desenhista) da topologia que funciona e a topologia pretendida.
Atual:
Anexo 37395
Pretendida:
Anexo 37396
Se alguém puder ajudar, eu agradeço.
Re: TPROXY com 2 links de operadoras diferentes.
Resolvi com rotas estáticas. Nem precisou de muita firula.
route add -net 201.1.xx.0/24 via 172.16.10.1
route add -net 201.2.xx.0/24 via 172.16.10.2
Se alguém souber uma solução mais "elegante", favor postar.
Re: TPROXY com 2 links de operadoras diferentes.
Amigo,
Existe sim, maneiras de implementar o cache nessa topologia, porém, na questão de segurança, não vejo com bons olhos você possuir três "entradas". O ideal, seria um firewall de borda entre teus links e teus autenticadores, e o cache implantado nesse firewall. Só uma pergunta, os três autenticadores são mikrotiks?
Re: TPROXY com 2 links de operadoras diferentes.
Sim, os 3 são mikrotiks.
Não ficou legal a regra que eu postei anteriormente. Estou novamente na busca de uma solução.
Acho que se eu fizesse igual vc falou ficaria mais fácil realmente, pois eu teria que apontar apenas um gateway no cache. O restante do roteamento ficaria a cargo desse firewall.
Re: TPROXY com 2 links de operadoras diferentes.
Estou tentando com uma segunda interface de entrada.
Minha intenção é marcar da seguinte forma:
eth0 fwmark 10
eth1 fwmark 11
ip rule add fwmark 10 table 10
ip route add default via 172.16.10.1 table 10
ip rule add fwmark 11 table 11
ip route add default via 172.16.10.2 table 11
Algo mais ou menos por aí. Acho q está dando problema com a marcação do TPROXY.
Re: TPROXY com 2 links de operadoras diferentes.
Exatamente, e você pode implementar segurança nessa máquina firewall para proteger sua rede interna. Ficara a melhor topologia de rede. Sobre as regras para TProxy, vou posta-las como se fosse para apenas um mirkotik, depois você replica para os outros, pois é a mesma regra.