Load Balance com PFSense

Publicado por Leonardo Damasceno em 25/10/2009

[ Hits: 51.640 ]

Blog: https://techcraic.wordpress.com

 


Load Balance com PFSense



Um problema que temos em grandes redes com links de pequeno porte é que, com vários usuários, o consumo da banda é grande, então precisamos dividir essa carga em mais de um link. Sendo assim usaremos o PFSense com a opção de load balance.

Segundo a Wikipédia, uma ótima definição para Load Balance seria:

"Balanceamento de carga é uma técnica para distribuir a carga de trabalho uniformemente entre dois ou mais computadores, enlaces de rede, UCPs, discos rígidos ou outros recursos, afim de otimizar a utilização de recursos, maximizar o desempenho, minimizar o tempo de resposta e evitar sobrecarga. Utilizando múltiplos componentes com o balanceamento de carga ao invés de um único componente pode aumentar a confiabilidade através da redundância."

Bem, eu posso resumir e explicar da seguinte maneira:

Se você tem dois links de 2 MB cada, digamos que um deles está sendo consumido de maneira absurda, então porque não colocar o outro link para dividir essa carga toda? Assim, sua rede ficaria "mais leve".

É exatamente o que vamos fazer aqui, esse é o conceito básico para "Load Balancing", ou balanceamento de carga.

Vamos utilizar o firewall PFSense, que roda em um FreeBSD. Particularmente o considero um dos melhores firewalls pela sua estabilidade, robustez e fácil administração.

Fazendo Load Balance

Vá na opção "Load Balancer", dentro do menu "Services", então você cairá nessa tela:
Clique no botão "+", agora você estará nessa tela:
Vamos preencher os campos, deixando no final assim:
Bem, vamos explicar os campos:
  • Name: Aqui você colocará o nome do balanceamento, no meu caso defini como "LoadBalance";
  • Description: Aqui você pode colocar algo mais detalhado, no meu caso usei "Balanceamento entre WAN1 e WAN2";
  • Type: Selecione Gateway, pois vamos trabalhar com os gateways, que serão os links;
  • Behavior: Selecione Load Balancing, que é a nossa opção deste tutorial;
  • Monitor IP: Escolha a interface e clique em Add Pool. Note que ele já enxerga o IP quando você adiciona a interface.

Nesta opção, "Monitor IP", escolha a WANs gateway.

Abaixo, em "Interface Name", escolha WAN e clique em "Add Pool".

Em "List" é exibido o que foi adicionado, se por algum acaso você adicionou errado, selecione a interface/IP e clique em "Remover From Pool".

Agora clique em "SAVE".

Obs.: Note que os campos Port e Monitor não podem ser alterados, pois eles são usados apenas quando selecionamos a opção "Server" em Type.

Agora você tem um Balanceamento de carga devidamente configurado.

Lembre-se que se surgir uma janela no topo da página pedindo que você "Aplique as alterações", como essa, confirme:
Depois de finalizar a configuração do balanceamento, lembre-se que você precisa adicionar as regras (Firewall > Rules) da sua interface, por exemplo a LAN.

Espero ter sido bastante claro. :)

Outras dicas deste autor

Instalando o Snort no Debian

Modificando o seu localtime

Criando um pacote .deb

Instalando o OCS Inventory

Visualizando mensagem da fila do Postfix

Leitura recomendada

Instalando e configurando servidor SSH (Ubuntu)

Scanner Lexmark série X1100/X1200

Utilizando a classe phpmailer como alternativa a função mail() do PHP

Emerald no Ubuntu 11.10 - Como instalar e ativar

Nova distro brasileira - Librix Linux

  

Comentários
[1] Comentário enviado por ayco em 01/01/2010 - 21:45h

