Proxy saindo por um link em Multi-WAN com FailOver
-
Bom dia,
Tenho dois links e preciso que toda a navegação web passe pelo squid e saia pelo primeiro link (WAN1), além disso, deve haver um failover para que o proxy passe pelo segundo link(WAN2) caso o primeiro pare de funcionar.
Pra melhorar a situação, todo tipo de trafego que não seja web, deve passar pelo segundo link.
Pensei em fazer assim, crio um grupo failover, WAN1 tier1, WAN2 tier2 do tipo Member Down.
A minha duvida é se na regra da LAN onde libero a porta 3128 pro LAN Address, colocando o GW FailOver, vai funcionar da forma que expliquei acima.
Deixando o WAN2 como GW default, e marcando a opção "Allow default gateway switching" todo o trafego exceto do proxy passaria pelo segundo link e o WAN2 assumiria quando o proxy deixasse de funcionar na WAN1 ?
Algo a mais que deveria configurar, tipo tcp_outgoing_address do squid ? -
Algo a mais que deveria configurar, tipo tcp_outgoing_address do squid ?
Sim, a regra a aba floating.
-
não funcionou..
postei umas ss ai pra ver se fica mais claro oque fiz..observe que estou fazendo isso em ambiente de teste com o mesmo link ou seja, mesmo gw, disseram que isso não funciona.. pelo menos o failover sem o squid funcionou, e se for o caso, olhando pelas ss alguém pode dizer se estar certo pra eu poder levar isso prum ambiente de produção?OBS: no squid eu coloquei tanto LAN quanto loopback.
-
kelsen,
Deve haver um caminhão de posts aqui mesmo no fórum abordando a temática.
Eis um dos últimos publicados: http://forum.pfsense.org/index.php/topic,38882.0.html
Abraços!
Jack -
vlw JackL, embora eu esperasse um how-to, consegui fazer funcionar a partir de alguns tópicos aqui do fórum, então pra quem já se desesperou, aqui vai um howto funcionando perfeitamente em ambiente de teste:
PfSense 2.0.1 - HOWTO FailOver Squid modo normal (não-transparente)
Com os Gateways definidos, deixe um como default.
Obs: Defina os dois Gateway com peso 1; não funcionou utilizando pesos 1:2.
Criei um grupo para o failOver, cada gateway deve estar em tier diferente, como no exemplo.
Em Firewall -> Rules -> Floating Rules
crie uma regra como mostra a figura, selecione as duas interfaces WAN, Protocolo TCP, Qualquer Origem e Destino, Porta de Destino HTTP/HTTPS e Gateway Failover criado anteriormente.
Em Firewalll -> Rules -> LAN
crie uma regra como mostra a figura, observe que na regra do proxy (3128) o destino é * (any) e não Lan Address.
Em Services ->Proxy Server
selecione somente a interface LAN, não utilize a interface loopback como muitos já disseram em outros posts.
em Custom Options, adicione a linha " tcp_outgoing_address 127.0.0.1".
Pronto, basta fazer um teste, retire um GW e veja em Diagnostic -> Routes se a rota default mudou e tente navegar.
-
Esqueci de algo importantíssimo.
Essas informações foram obtidas pelo site http://www.communig8.com/articles/64-open-source/137-pfsense-multi-wan-how-to-really-make-it-work -
aqui vai um howto funcionando perfeitamente em ambiente de teste:
Parabéns pela contribuição…
Fica a sugestão de fazer um post (escrever este seu artigo) lá no blog da comunidade brasileira do pfSense: http://www.pfsense-br.org/blog/
Basta se registrar e começar a contribuir.
Abraços!
Jack -
Olá,
É necessário fazer uma correção na regra de Floating.
A regra deve abranger apenas a porta 80, se a 443 for incluida pode causar Loop, principalmente se o Squid estiver em modo transparente.
Outro erro é que o Range está de HTTP a HTTPS, isso inclui todas as portas de 80 a 443, ou seja…(81,82,83,84,85... 441,442).
Testado com o Squid 2.7 e 3.1 e funcionando.
-
Outro erro é que o Range está de HTTP a HTTPS, isso inclui todas as portas de 80 a 443, ou seja…(81,82,83,84,85... 441,442).
Cool LFCavalcanti!
Bem observado…
-
Outro erro é que o Range está de HTTP a HTTPS, isso inclui todas as portas de 80 a 443, ou seja…(81,82,83,84,85... 441,442
é verdade! basta criar um alias com as duas portas.
A regra deve abranger apenas a porta 80, se a 443 for incluida pode causar Loop, principalmente se o Squid estiver em modo transparente.
No caso o tutorial é pra squid modo normal (não transparente), poderia explicar o pq da porta 443 causar loop?
-
Olá,
O Loop ocorre porque o NAT Outbound(conexões de saida) entrega as conexões direto na WAN ativa, independente do SQUID, e com a regra de Floating tentando capturar estes pacotes, a conexão pode entrar em Loop dentro do PFSense e o usuário receber um erro de tempo esgotado. Como o tráfego HTTP é capturado automaticamente pelo Squid e o HTTPS não, o resultado é o erro nas conexões HTTPS.
Então só recomendo criar a regra HTTPS em Squid não transparente, mas isso não testei ainda.
-
isso tem lógica caso o squid esteja no modo transparente, que no caso o HTTPS não é redirecionado pro squid, mas como o tutorial é pra squid mono normal, acredito que não vá dar nenhum problema, se fosse um bom tempo atrás poderia testar isso mas agora não tenho esse ambiente pra testar.
-
Eu fiz questão de chamar a atenção para isso porque no Link que você usou como base o procedimento é feito para Squid Transparente, o que pode causar algum engano.
Como a solução é viavel para os dois modos de operação de proxy, seria legal editar o tuto.
Deixo claro que não estou criticando, só colaborando ;D