Squid com problemas usando Load Balance



  • Opa blz

    e o tuto defintivo para o loadbalance ?

    Pois nosso amigo resolveu o problema mas não publicou qual tutorial utilizou isso iria agilizar o fum num todo quando resolvermos algo e postar qual tudo foi utilizado, versão etc

    abs

    Souza Linux



  • Jackl. Boa tarde.

    Sei que seu tempo anda muito, muito corrido esses dias. Curso, Forum, etc..etc..etc..

    Mas voce poderia nos passar alguma posição sobre o seu tutorial definitivo do Load Balance + Squid? O amigo que postou a duvida chegou na solução mais não compartilhou ainda conosco.

    Muito obrigado e um ótimo dia pra voce.

    ATT

    Breno Alencar



  • amigo,

    Eu não compartilhei ainda.. pq o servidor que eu fiz o load balance esta indo via correio para outro estado.. Assim que ele estive no ar.. eu coloco as telas.
    porem já adianto que é quase idêntico ao restante do tutorial..

    Thiago



  • Ótimo Thiago. Aguardamos seu tutorial. Obrigado pelo retorno.

    Abraços

    ATT

    Breno Alencar



  • Breno,

    Os dois tutoriais que eu postei estão totalmente completos e funcionam perfeitamente com a versão 2.0 e 2.0.1 do PFSense. Se com você não está funcionando, ou alguma informação foi passada errada ou não foi passada para nós. Não há segredo como os colegas disseram.

    Sobre as Tier, pense o seguinte, as Tier vão de 1 até 5… Eu tenho 3 conexões, quero que elas façam Load Balance e Fail Over entre elas.

    Supondo que:
    Conexão 1 > 20 Mbps
    Conexão 2 > 10 Mbps
    Conexão 3 > 1 Mbps

    Nesse caso os Tiers ficariam:
    Conexão 1 > Tier 1
    Conexão 2 > Tier 2
    Conexão 3 > Tier 3

    Dessa forma as conexões são feitas pela conexão 1, se ela estiver sobrecarregada ou fora do ar, a conexão 2 assume, e se a 2 falhar a 3 assume, tudo isso automaticamente, para o Squid nada mudou.

    Siga os tutoriais passo a passo, verifique se não há regras de firewall bagunçando o caminho dos pacotes e etc.

    EDITADO:
    Eu tenho quatro clientes com conexões redundantes(Fail Over) que mesmo com Tier 1 e Tier 2 fazem load Balance, basta mudar o tipo do Grupo de "Member Down" para "High Latency or Packet Loss".
    Isso faz com que o PFSense verifique a latencia da conexão, se ela estiver sendo usada, obviamente a latencia aumenta, assim o PFSense joga para a conexão no Tier abaixo.
    Com a perca de pacotes é a mesma coisa, se a conexão não oferece resultados de ICPM(Ping), obviamente ela está offline.
    Fiz esse teste em um cliente com duas conexões de 4Mbps, coloquei um download com o FTP da UNICAMP e ocupou a banda da conexão 1, quando abri um video no youtube, lá estava a banda da conexão 2 sendo usada.

    Eu realmente achei fantástica a facilidade(de configuração) como isso foi implementado no PFSense.



  • Pessoal,

    Acho que os usuários breno.ui e manutenspb postaram algo relevante em seus posts sobre os erros apresentados:

    http://forum.pfsense.org/index.php/topic,45232.msg236249.html#msg236249
    http://forum.pfsense.org/index.php/topic,45232.msg236409.html#msg236409

    Tentei realizar o seguinte procedimento seguindo o tutorial postado pelo marcello no mesmo post e obtive o mesmo problema apresentado pelo breno.ui e o manutenspb. Então fui investigar e achei algo um tanto interessante.

    O squid.conf gerado pelo Pfsense  contem o trecho abaixo

    Do not edit manually !

    http_port 192.168.X.X:3128
     http_port 127.0.0.1:3128
     http_port 127.0.0.1:3128 transparent

    O que ao meu ver pode está errado, pois o modo transparente deveria funcionar na minha rede http_port 192.168.X.X:3128 ( se eu selecionar somente a interface LAN na tela do squid o codigo é gerado perfeitamente)

    Do not edit manually !

    http_port 192.168.X.X:3128 transparent

    Então modifiquei manualmente o squid.conf para o seguinte

    Do not edit manually !

    http_port 192.168.X.X:3128 transparent
     http_port 127.0.0.1:3128 transparent
     http_port 127.0.0.1:3128

    BINGO! o Loadbalance  passou a funcionar!

    Em resumo:

    ** Funciona (codigo alterado manualmente)**
     # Do not edit manually !
     http_port 192.168.X.X:3128 transparent
     http_port 127.0.0.1:3128 transparent
     http_port 127.0.0.1:3128

    ** Não FUnciona (codigo gerado pela interface)**
     # Do not edit manually !
     http_port 192.168.X.X:3128
     http_port 127.0.0.1:3128
     http_port 127.0.0.1:3128 transparent

    Resultado

    while [ $ ]; do links -dump www.whatismyip.com | grep ' Your IP Address Is:' ; sleep 2; done
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 189.29.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX
      Your IP Address Is: 187.17.XXX.XXX

    Alguém por favor poderia testar  isso!?

    att,



  • Vou testar..



  • ccesario,

    O meu sempre funcionou e não precisei editar o squid.conf. Por curiosidade fui ver como estava no squid.conf e pra minha surpresa:

    Do not edit manually !

    http_port 10.2.xxx.xxx:8080 transparent
    http_port 127.0.0.1:8080 transparent
    http_port 127.0.0.1:80 transparent



  • Obrigado pelas informações pessoal, vou fazer mais alguns testes

    att



  • Pois é, em todos os testes aqui, o arquivo é gerado de forma equivocada :P

    Será algum problema do generator!?

    Alguém mais testou isso !?



  • ccesario,

    Qual squid você esta usando?



  • @marcelloc:

    ccesario,

    Qual squid você esta usando?

    Marcello,

    Para esses testes o squid-2.7.9_1



  • @ccesario:

    Para esses testes o squid-2.7.9_1

    Já viu se o squid3 gera o mesmo erro no arquivo de configuração?



  • @marcelloc:

    @ccesario:

    Para esses testes o squid-2.7.9_1

    Já viu se o squid3 gera o mesmo erro no arquivo de configuração?

    Ainda não, estou ainda tentando resolver aquele problema ( http://forum.pfsense.org/index.php/topic,48347.msg255973.html#msg255973 ) para colocá-lo em produção, mas esta meio complicado descobrir a causa/origem.



  • @ccesario:

    Ainda não, estou ainda tentando resolver aquele problema ( http://forum.pfsense.org/index.php/topic,48347.msg255973.html#msg255973 ) para colocá-lo em produção, mas esta meio complicado descobrir a causa/origem.

    tenta compliar ele sem o strict http compliant e o transparent mode para ipfw



  • @marcelloc:

    @ccesario:

    Ainda não, estou ainda tentando resolver aquele problema ( http://forum.pfsense.org/index.php/topic,48347.msg255973.html#msg255973 ) para colocá-lo em produção, mas esta meio complicado descobrir a causa/origem.

    tenta compliar ele sem o strict http compliant e o transparent mode para ipfw

    Pode por favor dar um squid -v no seu squid3 por favor ?



  • Também estou com o mesmo problemas, LoadBalance funciona perfeito sem squid, com squid somente Fail-over.
    Fiz os passos para corrigir o problema de quando seta a loopback no squid, o squid volta a funcionar, mas sem loadbalance sem pre sai pela wan1
    Estou usando a versão 2.0.1 será que alguem conseguiu fazer funcionar a 2.0.1, uma coisa a observar é que acompanhar trafego pelos graficos e dizer que está balanceando não é correto, pois qualuer outro trafego que não seja http não vai passar pelo squid e cai no loadbalance que funciona correto. O teste correto acho que seria igual do ccesario
    O que ja fiz a partir do pre suposto que o LoadBalance funciona sem squid.

    1 ) Adicionei a regra tcp_outgoing_address 127.0.0.1; no squid.
    2 ) setei ele nas duas interfaces (LAN e loopback)
    3 ) Corrigi o bug que da´quando seta o squid transparent na loopback.
    4 ) Criei a regra floating com origen any e depois com origen 127.0.0.1
    5 ) Criei as duas regras Nats WAN1 e WAN2.



  • @tpramos:

    5 ) Criei as duas regras Nats WAN1 e WAN2.

    Não seria outbound nat?



  • Senhores,

    Esta questão já não está sendo tratada neste outro tópico? http://forum.pfsense.org/index.php/topic,46245.msg258531.html#msg258531

    Repetir assuntos em tópicos diferentes é horrível pra organização geral do fórum!  :-\

    Abraços!
    Jack



  • Estou testando o squid3 com dois links embratel e OI.. só consigo navegar
    usando o load balance, se tirar no squid a interface de "loopback", no meu caso
    se eu desativar o link da OI.. eu navego.. porem se eu desativar o link da embratel
    eu não navego..



  • tpramos,

    Você já leu na íntegra este outro tópico: http://forum.pfsense.org/index.php/topic,37776.0.html ?

    As dicas do amigo felipeortega são preciosas…

    De todo modo, quando estiver trabalhando com LoadBalance + Squid, procure não trabalhar com "default gateway"... Esta é a dica master! ;)

    Abraços!
    Jack



  • OK, vou testar sem o Default Gateway, essa eu ainda não tinha lido.
    Depois posto se deu certo.
    Abraço. Obrigado pela ajuda.



  • Pessoal bom dia, chove por ai? pois aqui em araraquara ta um diluvio hehe

    Bom, ja li, reli, trili acho que um milhão de posts, tutoriais, videos em todas as linguas mas sem solução pra loadbalance+failover+squid.

    estou usando a versão 2.0.1 release i386
    squid versão 3
    e squidguard

    Tudo vai bem, mas quando coloco o loadbalance pra rodar, não vai nem fedendo

    Minhas configurações são as seguintes:

    Dois links estáticos, com gateways estáticos e online

    Em system>gateways tem os dois gateways como monitores os dns do google, não defini nenhum gateway como padrão.

    Em system>groups criei a regra com os dois gateways, tier 1 pros dois em trigger level deixei em packet loss or high latency

    Em firewall>rules na lan coloquei na regra padrão o gateway do loadbalance, só deixando um adendo que essa regra ta por ultimo, não consegui de forma alguma mudar ela de lugar, se alguem souber como me indique por favor.

    Em system>advanced>miscellaneous habilitei as duas opções em load balance (use sticky connections e allow defaoult gateway switting)

    Em services>proxy server>general (squid3) somente esta selecionada a interface LAN, o resto ta padrão

    O squidguard ta com uma black list, habilitado os bloqueios pra porno, rede social etc, e ta bloqueando

    Só que, não vejo nada saindo pelo segundo link. WAN2 (loadbalance não funciona)

    Quando eu tiro o cabo da WAN2, beleza a navegação continua sem problemas

    Se tiro o cabo da WAN1, dai fedeu, para tudo, não navega mais nada (failover não funciona)

    Alguma alma nessa comunidade conseguiu de fato fazer o loadbalance e failover funcionar junto com o squid?



  • A regra de balanceamento do squid deve ser feita na aba floating e não na lan.

    outra configuração importante para o funcionamento do load balance no squid é usar a opção

    tcp_outgoing_addres 127.0.0.1

    nas custom options.



  • vou testar aqui. só mudo isso? o resto ta ok né?



  • @issiqueira:

    só mudo isso? o resto ta ok né?

    Até onde ví sim.



  • criei a regra no floating como ta nesse exemplo

    Action: Pass
    Interface: Selecione as duas Wans
    Direction: Out
    Source: any
    Destination: any
    Destination port range: 80 ou se nao funcionar coloque a porta do Squid (default 3128)
    Gateway: Selecione o nome da rede LoadBalance que você configurou

    testei com a porta 80, 3128, any, mas sem sucesso.

    no proxy server, eu seleciono a interface LAN e loopback e em custom options coloco tcp_outgoing_address 127.0.0.0 não navega, da erro de URL invalida.

    se eu desabilito a interface loopback, navega, mas nada de sair com o loadbalance

    tentei deixando um gateway padrao, ou sem gateway padrao e da na mesma.

    ja to ficando louco, rs

    o pior é que preciso demais do loadbalance com failover. teve uma unidade que ganhou uma LP de 4mb, e não posso deixar de perder essa



  • Action: Pass
    Interface: Selecione as duas Wans
    Direction: Out
    Source: 127.0.0.1
    Destination: any
    Destination port any
    Gateway: Selecione o nome da rede LoadBalance que você configurou

    tcp_outgoing_address 127.0.0.1



  • mais que nada, do mesmo jeito

    quer acessar o firewall pra ver como tá? libero o acesso externo e te mando o ip e a senha por mp.

    ou posto aqui ss de todas as configurações



  • Vou testar isso fora do horário de produção, o pessoal já está ficando bravo comigo.

    Valeu,
    Celso



  • @issiqueira:

    quer acessar o firewall pra ver como tá? libero o acesso externo e te mando o ip e a senha por mp.

    Obrigado pela confiança mas para efetuar configurações remotas, preciso antes acertar o valor da hora de consultoria.

    att,
    Marcello Coutinho



  • ta mais que certo.

    amanha eu vou postar ss das telas de configuração, se puder dar uma analisada e ver como ta, e se eu que estou fazendo caca fico muito agradecido.



  • segue como ta as conf do server


















  • duas coisas:

    • mude a floating rule para aquela que sugeri

    • crie uma regra na lan permitindo o trafego para o ip e porta do squid sem forçar um gateway e coloque ela antes da regra do balanceamento



  • dessa maneira?




  • Se 10.135.0.1 for a lan do seu firewall, então sim, desta maneira  :)



  • beleza, no squid deixo a lan e o loopback selecionados?

    pq se eu ativo o loopback da erro no squid.

    se eu deixo somente a lan, vai de boa, mas percebo que somente usa um link, o loadbalance não funciona)

    outra coisa, tinha deixado os os gateways sem nenhum como padrão e dava na mesma, o mesmo problema.

    se eu colocasse o primeiro gateway como padrão, ao desconectar a wan2 travava tudo (isso com o squid selecionado somente a lan, sem o loopback)

    agora, se eu deixo selecionado como padrão o segundo gateway, ao desconectar a wan1, assume o link da wan1, failover ta funcionando.

    isso me atenderia em partes, ou seja, se um dos links da unidade cair, o outro assume e fica de boa.

    mas precisava somar esses links, será que não tem jeito mesmo?



  • @issiqueira:

    será que não tem jeito mesmo?

    Tem e funciona, não sei o que tem de errado com sua configuração mas temos relatos de redes usando esta configuração.

    Inclusive o tcp_outgoing_address saiu exatamente de um tutorial de load balance com squid.



  • pois é, ja li esses topicos, e tentei (não todas) muitas configurações e combinações de configurações pra ver se da certo

    porém, ao menos o failover ta funcionando.

    agora me diz uma coisa, não tentei ainda mas talvez possa ser possivel e se for me ajuda.

    ja que o outro link ta paradão la, e só assume quanto o outro cai, teria como mandar algumas usuários usarem somente ele.

    tipo, nas unidades tenho administrativo, laboratorios….. teria como eu direcionar os usuarios do adm para somente usarem o link que ta parado?



  • @issiqueira:

    pois é, ja li esses topicos, e tentei (não todas) muitas configurações e combinações de configurações pra ver se da certo

    porém, ao menos o failover ta funcionando.

    issiqueira…

    Estou com a mesma situação... uso o dansguardian e o squid 2.79....
    Tenho uma pergunta para o marcelloc... estando configurado o failover se uma maquina da rede está fazendo um download e um dos links cai, o download tem que ser reiniciado ou continua de onde parou antes da queda do link??? e caso o link retorne a situação é a mesma????

    Para o outro link direcionei alguns serviços como sugeriu o colega....

    []s



Log in to reply