Criando cluster com o PFSense

A redundância é um fator importante em uma rede. Este artigo ensina como criar uma redundância com duas máquinas utilizando PFSense, fazendo FailOver com dois clusters.

[ Hits: 43.198 ]

Por: Leonardo Damasceno em 15/12/2009 | Blog: https://techcraic.wordpress.com


Introdução



Criaremos uma redundância no PFSense, mas antes disso vamos ver o que é necessário para isso:
  • Duas máquinas com PFSense
  • Três placas de rede para cada máquina
  • Cinco cabos de rede
  • Switch para LAN

Se você tem tudo isso, podemos começar o planejamento. Teremos duas máquinas com PFSense, onde as duas são "iguais", com as mesmas regras, ou seja, basta fazer o backup e restaurar na outra máquina.

Sincronizaremos os dois PFSenses, definindo quem será o master e quem será o backup, ou seja, será passado um cabo do PFSense Master para o PFSense Backup, quando um falhar, o outro assume, fazendo FailOver.

A questão do cluster será configurada no menu CARP, em Firewall > Virtual IP.

Então vamos ver como ficaria o fluxograma:
Linux: Criando Cluster com o PFSense

Criando CARP Cluster

Vamos criar a interface SYNC, que será a nossa interface de sincronização entre os dois firewalls, acesse:

Interface>OPT1

Uma pergunta básica que sempre me fazem: "Por que OPT1?"

O PFSense, assume duas interfaces, WAN e LAN, após isso, virão: OPT1, OPT2, OPT3... Mas não se preocupe porque você pode e vai modificar esse nome para SYNC.

Quando acessado o menu Interfaces, na opção OPT1 você deverá deixar a tela igual a essa:
Linux: Criando Cluster com o PFSense
Note que em "Description" está "SYNC", para você provavelmente estará "OPT1". Então modifique conforme na imagem e em "IP address" defina o IP e a máscara de rede, no meu caso estou usando 192.168.3.1/24. Esse será o IP/Máscara da minha interface, que agora tem o nome de "SYNC".

Após alterar, clique em Save e depois confirme a sua alteração, clicando em "APPLY CHANGES".

Agora vamos criar uma regra para que todo o tráfego nessa interface, que tem a origem de PFSense Master e destino de PFSense Backup, seja liberado.

Clique em Firewall > Rules. Selecione a aba SYNC e clique no "+" para adicionar uma nova regra, dessa maneira:
Linux: Criando Cluster com o PFSense
Após clicar no botão "+", vamos adicionar a regra com a seguinte configuração:
  • Action - PASS (a regra é para acesso, ou seja, PASS. Caso a regra fosse para bloqueio, usaríamos BLOCK ou REJECT)
  • Disabled - null (ou seja, não marque essa opção)
  • Interface - SYNC (pois estamos aplicando essa regra na interface SYNC)
  • Protocol - TCP (o protocolo para a comunicação usado é o TCP/IP)
  • Source - Selecione em "Type" a opção "ANY", clique em Advanced e selecione "ANY" também.
  • Source OS - Any
  • Destination - Selecione em "Type" a opção "ANY", clique em Advanced, e selecione "ANY" também.
  • Destination port range - Any (estando para "From", quanto para "To")

Agora vá ao final da página e coloque a descrição em "Description":

Description - Sincronização FW LEFT -> FW RIGHT (onde FW Left é o meu Master, o firewall que estou alterando agora e Right será o meu Backup)

Veja no exemplo:
Linux: Criando Cluster com o PFSense
Pronto, basta clicar em "Save" e depois aplicar as modificações clicando em "Apply changes", como nessa imagem:
Linux: Criando Cluster com o PFSense
Agora faça o mesmo para o firewall Right, ou seja, o firewall Backup. Modifique o nome da interface, adicione a mesma regra.

Após consultar as regras existentes na interface SYNC, deve ficar assim:
Linux: Criando Cluster com o PFSense
Ainda no firewall backup, vamos clicar na opção Firewall > Virtual IPs e acessar a aba "CARP Settings". Faça apenas duas modificações:
  • Synchronize Enabled - Marque essa opção
  • Synchronize Interface - Selecione "SYNC"

Depois clique em "SAVE" ao final da página.

Vamos voltar ao firewall Master e fazer o mesmo procedimento, mas com algumas alterações.

Vá ao menu Firewall > Virtual IPs e acesse a aba "CARP Settings", agora marque e selecione algumas opções:
  • Synchronize Enabled - Marque essa opção
  • Synchronize Interface - Selecione "SYNC"
  • Synchronize rules- Marque essa opção
  • Synchronize NAT - Marque essa opção
  • Synchronize Virtual IPs - Marque essa opção
  • Synchronize to IP - Coloque o IP que foi definido na interface SYNC do Firewall BACKUP
  • Remote System Password - Vamos utilizar o password "teste"

Clique em "SAVE".

    Próxima página

Páginas do artigo
   1. Introdução
   2. Finalizando a configuração
Outros artigos deste autor

Instalando o WebHTB

Criando DMZ com o PFSense

Adicionando usuário no OpenLDAP

Servidor de log no Debian com Syslog-ng

Criando VPN com o PFSense

Leitura recomendada

Conexões redundantes e com balanceamento de carga - Ubuntu 9.04

Slackware 11 + kernel-2.6.18 + Layer7 + iptables

Balanceamento de carga entre 2 placas de rede

Montando regras iptables

Como bloquear o Ultrasurf - solução definitiva (iptables + Fail2ban)

  
Comentários
[1] Comentário enviado por cleysinhonv em 15/12/2009 - 13:17h

Olá,

Me desculpe a pergunta, O que é o PFSense?

[2] Comentário enviado por leodamasceno em 15/12/2009 - 13:41h

Olá cleysinhonv,
PFSense é um firewall com interface gráfica que é rodado em um FreeBSD.
Hoje, o PFSense está na versão 1.2.2, ele é muito utilizado em grandes redes.
Pode-se dizer, que ele é uma "alternativa" ao iptables, Mikrotik e outros firewalls de grande conhecimento.

Um abraço.

[3] Comentário enviado por fhferreira em 16/12/2009 - 08:52h

Olá,

Primeiramente Parabéns por mais um artigo bem detalhado e objetivo. Tenho uma dúvida sobre PFSense, como faço para configurar um ip secundário em uma interface do PFSense, por exemplo, ETH0:0 192.168.0.1 no caso do Linux.

Abraços.

[4] Comentário enviado por leodamasceno em 16/12/2009 - 09:08h

Para o seu caso fhferreira,
acho que a opção "Virtual IP" no menu "Firewall" ( Firewall > Virtual IP ) vai servir :).
Você vai criar um IP Virtual na interface "X" que você vai definir, e também vai definir outras opções.


Um abraço.

[5] Comentário enviado por nps em 16/12/2009 - 10:23h

Muito bom seu tutorial, para quem não conhece o pfsense é o melhor firewall que
existe. Uso ele para compartilhar a internet em dois hoteis como gateway.
Mas não estou conseguindo fazer o traffic shaper limitar a taxa de downloads e upload
por exemplo . DOWNLOAD 15kbps e UPLOAD 15kbps
Para a classe de ips : 192.168.0.10 ate 192.168.0.50 por exemplo.

tem como vc me ajudar.
Obrigado

[6] Comentário enviado por y2h4ck em 16/12/2009 - 10:41h

nps, quanto a ser o melhor que existe dai ja é exagero neh ;D

[7] Comentário enviado por nps em 16/12/2009 - 10:50h

É, acho que exagerei. O IPTABLES do Linux é muito bom tambèm.

[8] Comentário enviado por leodamasceno em 16/12/2009 - 11:23h

y2h4ck, concerteza o PFsense é um dos melhores, e pra mim é a melhor solução livre de firewall com interface web.
Já pelo lado "pago", pra mim o melhor se chama MIKROTIK.

Respondendo a pergunta do nps:
Eu não aconselho utilizar o Traffic shaper, porque:
Simplismente ele não funciona, pois para utiliza-lo você precisa de alguns modulos no kernel, e não adianta ativar, você realmente tem que compilar o kernel e ativa-los. Um deles é o: dummynet

Uma ótima ferramenta para isso é o WebHTB, onde fiz um tutorial de instalação, acho que é um dos primeiros em português e de autoria própria:
http://www.vivaolinux.com.br/artigo/Instalando-o-WebHTB

Existem algumas alternativas pagas para controle de banda, mas nunca testei.


Lembrando que ainda existem HTB e CBQ em modo texto.


Boa sorte :)

[9] Comentário enviado por drakula em 16/12/2009 - 21:57h

Vale só complementar que saiu a 1.2.3 e com mudanças significativas no Load Balance, corrigiram o problema de ficar caindo, na minha opinião só falta o dansguardian nele para ficar completo.

[10] Comentário enviado por reverson_minero em 20/02/2010 - 10:48h

Cara eu lhe enviei um email...só mandei aqui pra confirmar !
Vllw

[11] Comentário enviado por volcom em 25/09/2012 - 16:09h

Legal, meu CARP esta funcionando sem problemas, mas além de firewall, meu PFSense também tem o Squid rodando. COmo faço para que o Squid slave assuma caso o master caia?

Até pensei em alterar a configuração do meu navegador para o IP do VIP, mas sem sucesso.

Vi algumas coisas na net sobre fazer um NAT para o loopback, mas não entendi muito bem...

Tem alguma dica?

Valeu!


Contribuir com comentário