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:
Pretendida:
Se alguém puder ajudar, eu agradeço.