Squid + Load Balance - Problemas com meu Squid

1. Squid + Load Balance - Problemas com meu Squid

Tiago Rodrigues
tgwo

(usa Ubuntu)

Enviado em 28/10/2024 - 13:53h

Ola!

Tenho uma maquina com o Ubuntu 20.04.6 LTS, nela esta o Servidor Squid, DHCP(Ips fixo por MAC das maquinas), Firewall. Atualmente a rede da empresa rede possui 68 Pcs, tenho 2 servidores em redundancia onde fica o AD que gerencia meu dominio, windows server 2019.

Hoje tenho 3 links de internet banda larga. que passam por um Load Balance ER605(UN) omada gigabit vpn router, e deste load balance ele vai para o Ubuntu e de la para o Switch.

acontece que de 1 ano para ca, esta havendo instabilidade de internet na minha rede, as maquinas que estao sendo gerenciadas seu DHCP pelo ubuntu do nada a internet vai embora, seu eu der um restart no squid a internet volta na hora(as vezes por poucos minutos tempo) dependento do dia uns 50 restart, tenho uma maquina que passa por fora desse Squid e e uso o IP do modem essa nao cai a internet a nao ser quando é problema mesmo na operadora ai sim.

Os testes que ja fiz e o mesmo problema ainda ocorre, foram varios, entre eles:

--LOAD BALANCE
*Deixar apenas 1 link de internet no load balance, ou dois, ou tres
*Configurar o load para somar, para ele escolher qual o melhor link no momento
*Criar regra do link primario e backup em caso de falhas

--SQUID
* Alterações no Squid.conf conforme alguns foruns com relatos parecidos
* Nao lembro todos agora pq realmente foi muita alteracao


Resumindo: fora do Squid acessando diretamento o modem qualquer maquina funciona sem cair internet, ja passando por ele é instavel, o que se parece é que ha um conflito entre o load balance e o squid quanto a distribuição do link para as maquinas ou quando ele troca de link por alguma falha o squid parece que nao consegue voltar (mas tudo isso é uma analise minha com base no que ja venho testando e reparando)

Gostaria de ajuda. se preciso envio aqui meu Squid.conf


  


2. Re: Squid + Load Balance - Problemas com meu Squid

Amarildo Sertorio dos Santos
amarildosertorio

(usa Fedora)

Enviado em 28/10/2024 - 20:37h

Você monitora o ambiente? O Squid usa descritores de arquivo para gerenciar as conexões, e um valor insuficiente para `max_filedescriptors` pode causar a interrupção do serviço. Além disso, se o Squid atingir o limite de memória configurado em `cache_mem`, o alto consumo de memória também pode levá-lo a parar.

O Squid armazena arquivos de cache no disco; se o diretório de cache alcançar seu limite de espaço ou se houver problemas de I/O no disco, isso também pode comprometer o serviço.

É importante monitorar todos esses aspectos. Se tudo parecer em ordem, recomendo ativar o modo de depuração do Squid e analisar os logs.


3. Squid + Load Balance - Problemas com meu Squid

Tiago Rodrigues
tgwo

(usa Ubuntu)

Enviado em 29/10/2024 - 12:41h

Você monitora o ambiente?
R: Sim, venho usando vario comando para tambem melhorar este monitoramento pra que fique o mais detalhado possivel

O Squid usa descritores de arquivo para gerenciar as conexões, e um valor insuficiente para `max_filedescriptors` pode causar a interrupção do serviço.
R: Sobre isto notei que no meu Squid.conf nao havia esta configuracao la, entao eu adicionei "max_filedescriptors 4096"

Além disso, se o Squid atingir o limite de memória configurado em `cache_mem`, o alto consumo de memória também pode levá-lo a parar. O Squid armazena arquivos de cache no disco; se o diretório de cache alcançar seu limite de espaço ou se houver problemas de I/O no disco, isso também pode comprometer o serviço.
R: Na minha Configuracao atual esta assim:
cache_mem 6000 MB
cache_dir ufs /var/spool/squid 8000 16 256
cache_dir ufs /var/spool/squid1 8000 16 256
O Disco sendo usado 20% e a memoria em 40%

