Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    (Resolvido) pfSense 2.0.1 + Load Balancer = Nem com reza brava :(

    Scheduled Pinned Locked Moved Portuguese
    5 Posts 2 Posters 3.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • E Offline
      ExodusEvil
      last edited by

      Pessoas, boa noite!

      Domingão, chovendo e sem a patroa por perto já viu: bora resolver os pepinos do trampo  :P
      Estou com um pfSense tentando fazer funcionar o load balancer (balanceamento de carga e não de links!). O ambiente será desta forma:

      LAN = 10.0.0.x/24
      pfSense LAN IP = 10.0.0.1
      WebServer 1 = 10.0.0.21
      WebServer 2 = 10.0.0.22

      Fui em Services > Load balancer e configurei conforme abaixo:

      • Pools
        WebServers - loadbalance - 10.0.0.21 10.0.0.22 - 80 HTTP

      • Virtual Servers
        WeBCluster tcp 10.0.0.121 80 WebServers

      Resumindo: tenho 2 servidores web (10.0.0.21 e 10.0.0.22), configurei um Virtual Server com IP 10.0.0.121 com monitor HTTP.
      Preciso balancear as conexões HTTP nos WebServers (10.0.0.21 e 22) apontando o Virtual Server (10.0.0.121) na minha rede interna (LAN).

      Já testei de tudo quanto é forma e não vai nem a pau. Criei regra firewall permitindo qualquer protocolo e qualquer serviço/porta na LAN Subnet.
      Já configurei a regra permitindo HTTP no IP 10.0.0.121 e nada. Se abrir o browser e acessar os IPs 10.0.0.21 e 22 vai na boa, mas como Virtual IP nem.

      Lembrando que os status do load balancer estão ok (ambos verdinhos). Alguma ajuda?

      Obrigado e abraços!

      Att.


      Cristiano Santos

      1 Reply Last reply Reply Quote 0
      • marcellocM Offline
        marcelloc
        last edited by

        Para você conseguir fazer esse balanceamento interno funcionar, você vai precisar forçar um nat de saída no pfsense para que as solicitações feitas ao ip do balanceamento sejam respondidas ao firewall e não os ip interno que solicitou.

        Exemplo de seqüência de pacotes sem forçar o source nat:

        • 10.10.0.51 pede a pagina para 10.0.0.121

        • 10.0.0.121 encaminha para 10.0.0.21

        • 10.0.0.21 verifica que 10.0.0.51 esta na mesma rede

        • 10.0.0.21 responde a solicitação direto para 10.0.0.51

        • 10.0.0.51 rejeita a comunicação porque pediu o site para 10.0.0.121 e não para 10.0.0.21

        Quatro pontos importantes:

        • 10.0.0.121 precisa ser um alias no pfsense para ele poder responder as requisições

        • Não esqueça de deixar uma regra na lan permitindo o acesso ao ip virtual e provavelmente aos servidores web

        • Você precisa mudar a porta da interface web de 80 para não dar conflito com a porta do loadbalance

        • Fazendo o source nat você só era o ip do firewall no log dos servidores web.

        Treinamentos de Elite: http://sys-squad.com

        Help a community developer! ;D

        1 Reply Last reply Reply Quote 0
        • E Offline
          ExodusEvil
          last edited by

          marcelloc,
          Uma boa noite e muitíssimo obrigado pela sua explicação. Se entendi certo era mais ou menos o que eu imaginava: para fazer load balance o pfSense necessita que os clientes estejam em uma rede diferente do Virtual Server/Servidores Web que serão balanceados.

          Pensando em algo como abaixo:

          ETH0
          VLAN_0_WAN
          SUBNET 10.0.0.x/24
          GATEWAY 10.0.0.1 (próprio pfSense)

          ETH1
          VLAN_10_SERVIDORES
          SUBNET 10.0.10.X/24
          GATEWAY 10.0.10.1 (próprio pfSense)

          ETH2
          VLAN_20_CORPORATIVA
          SUBNET 10.0.20.X/24
          GATEWAY 10.0.20.1 (próprio pfSense)

          Supondo que minha topologia seja a que descrevi acima eu devo configurar o Load Balance nos servidores Web (10.0.10.21 e 22), com o Virtual Server como 10.0.10.121. Os clientes virão de outra subnet (10.0.20.x), logo eles estarão sendo "NATeados" entre as subnets, e consequentemente o pfSense pode executar o balanceamento. Isso mesmo?

          Quanto a porta de acesso eu configurei o pfSense para HTTPS, e desabilitei a regra que joga de HTTP para HTTPS nas opções avançadas. Há algo mais que devo fazer?

          Última dúvida mesmo criando o Virtual Server no Load Balance eu ainda preciso criar um álias para o IP do Virtual Server em "Firewall > Virtual IP"?
          O pfSense não cria este objeto (Virtual Server) sozinho quando se configura em "Services > Load Balancer"?

          Abraços e muito obrigado mais uma vez!

          Regards,

          Att.


          Cristiano Santos

          1 Reply Last reply Reply Quote 0
          • marcellocM Offline
            marcelloc
            last edited by

            Voce vai precisar do alias de ip ou publica no proprio ip da interface. O serviço de load balance precisa de um ip atribuído no pfsense para funcionar.

            Com relação a interface de publicação, eu prefiro publicar o ip virtual na interface onde os clientes estão ou de onde eles vem.

            O procedimento de porta está ok se você não precisa publicar https

            Treinamentos de Elite: http://sys-squad.com

            Help a community developer! ;D

            1 Reply Last reply Reply Quote 0
            • E Offline
              ExodusEvil
              last edited by

              Poutz que me paréca!!! Falar com quem manja é FLÓRIDA!!!
              Ficou SHOOOOOOW DE BOLA! Muito obrigado mesmo Marcelloc!!!

              ;D

              Também concordo que o melhor é publicar na interface onde os clientes estão (fica mais lógico/sensato ao meu ver!).
              Bastou setar o Virtual IP (10.0.10.121) na Interface (CORP/Rede 10.0.10.x/24) que ficou perfeito!

              Cara, te devo uma gelada!
              :D

              Abraços!!!!!

              Att.


              Cristiano Santos

              1 Reply Last reply Reply Quote 0
              • First post
                Last post
              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.