HIGH AVAILABILITY WAN/LAN – PFSENSE
CENÁRIO
PRÉ-REQUISITOS
Use mesma versão do pfsense nos firewalls. Não sei nas mais atuais, mas já vi casos de versões diferentes serem um problema para funcionar corretamente a alta disponibilidade.
CONFIGURANDO INTERFACES
No firewall principal as interfaces foram configuradas como abaixo:
- WAN: 192.168.0.52 /24 gateway 192.168.0.1
- LAN: 192.168.1.2 /24
- CARP: 172.16.0.2 /29
No firewall secundário como abaixo:
- WAN: 192.168.0.53 /24 gateway 192.168.0.1
- LAN: 192.168.1.3 /24
- CARP: 172.16.0.3 /29
RULES
Em cada firewall vá na aba Firewall -> rules, selecione a interface CARP (ou a sua usada para Sincronismo do CARP)
Lembre-se: uma nova interface criada no pfsense como essa CARP por padrão ele irá bloquear qualquer dado que tente passar por ela, por isso é necessário criar uma regra para liberar o que se precisa.
Vamos criar uma regra default liberando tudo, é recomendado liberar apenas o que se precisa( como um protocolo ou porta), no meu caso irei liberar tudo.
Clique no botão Add, e na janela configure:
- Action: Pass
- Protocolo: any
- Source: any
- Destination: any
- Save
Lembrando que a regra deve ser criada nos dois firewalls.
TESTE COMUNICAÇÃO
No FIREWALL PRINCIPAL, vá na aba Diagnostics -> Ping, digite o IP da interface CARP do firewall secundário afim de testar comunicação entre eles, no meu caso o 172.16.0.3
Caso tenha algum problema com esse teste volte nas opções das regras entre os firewalls e reavalie se está tudo liberado.
CONFIGURANDO HIGH AVAILABILITY
No FIREWALL PRINCIPAL faça conforme abaixo:
Vá na aba System -> High Avail. Sync, deverá mostrar como abaixo.
- Synchronize states: marque a caixa. Essa opção ativa a comunicação via protocolo PFSYNC, escuta informações do estado dos firewalls entre outras mensagens.
- Synchronize Interface: selecione a interface que será usado para comunicação entre os firewalls, no meu caso a CARP
- Pfsync Synchronize Peer IP: o IP do firewall slave(secundário). Força o envio de informações direto para o IP informado, ao invés de usar multicast.
Na mesma janela mais abaixo terá mais opções, configure como abaixo ainda no firewall principal:
- Synchronize Config IP: IP do firewall secundário.
- Remote System Username: um usuário administrador no pfsense secundário válido, usei admin mas é recomendado criar um usuário apenas para essa configuração de CARP porque caso a senha admin for alterada, aqui no CARP deverá ser alterada também e por segurança claro.
- Remote System Password: senha do usuário acima.
- Select options to sync: configurações que serão sincronizadas entre os firewalls, no meu caso selecionei tudo.
- Clique em save.
No FIREWALL SECUNDÁRIO, vá também na aba System -> High Avail. Sync, configure apenas as duas opções como abaixo:
CONFIGURANDO VIRTUAL IPs
O Virtual IP também chamado de VIP, como o nome diz é um IP Virtual que é usado por um ou mais hosts, ou seja este IP tanto estará num host quanto num outro. Para entender melhor, no nosso cenário teremos o IP virtual na LAN 192.168.1.1, este IP estará nos nossos dois firewall, apenas 1 responderá pelas requisições enquanto for MASTER, o firewall de BACKUP responderá por esse IP Virtual apenas quando o MASTER(firewall principal) estiver indisponível. Teremos ainda um IP virtual na WAN.
No FIREWALL PRINCIPAL, vá aba Firewall -> Virtual IPs, em seguida clique no botão verde ADD como abaixo
Em seguida preencha como abaixo:
- Type: CARP
- Interface: nesse caso será WAN
- Address: entre com o IP que será o IP virtual para a WAN do seu projeto, no meu caso 192.168.0.50 e a máscara do lado( muito importante não esquecer)
- Virtual IP Password: uma senha qualquer para o IP virtual, não confunda com a senha do admin do pfsense, não é esse o caso pode até ser a mesma mas não estão relacionadas.
- VHID Group: deixe o padrão que será 1, perceba apenas se quando criar o IP virtual para a LAN será 2, porque deve seguir sequencia.
- Advertising frequency: deixe padrão, servirá para definir o master e backup firewall, será alterado apenas no firewall secundário
- Description: dê uma descrição, siga as boas práticas.
- Clique em Save
Depois de salvar, crie mais uma VIP como a de cima, porém altere para LAN a interface e altere o Address conforme seu projeto, no meu caso foi 192.168.1.1.
No FIREWALL SECUNDÁRIO, crie os dois VIP como acima criados, mas altere apenas a opção Advertising frequency, especificamente em Skew onde tiver 0 coloque 1, assim definimos que ele terá uma preferencia mais baixa no CARP sendo assim o firewall de backup (secundário).
Observe que a configuração de IP Virtual dessa seção é a mesma para os dois firewall, mudando apenas algumas coisas, mas IP e Mask iguais.
STATUS
Na aba Status -> CARP(failover), você terá uma visão geral do status do firewall, acesse em cada um e valide se o master é quem deveria ser e de backup também.
TROUBESHOOTS
Se obter nas notificações do pfsense a mensagem abaixo, verifique o usuário e senha configurados em System -> High Avail. Sync
Authentication failed: not enough privileges
Em testes desse cenário em VirtualBox, tive problemas também com as interfaces, da LAN eu não pingava para o VIP, então coloquei todas as interfaces em modo promiscuo.
Para mais troubeshoots acesse aqui.
Publicar comentário