É importante monitorar todos esses aspectos. Se tudo parecer em ordem, recomendo ativar o modo de depuração do Squid e analisar os logs.
R: sobre isso coloquei no meu squid.conf a linha "debug_options ALL,1". ao rodar o comando tail -f /var/log/squid/cache.log ele me retornou este LOG em anexo, junto a ele estou enviando tambem a configuracao de porta do squid http e https.


4. Re: Squid + Load Balance - Problemas com meu Squid

Buckminster
Buckminster

(usa Debian)

Enviado em 29/10/2024 - 13:12h

O erro "ERROR: No forward-proxy ports configured" significa que a porta 3128 foi alterada incorretamente para uma porta de interceptação:
https://wiki.squid-cache.org/KnowledgeBase/NoForwardProxyPorts

"Configure várias linhas de porta com pelo menos uma capaz de receber tráfego de proxy de encaminhamento", ou seja, você precisa de uma porta 'intercept' e uma 'forward proxy' na configuração, mesmo que não use o forward proxy:

http_port 192.168.4.254:3128
http_port 192.168.4.254:3130 intercept
https_port 192.168.4.254:3129 intercept ssl-bump etc etc...

e altere no Iptables também para a porta 3130. A porta 3128 é aconselhado deixar como forward, pois é a porta padrão para isso, mas pode testar com
http_port 192.168.4.254:3130
http_port 192.168.4.254:3128 intercept
e caso der erro daí altere.

E no visible_hostname aconselho a colocar um nome em vez de IP:PORTA ou tire fora ou comente, pois o Squid sem essa opção configurada pega o valor de retorno de gethostname().
https://www.squid-cache.org/Doc/config/visible_hostname/

E o erro "Error sending to ICMPv6 packet to..." provavelmente sumirá, mas se persistir acrescente essas duas linhas no Squid:

tcp_outgoing_address NÚMERO_IPV6
tcp_outgoing_address 192.168.4.254

Para melhor configuração leia esse link:
https://www.squid-cache.org/Doc/config/tcp_outgoing_address/

Faça as alterações, reinicie a rede e o Squid e verifique os logs.

Em relação ao max_filedescriptors:
https://www.squid-cache.org/Doc/config/max_filedescriptors/

Verifique no sistema com o comando ulimit:
$ ulimit

Caso aparecer um número tenha o cuidado de deixar a diretiva no Squid com um número menor ou igual, nunca maior.
Caso aparecer "unlimited" na saída do comando daí pode deixar 4096 e vá monitorando para aumentar ou diminuir de acordo com o desempenho do Squid.
Toda alteração nesse parâmetro max_filedescriptors exige a reinicialização do Squid.
Pode verificar também com:

$ cat /proc/sys/fs/file-max

Caso a saída der um numerozão assim
9223372036854775807
é porque é unlimited.
Para melhor configuração:
$ ulimit -Hn
1048576
$ ulimit -Sn
1024

E deixe entre esses valores. O -Hn é o hard limit e o -Sn é o soft limit.
Tenha o cuidado de verificar isso com o usuário no qual você usa o Squid, caso for root use
$ su - root
$ ulimit -Hn
$ ulimit -Sn

Ou
$ su - usuario
$ ulimit -Hn
$ ulimit -Sn

Para ver o usuário do Squid execute:
$ id
para ver os usuários.
Exemplo:
$ id
uid=1000(debian) gid=1000(debian) grupos=1000(debian),0(root),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),33(www-data),44(video),46(plugdev),100(users),106(netdev),113(bluetooth),116(lpadmin),119(scanner),129(wireshark),1001(kismet)