Boa noite meu amigo, estou dando uma lida em seu post e achei bem bacana, agora uma dúvida que tenho em relação ao balanceamento de carga com o pfsense, você sabe me informar se eu consigo repassar ip's válidos para alguns clientes da rede interna que ficam atrás do balanceamento de carga ?
Tenho a necessidade de criar um balanceamento com 1 link dedicado e mais 3 adsl, então por esse esquema que você gentilmente nos ensinou eu teria um balanceamento de carga totalmente transparente para meus usuários e sem nenhuma nessecidade de criar grupos ou redirecionar certos sites para um determinado link o que seria um balanceamento de domínios por exemplo ... mas dentro da minha rede existem usuários que utilizam sistemas e cameras que precisam ser acessados remotamente de fora da rede interna ... então no link dedicado que possuo tenho vários ip's válidos disponivéis ... você sabe me informar como eu faço para que alguns de meus usuários com essas necessidades possam receber ip válido dentro dessa rede que recebe o ip inválido ? se não for possível saberia me dizer como eu faço para associar alguns ip válidos com outros inválidos pra poder acessar essas cameras e sistemas remotamente ?
Desde já agradeço a atenção, creio que muitas pessoas tem dúvidas a respeito disso.

[2] Comentário enviado por romulofranco em 11/02/2010 - 19:23h

Olá tudo bem?

Eu me cadastrei para te fazer uma pergunta, tenho o pfSense instalado e estou muito satisfeito.
Porem nao queria exatamente configurar um loadbalance, um dos nossos links é dedicado para receber acessos de nossos clientes, entao neste intuito, queria deixar por exemplo a WAN2 somente para receber acessos mas tambem caso ocorra uma eventual falha que os acessos fossem redirecionados para este link independente da origem.

Há alguma maneira de efetuar isso?

[3] Comentário enviado por leodamasceno em 20/07/2010 - 15:57h

Olá ayco, desculpe a demora.

Não sei se entendi bem o seu problemas, mas se for realmente o que estou pensando você pode utilizar NAT 1:1, ou o Port Forwarding no caso do software das cameras utilizar alguma porta específica. Lembrando que ao adicionar um "NAT", o PFSense automaticamente adiciona uma regra na interface escolhida.

Boa sorte, e depois nos conte se deu certo. :)

[4] Comentário enviado por leodamasceno em 20/07/2010 - 16:46h

Olá romulofranco, pelo que você descreveu, parece ser um caso para o FailOver.
Olha isso: http://doc.pfsense.org/index.php/Multi-WAN_Version_1.2.x

[5] Comentário enviado por jpaulo_farias em 18/01/2012 - 01:08h

Ola r leodamasceno o seu artigo e muito bom eu fiz o balanceamento de cargas e esta funcionando muito bom so que eu estou tendo problemas com sites seguros como o de banco, no pfsense eu nao estou conseguindo direcionar todo o trafico da porta 443 pela WAN1, para nao dar problemas com acessos a sites de bancos, fico no seu aguardo.


[6] Comentário enviado por leodamasceno em 18/01/2012 - 15:41h

Opa jpaulo_farias, cara sites de bancos geralmente não aceitam load balance então expiram a sessão utilizada. Desta forma, você deve criar um alias definindo os IPs dos bancos como Caixa, Banco do Brasil, etc... Depois, crie uma regra liberando a LAN subnet para acessar como destino este alias nas portas específicas. Um abraço.

[7] Comentário enviado por rklogic em 10/06/2013 - 09:20h

Leodamasceno obrigado pelo otimo post,mais poderia me auxiliar no seguinte cenario.

tenho um servidor PFsense com a versao 2.0.3 instalada e configurado o squid como proxy transparente rodando apenas o filtro de conteudo http e https e antivirus no mesmo.

esta semana adquiri um link dedicado de 2mb e preciso colocar esse link como loadbalance e failover estive olhando as opcoes que vse passou mais no 2.0.3 e diferente poderia me auxiliar.

Wan1=4mb ctbc
Wan2=embratel
lan=192.168.0.1


ja tentei configurar o dois links como tier 1 e colocar pra funcionar ate entao funciona mais tive que habilitar a opcao stike connections e allow dentro de advanced. so que igual alguns sites estao lentos pra carregar ! entao desabilitei o load e coloquei apenas o failover ate aew blza o failover funcionando mais o problema e a velocidade de download que caiu extremamente.

se tiver qualquer material pra me ajudar vou refazer e encontrar o erro.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts