Vendo desse problema, podemos estar configurando um Cluster de hardware, onde se o primário ficar offline, o secundário assumirá.
Utilizando da tecnologia de CARP, recurso esse importado do FreeBSD / OpenBSD, uma vez que utilizará de um IP Virtual flutuante dentro da rede, verificando o estado dos servidores e fazendo o sincronismo entre os equipamentos de vários serviços:
- Sincronismo de usuários / grupos, do menu " User Manager ";
- Regras de Firewall;
- Regras de NAT;
- Regras de Schedules;
- Sincronismo de OpenVPN;
- Regras de Rotas Estáticas;
- DNS Forwander;
- e muito mais.
Com isso estaremos utilizando do seguinte cenário:
A primeira configuração que devemos fazer, é permitir a comunicação entre as interfaces dos pfSense, através de regra de Firewall, no entanto estaremos limitando somente entre os IPs das interfaces SYNC, em --> Firewall - Rules.
Libera a comunicação do pf01, com a rede SYNC do pf02.
Libera a comunicação do pf02, com a rede SYNC do pf01.
Ao acessar as regras de LAN do Firewall, veremos que temos regras somente no pf01, onde após o sincronismo, será criado para o pf02.
Regras criadas somente na LAN entre as VMs somente no pf02.
Sem nenhuma regra criada no pf02.
Configuração no pfSense 01
Em --> Firewall - Virtual IPs - CARP Settings, iremos efetuar as seguintes configurações:
Synchronize States: Habilitar;
Interface: SYNC;
Synchronize Config to IP: IP do pfSense secundário ( 192.168.200.3 );
Remote System Username: Usuário utilizado para sincronização, estarei utilizando ( admin );
Remote System Password: Senha para autenticação do usuário, estarei utilizando ( pfsense );
Habilitar os serviços que deseja sincronizar, não sincronizar "IPs virtuais" e bastar " Salvar ".
Configuração de sincronismo no pf01.
Configuração no pfSense 02
Em --> Firewall - Virtual IPs - CARP Settings, iremos efetuar as seguintes configurações:
Devemos somente habilitar os campos.
Synchronize States: Habilitar;
Interface: SYNC;
Com isso, se acessarmos as regras de Firewall, veremos que já efetuou o sincronismo.
Regras sincronizadas através do CARP.
Agora teremos de definir as configurações principais, que é a configuração dos IPs flutuantes entre as interfaces, em --> Firewall - Virtual IPs
Configuração no pfSense 01 Deveremos configurar o IP de cada interface, como sendo modo CARP.
Configuração do IP Virtual da LAN, devendo ser configurado nos dois pfsenses.
Consulta aos IPs Virtuais criados.
Após isso, deveremos estar carregando as informações do CARP, forçando uma sincronização em --> Status - Filter Reload
Forçando a sincronização, processo um pouco demorado.
Com isso devermos estar habilitando o CARP no pf02, através do " Enable CARP ", em --> Status - CARP ( FailOver )
Habilitação no pf02, que será carregado como Backup.
Agora iremos testar a funcionalidade do CARP, testando a comunicação nos IPs e efetuando a reincialização do pf 01 ( principal ), através do menu --> Diagnostics - Reboot, onde os pacotes serão encaminhados ao pf 02.
Indisponibilidade do pfSense 01 onde o Slave passa a responder como Master.
Onde assim que o pf 01 ficar disponível, retornará como Master.
Informações Importantes
- Para que o secundário suba como Master, o mesmo deve ter perdido TOTALMENTE a comunicação com o primário.
- Serão efetuadas as sincronizações somente dos serviços nativos do pfSense, pacotes deverão ser instalados em ambos;
- Regras e diretivas de Proxy, deverão ser configurados em ambos, e devem ser setados no IP Virtual da interface de LAN;
- Muitos switches podem travar, após a troca repentina de IP para MAC Addres, portanto verifique se o mesmo possui alguma informação como " Permit Change MAC Addres ".
- Na nova versão do pfSense (2.1), as configurações são feitas através do menu, System --> High Avail. Sync ;
No mais é isso pessoal, espero que tenham gostado
Abs, Jonathan
Para quem quer conhecer mais sobre Firewall: http://debsolutionsti.com/firewall/