No caso não tenho o Squid nessa máquina, mas você vê aí.
Pode ser que não tenha sido criado um usuário para o Squid, daí você usa o teu usuário, pois os File descriptors são específicos para cada usuário.
Para saber mais, leia isso:
https://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/


_________________________________________________________
Always listen the Buck!
Enquanto o cursor estiver pulsando, há vida!


5. Re: Squid + Load Balance - Problemas com meu Squid

Amarildo Sertorio dos Santos
amarildosertorio

(usa Fedora)

Enviado em 29/10/2024 - 15:03h

Para identificar a causa do problema, acompanhe o debug até o momento em que ele ocorre. Se as mensagens de log não forem detalhadas o suficiente, aumente o nível de depuração para obter mais informações.

Você mencionou que utiliza o Ubuntu 20.04 LTS. O Squid foi instalado a partir do repositório oficial ou compilado? A versão disponível nos repositórios oficiais do Ubuntu 20.04 é a 4.x, que possui vários relatos de problemas.

Sugiro que, em paralelo, você configure uma VM com o Ubuntu 24.04 LTS e o Squid 6.x para testes. Essa versão traz diversas correções e otimizações que podem melhorar o desempenho e a estabilidade.


6. Squid + Load Balance - Problemas com meu Squid

Tiago Rodrigues
tgwo

(usa Ubuntu)

Enviado em 30/10/2024 - 13:48h

Agradeço "Buckminster" e o "amarildosertorio". as ultimas dicas que voces me passaram vou segui-las aqui para continuar com os testes.

INFORMACAO IMPORTANTE: De meio dia de ontem 29/10 ate hoje 30/10 no momento em que escrevo aqui a internet simplismente nao caiu mais e nem ficou instavel esta rapida em todas as estações.
As ultimas alterações que fiz foi o que o amarildosertorio me recomendou colocar o "max_filedescriptors 4096" e o modo depuracao "debug_options ALL,1" no squid.conf

Alem disso no LOG do load balance eu notei o seguinte log, que se repetia infinitamente, o que fiz foi remover o cabo desta porta WAN/LAN2 (meu link claro 1Gps) deixei apenas os outros dois Links conectado no load balance, vi que o link da minha porta WAN (Oi 400Mb) é o que ta funcionando sem cair desde ontem meio dia, o da porta WAN/LAN1 (Vivo 600Mb) esta apenas somando ao da OI. em anexo envio alguns prints da config do load.

39 2024-10-28 07:49:43 DHCP Client NOTICE WAN/LAN2: DHCP client renewing IP succeeded. (IP-Address=192.168.2.2, Mask=255.255.255.0, Gateway=192.168.2.1)
40 2024-10-28 07:49:40 DHCP Client NOTICE WAN/LAN2: DHCP client lease expired. Began renewing the lease.
41 2024-10-28 07:26:14 DHCP Client NOTICE WAN: DHCP client renewing IP succeeded. (IP-Address=192.168.100.5, Mask=255.255.255.0, Gateway=192.168.100.1)
42 2024-10-28 07:26:11 DHCP Client NOTICE WAN: DHCP client lease expired. Began renewing the lease.
43 2024-10-28 07:19:44 DHCP Client NOTICE WAN/LAN2: DHCP client renewing IP succeeded. (IP-Address=192.168.2.2, Mask=255.255.255.0, Gateway=192.168.2.1)
44 2024-10-28 07:19:40 DHCP Client NOTICE WAN/LAN2: DHCP client lease expired. Began renewing the lease.


7. Re: Squid + Load Balance - Problemas com meu Squid

Amarildo Sertorio dos Santos
amarildosertorio

(usa Fedora)

Enviado em 30/10/2024 - 13:52h

Ative o modo de depuração somente durante investigações, mantê-lo ativo pode impactar o desempenho do sistema.


8. Squid + Load Balance - Problemas com meu Squid

Tiago Rodrigues
tgwo

(usa Ubuntu)

