+ Responder ao Tópico



  1. #1

    Padrão 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:
    Clique na imagem para uma versão maior

Nome:	         cache_atual.png
Visualizações:	235
Tamanho: 	32,9 KB
ID:      	37395

    Pretendida:
    Clique na imagem para uma versão maior

Nome:	         cache_pretendido.png
Visualizações:	282
Tamanho: 	34,8 KB
ID:      	37396

    Se alguém puder ajudar, eu agradeço.

  2. #2

    Padrã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.

  3. #3

    Padrão 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?

  4. #4

    Padrão 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.

  5. #5

    Padrão 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.

  6. #6

    Padrão 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.

  7. #7

    Padrão Re: TPROXY com 2 links de operadoras diferentes.

    Regras para TProxy - Tabela Mangle do Firewall

    add action=mark-routing chain=prerouting comment=Proxy-Server disabled=no \
    in-interface=!ether new-routing-mark=PROXY passthrough=yes protocol=tcp \
    src-port=80
    add action=mark-routing chain=prerouting disabled=no dst-port=80 \
    in-interface=!ether2 new-routing-mark=PROXY passthrough=yes protocol=tcp

    *ether2 é a interface onde está ligado o cache no mikrotik

    Regras em IP > Route

    add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.10.2 \
    routing-mark=PROXY scope=30 target-scope=10

  8. #8

    Padrão Re: TPROXY com 2 links de operadoras diferentes.

    Eu só não entendi uma coisa, essas regras que você postou, estão no TProxy?
    As regras que eu postei, são aquelas que você deve colocar nos seus mikrotiks.

  9. #9

    Padrão Re: TPROXY com 2 links de operadoras diferentes.

    Fábio, essas regras de direcionar o tráfego do Mkt para o cache já estão em operação. Preciso agora de regras que devolvam o tráfegodo cache ao Mkt correto. Atualmente o cache apenas devolve o tráfego para o Mkt que estiver como default gateway. Preciso que o cache saiba devolver, por exemplo:
    Faixa 200.1.0.0/24 para o Mkt A;
    Faixa 200.2.0.0/24 para o Mkt B, e assim por diante.

  10. #10

    Padrão Re: TPROXY com 2 links de operadoras diferentes.

    Agora entendi a gravidade do seu problema! ~
    Não faço a mínima ideia de como fazer isso.

    Sugiro que você mude a topologia de sua rede.

    Abraço.

  11. #11

    Padrão Re: TPROXY com 2 links de operadoras diferentes.

    Citação Postado originalmente por diegomm Ver Post
    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.
    me add no skype quem sabe podemos se ajudar. skype cleitonparis