Conflitos de balanceamento de carga e proxy reverso do Squid

1

Estou com dificuldades para configurar o Squid 3.3 para fazer o "balanceamento de carga" em vários links WAN (usando ACLs aleatórias + opções tcp_outgoing_address ) e também ter um "proxy reverso".

Funciona muito bem quando eu configuro um (balanceamento de carga) ou outro (proxy reverso), mas quando ambos estão configurados, o proxy reverso não funciona mais corretamente.

As capturas de pacotes mostram que o tráfego de proxy reverso que normalmente seria enviado na interface da LAN, agora está sendo produzido na interface da WAN (e, portanto, não chega aos hosts internos na LAN). Claramente, algo sobre a configuração " tcp_outgoing_address " também está sendo aplicada ao tráfego de proxy reverso, em vez de apenas o tráfego de proxy de encaminhamento.

Abaixo está o que eu uso para a configuração de balanceamento de carga:

acl fiftyPercent random 0.5
tcp_outgoing_address <<WAN1-IP-HERE>> fiftyPercent
tcp_outgoing_address <<WAN2-IP-HERE>>

Consulte - link

Eu sei muito pouco do Squid e minhas buscas de inúmeros posts não renderam nada (ainda). Alguém sabe como posso aplicar o balanceamento de carga para aplicar somente ao tráfego de proxy de encaminhamento e ainda ter o tráfego de proxy reverso funcionando como se não estivesse definido?

    
por Jaans 14.01.2015 / 01:08

2 respostas

1

Eu descobri como consertar meu problema.

Embora a sugestão do drookie para criar e ACL para o proxy reverso e aplicar a tag tcp_outgoing_address a ele parecesse óbvia, eu não tinha ideia de por onde começar, muito menos como as ACLs são definidas / processadas.

Primeiro eu tive que descobrir como o Squid.conf é interpretado (ou seja, de cima para baixo para ACLs de primeira correspondência) e o que algumas das várias "tags" significam. Eu achei o seguinte link bastante útil para obter algumas noções básicas sob o cinto: link

Após gravar o arquivo Squid.conf, descobri que a configuração do proxy reverso existente já tinha as ACLs definidas (era necessário para as tags cache_peer_access ).

Eu entendi como estes são interpretados pelo Squid (ou seja, a ordem, precedência, substituições, etc.).

Tudo que eu precisava fazer era adicionar o seguinte (cada linha é para cada ACL de proxy reverso já definido. 192.168.0.254 é o IP da minha interface de LAN):

tcp_outgoing_address 192.168.0.254 OWA_URI_pfs
tcp_outgoing_address 192.168.0.254 rvm_Extranet
tcp_outgoing_address 192.168.0.254 rvm_Prototype
tcp_outgoing_address 192.168.0.254 rvm_WebService
tcp_outgoing_address 192.168.0.254 rvm_License

Isso pode ser seguido por:

acl fiftyPercent random 0.5
tcp_outgoing_address <<WAN1-IP-HERE>> fiftyPercent
tcp_outgoing_address <<WAN2-IP-HERE>>

O resultado é que o tráfego de proxy reverso sai do IP do lado da LAN especificado e, em seguida, o restante de todo o tráfego restante é balanceado por carga através do random ACL.

Espero que ajude alguém que possa encontrar um problema semelhante.

    
por 14.01.2015 / 13:55
1

Crie uma ACL para o tráfego de proxy reverso e defina tcp_outgoing_address <<LAN-IP-HERE>> para ela.

    
por 14.01.2015 / 06:32