Enviado em 01/11/2024 - 11:26h

.....ATUALIZAÇÃO

Ainda sobre os testes, removi o load balance configurei  rede enp1s0 do ubunto em dhcp e o modem tambem em dhcp e coloquei o cabo direto do modem na maquina com o squid, ja vai para 2 dias funcionando sem ao menos oscilar. agora ja resetei o load e atualizei o firmware e vou reconfigura-lo para novos testes. mas de imediato o que detectei com isso é que o problema é a comunicacao do load balance com o squid.

Obrigado pelas dicas ate aqui. se tiverem mais alguma dica sobre como configurar este load para que trabalhe bem com o squid, eu agradeço!!


9. Re: Squid + Load Balance - Problemas com meu Squid

Buckminster
Buckminster

(usa Debian)

Enviado em 01/11/2024 - 12:54h

Vi que você configurou DNS no Squid, teste sem os DNSs no Squid com o Load Balance, comente os DNSs no Squid, reinicie e teste.
O problema também pode ser no Load Balance que ao trocar de link se perde nos DNSs, pois cada operadora força os seus próprios DNSs, é uma droga isso.
Verifique no Load Balance se tem como configurar/fixar os DNSs.
Você testou com o Load Balance sem o Squid e com o Squid sem o Load Balance?

E numa porta você tem um IP estático e em outra um IP dinâmico no Load Balancer, sendo que quem distribui IP para a rede é o DHCP do Ubuntu e ali no Load balancing tem onde configurar os DNSs.
Talvez esses DNSs estejam dando conflito com os das operadoras, por isso tem de reiniciar o Squid toda hora.

"tenho uma maquina que passa por fora desse Squid e e uso o IP do modem essa nao cai a internet a nao ser quando é problema mesmo na operadora ai sim."
Veja que o problema é uma incompatibilidade do Roteador e/ou do Load Balancing com o Ubuntu e/ou Squid, verifique os IPs e os DNSs de um e de outro para ver se batem.


_________________________________________________________
Always listen the Buck!
Enquanto o cursor estiver pulsando, há vida!


10. Re: Squid + Load Balance - Problemas com meu Squid

Tiago Rodrigues
tgwo

(usa Ubuntu)

Enviado em 05/11/2024 - 11:12h


[quote]Buckminster escreveu:

Vi que você configurou DNS no Squid, teste sem os DNSs no Squid com o Load Balance, comente os DNSs no Squid, reinicie e teste.
O problema também pode ser no Load Balance que ao trocar de link se perde nos DNSs, pois cada operadora força os seus próprios DNSs, é uma droga isso.
Verifique no Load Balance se tem como configurar/fixar os DNSs.
Você testou com o Load Balance sem o Squid e com o Squid sem o Load Balance?

E numa porta você tem um IP estático e em outra um IP dinâmico no Load Balancer, sendo que quem distribui IP para a rede é o DHCP do Ubuntu e ali no Load balancing tem onde configurar os DNSs.
Talvez esses DNSs estejam dando conflito com os das operadoras, por isso tem de reiniciar o Squid toda hora.

"tenho uma maquina que passa por fora desse Squid e e uso o IP do modem essa nao cai a internet a nao ser quando é problema mesmo na operadora ai sim."
Veja que o problema é uma incompatibilidade do Roteador e/ou do Load Balancing com o Ubuntu e/ou Squid, verifique os IPs e os DNSs de um e de outro para ver se batem.



Vou fazer este de comentar o DNS, realmente a operadora coloca outros DNS, meu teste ainda continua apenas MODEM + SQUID.

Ate o momento ja se completou 5 Dias de funcionamento normal, conforme enviei mensagem aqui no dia 01/11 apenas o modem direto no squid, sem oscilar, sem cair, sem precisar trocar o link de internet, e o squid distribuindo uma boa velocidade de conexao para as 60 maquinas com um link da claro de 1Gps.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts