+ Responder ao Tópico



  1. #1

    Padrão 2 links e um squid

    Bom dia amigos,
    ja catei no forum ja pesquisei no google, ja fiz tudo que eu podia fazer e nao consigo fazer o squid respeitar a regra tcp_outgoing_address ele sempre sai pelo link que esta configurado como link padrao do meu servidor.

    Estou tentando configurar meu provedor de internet para trabalhar com cache porem o squid nao esta me ajudando nem um pouco heheheh.
    eu tenho 2 links e preciso dividir a galera tipo metade dos clientes sai por um gateway e a outra metade sai pelo outro gateway, isso usando regras de iptable com iproute2 ja funciona maravilhosamente a 2 anos porem agora com o aumento de clientes, torna-se inviavel trabalhar sem cache, uma vez que os links ja estao ficando pequenos.

    estou utilizando a regra tcp_outgoing_address porem a mesma nao envia os pacotes para o gateway certo, meu arquivo de configuração é basicamente esse. (resumido)

    http_port 3128 transparent
    icp_port 1010
    cache_mem 5 MB
    cache_dir ufs /var/spool/squid 400 16 256
    acl manager proto cache_object

    acl cli30 src 10.0.0.30
    tcp_outgoing_address 192.168.254.3 cli30
    http_access allow cli30

    acl cli31 src 10.0.0.31
    tcp_outgoing_address 192.168.253.3 cli31
    http_access allow cli31

    cache_effective_user squid
    cache_effective_group squid

    visible_hostname squid

    ou seja o cliente com o ip 10.0.0.30 sai pelo gateway 192.168.254.3 (que na verdade nao é o gateway e sim o ip da placa de rede do servidor mesmo, coloquei o gateway e ele deu erro) e o ip 10.0.0.31 sai pelo ip 192.168.253.3

    mas isso nao esta fuincionando, mesmo forçando isso, os pacotes saem pelo gateway 192.168.254.1 (que é o gateway do 192.168.254.3), outra informação importante é que o gateway 192.168.254.1 é o default gateway do servidor, acho que por isso que ele ta saindo por esse cara, agora nao sei como resolver ja fiz de tudo mas nada resolve, alguem pode me dar uma ajudinha?

  2. #2

    Padrão

    Amigo, pelo que vi você não colocou a subrede...

    Veja o exemplo no meu squid.conf

    #Assim toda a faixa de ips sairão pelo link1
    acl link1 src 192.168.0.0/24
    tcp_outgoing_address 192.168.1.10 link1

    ou
    ainda pode ter 2 regras para usar os dois links, adcionando os ips dentro de um arquivo.

    #Endereços que utilizam o link1
    acl link1 src "/etc/squid/link1"
    tcp_outgoing_address 192.168.1.10 link1

    #Endereços que utilizam o link2
    acl link1 src "/etc/squid/link2"
    tcp_outgoing_address 192.168.2.10 link2

    Dentro dos arquivos coloque os ips ex.:

    192.168.0.2/24
    192.168.0.3/24
    192.168.0.5/24
    192.168.0.10/24
    Última edição por info24hs; 13-11-2008 às 18:04.

  3. #3

    Padrão

    na verdade nao coloqui mascara por nao se tratar de uma rede e sim de um ip, porem testei tambem com rede e nao funcionou, nao sei se ta faltando regras de iproute2 vc pode me mandar sua configuraçao de iproute2 pra eu ver? abraços

  4. #4

    Padrão

    Citação Postado originalmente por brunoalmeidam Ver Post
    na verdade nao coloqui mascara por nao se tratar de uma rede e sim de um ip, porem testei tambem com rede e nao funcionou, nao sei se ta faltando regras de iproute2 vc pode me mandar sua configuraçao de iproute2 pra eu ver? abraços

    Dá uma olhada no meu blog sobre balanceamento e marcação de pacotes


    https://under-linux.org/blogs/info24...s-parte-1.html

    https://under-linux.org/blogs/info24...s-parte-2.html

  5. #5

    Padrão

    muito bom amigo, porem nesse balanceamento nao utiliza squid né e no meu caso é o principal problema, sera que se eu colocar o squid pra rodar em cima dessa configuração ele vai funcionar?

  6. #6

    Padrão

    Citação Postado originalmente por brunoalmeidam Ver Post
    muito bom amigo, porem nesse balanceamento nao utiliza squid né e no meu caso é o principal problema, sera que se eu colocar o squid pra rodar em cima dessa configuração ele vai funcionar?
    Sim, faça a marcação dos pacotes para sair pelas portas 80(http) e 443(https)

  7. #7

    Padrão

    to sem servidor de teste, tenho que testar em producao

  8. #8

    Padrão

    num intendi a questao de marcar os pacotes, eu marco onde? quando sair do squid?

  9. #9

    Padrão

    o squid vai obedecer as regras dispostas no script tipo cada um saindo pelo gateway, mesmo dentro do squid?

  10. #10

    Padrão

    Citação Postado originalmente por brunoalmeidam Ver Post
    num intendi a questao de marcar os pacotes, eu marco onde? quando sair do squid?
    Qual script ta usando para balanceamento de links? mostra suas configurações..

  11. #11

  12. #12

    Padrão

    Citação Postado originalmente por brunoalmeidam Ver Post
    me da seu msn
    [email protected]

  13. #13

    Padrão

    olá amigo,


    tenho 2 link funcionando assim, no entanto meu proxy é paralelo com o mikrotik, vou ver se posso ajudá-lo:

    minha arquitetura eh como na figura anexo;

    meu sistema trabalha da seguinte maneira:

    1 O servidor mikrotik recebe a solicitação dos clientes e marcas por rota as conexões destinadas a porta 80 e desvia estas conexões marcadas para o proxy paralelo squid;

    2 O squid recebe as solicitações de acordo com a rede que solicitou utiliza como ip de saida 10.200.200.2 ou 10.200.200.3 utilizando se da função tcp_outgoing_address;

    3 O gateway do proxy squid é o mesmo servidor mikrotik que recebe a conexáo dos clientes e responde ao squid na
    interface 10.200.200.1;

    4 como podemos observar o squid só possui um gateway, no entanto as conexões foram dividas em dois ips de acordo com a rede de entrada (ip do cliente) que solicitou, assim o mikrotik poderá trata-las e envia-las para o link adequado;

    5 o mk recebe as conexões do squid e marca por rotas de acordo com o ip (10.200.200.2 ou 10.200.200.3) encaminha para o roteador 01 ou roteador 02;

    6 o mk encaminha as conexòes dos cliente que não destinadas a porta 80 para o link apropriado utlizando as mesmas separacoes de redes feitas no squid para que nao se tenha problemas com paginas seguras, msn etc.

    parece complicado, mas no fundo é bem fácil;

    veja o mangle


    1 chain=postrouting src-address=200.yyy.yyy.yyy action=mark-routing
    new-routing-mark=link2 passthrough=no
    2 chain=prerouting dst-address=200.201.174.0/24 action=mark-routing
    new-routing-mark=main passthrough=no (conectividade social)
    5 chain=prerouting dst-address=200.201.173.0/24 action=mark-routing
    new-routing-mark=main passthrough=no (conectividade social)
    6 chain=prerouting protocol=tcp dst-port=80 src-address-list=!desmarcar
    action=mark-routing new-routing-mark=nova passthrough=no


    na list desmarcar que esta negada ali em cima tem apenas a faixa de ip 10.200.200.0/24 para não criar um ciclo do tipo
    squid devolve pro mk, mk devolve pro squid infinitamente.


    em ip route
    soh as rotas importantes
    24 A S 0.0.0.0/0 r 200.xxx.xxx.gateway "interface roteador 01 sem marca"
    25 A S 0.0.0.0/0 r 10.100.100.1 "interface do squid com marca chamada nova"
    26 A S 0.0.0.0/0 r 200.yyy.yyy.gateway "interface do roteador 2 com marca chamada link2"


    bem, em firewal basta usar o src nat ao invés de mascaradade e colocar a saida no ip do link ou no ip do link2 de acordo com a rede de entrada;

    espero ter ajudado!


    obs interessante: o servidor squid nao tem rotas para rede dos clientes, assim o tráfego destinado do squid para os clientes retornam também pelo gateway, na pratica o mk se encarrega de encaminha cada um ao seu lugar certo, no entanto parece estranho quando vimos a interface cliente do squid só receber tráfego e aparentemente não devolver nada.
    Miniaturas de Anexos Miniaturas de Anexos Clique na imagem para uma versão maior

Nome:	         Nova Imagem.png
Visualizações:	170
Tamanho: 	5,8 KB
ID:      	3040  
    Última edição por JHONNE; 14-11-2008 às 00:29.

  14. #14

  15. #15

    Padrão

    Esqueci de dizer uma coisa:

    dessa forma é possível configurar o sarg e ele verá o ip do cliente no relatorio e não o ip do mk como acontece com o parent proxy.

  16. #16

    Padrão

    se vc puder me dar seu msn pra gente conversar melhor

  17. #17

    Padrão opa...

    com delay pools ja tento?
    da uma pesquisada...
    uma vez fiz isso pra uma lan house, faz mol tempão
    to caçano mew script
    se acha te paço!

  18. #18

    Padrão

    nao tentei nao vou dar uma pesquisada se achar me manda por favor, mas na verdade delay pools nao é um tipo de controlador de banda?
    Última edição por brunoalmeidam; 14-11-2008 às 13:34.