Vamos apresentar um tutorial de como configurar Failover em PfSense. Dessa forma, podemos usar um ou mais links de Internet e quando um link cair o pfsense vai utilizar o segundo link.
As aplicabilidades dessa configuração vão desde a garantir que sua empresa tenha sempre pelo menos um link ativo com a internet. Ou mesmo, uma redundancia mínima de links com internet em caso de falhas de algum provedor de internet.
Tutorial Failover + Load Balance PfSense
Parte 01: Configurar Failover em PfSense
Parte 02: Configurar Load Balance com PfSense
Atualmente com o aumento do home working, ter uma alternativa de link para poder se manter conectado à Internet se torna essencial. Dessa forma, podemos usar o pfsense para gerencial o uso de diferentes links de Internet.
Por exemplo, poderíamos ter o primeiro link como sendo o provedor padrão de internet e o segundo link sendo o roteamento da internet via rede de celular. Dessa forma, se o link do provedor padrão cair, o pfsense poderia passar a usar o link do provedor da rede de celular.
Livros Indicados:
E-Books de Redes e Segurança
Configurando o cenário de testes
Esta sessão demonstra como criar um cenário de testes para que o leitor possa fazer uma prova de conceito do failover no pfsense.
Caso já tenha um cenário real para uso, pule essa sessão.
Estamos assumindo que já temos uma instalação de pfsense no virtualbox. Caso ainda não tenha, sugiro que faça as etapas descritas no vídeo abaixo:
Instalar PfSense em VirtualBox
Vamos adicionar uma interface NAT Network no virtualbox. Dessa forma, em nosso cenário de testes teremos duas saídas para a internet, uma pela rede NAT padrão do virtualbox e outra por uma rede NAT network que vamos criar.
Inicialmente vamos selecionar o menu File do virtualbox e depois Preferences.
Depois disso, vamos selecionar Network e vamos clicar no ícone de adicionar.
Caso não tenha adicionado uma rede NATNetwork antes, será criada sua primeira rede desse tipo.
Agora vamos clicar no ícone de adicionar nova rede NATNetwork novamente. Isso porque, queremos criar uma segunda rede NATNetwork.
Para a segunda rede NATNetwork, daremos o nome de “nat2”. Além disso, vamos usar a subrede 172.16.16.0/24. Poderia ser outro range de rede de sua preferência.
(Nota) É importante deixar o suporte DHCP habilitado. Dessa forma, não precisaremos inserir IPs manualmente nas máquinas que usarem essa NATNetwork.
Podemos observar na figura abaixo que temo duas NATNetworks.
Configurando a máquina virtual do Pfsense
Agora vamos selecionar a máquina virtual que vamos usar para o pfsense e vamos clicar em Settings.
Depois disso vamos para Network e vamos escolher os tipos de redes que vamos usar nos adaptadores de rede.
No primeiro adaptador de rede (Adapter1) vamos usar a rede NAT padrão do VirtualBox.
O segundo adaptador de rede (Adpter2) vamos usar a interface em modo “host-only Adapter”. Dessa forma, poderemos fazer acesso a interface de configuração WEB do Pfsense usando nossa máquina real.
Nota – Lembrando que esse segundo adaptador será usado para LAN. Portanto, se você está acessando seu pfsense de uma outra rede você deve especificar o tipo de rede correto aqui.
Em seguida vamos habilitar o terceiro adaptador (Adpter3) de rede e vamos adicioná-lo à Nat Network que criamos recentemente “nat2”.
Adicionando a segunda WAN ao Pfsense.
Agora vamos inicar nossa máquina virtual e vamos acessar a interface WEB do pfsense. Em seguida, no menu principal vamos clicar em Interfaces e depois em Assignments.
Observe que agora temos uma nova possibilidade de interface. Dessa forma, vamos clicar em “+Add”
Após clicar em “+Add” vamos ver uma nova interface com o nome “OPT1”. Então vamos clicar em “OPT1” e vamos editar.
Agora, vamos alterar o nome da interface para “WAN 2” e vamos usar a opção de receber IP por DHCP.
Agora vamos para o final da página e vamos clicar em “Save”.
Muito bem, agora vamos clicar em “Aplly Changes”. Dessa forma, vamos garantir que as alterações que fizemos sejam aplicadas.
Configurando o Failover do PfSense
Agora podemos ver que temos um total de 3 interfaces.
Além disso, se formos para a tela inicial do pfsense, vamos ver os IPs de cada interface. Dessa forma, podemos ver na figura abaixo que temos a LAN usando um IP 192.168.56.1 que está sendo usado com a interface host only do virtualbox e a máquina hospedeira.
Depois, temos o IP 10.0.2.15 para a interface que está em NAT. E depois temos o IP 172.16.16.4 para a interface que está em network NAT nat2.
Como resultado, temos agora duas interfaces WAN uma para o 10.0.2.15 e outra para o 172.16.16.4. Dessa forma, estamos emulando nosso cenário para ter dois ISPs diferentes .
Agora vamos clicar em System/ Routing/Gateways. Podemos observar que agora temos 2 gateways, como na figura abaixo.
Agora vamos clicar em Gateway Groups e vamos criar um grupo chamado “Our_failover_rule”. Dentro desse grupo de gateway, vamos estabelecer prioridades na utilização dos gateways. Essa prioridade é obtida usando os “Tiers”. Dessa forma, quanto menor o “Tier” maior será a prioridade de uso.
Em nosso caso estamos usando o “Tier 1” para a “WAN_DHCP”, essa é nossa primeira WAN. Já para a outra “WAN 2”, vamos usar o “Tier 2”. Dessa forma, usaremos a primeira WAN como gateway principal, pois essa tem um “Tier “menor.
Agora precisamos configuar o “trigger Level” para decidir quando será feita a mudança de Gateway. Em nosso caso, vamos usar a opção de “packet loss”. Isso significa que dada uma quantidade de perda de pacotes como por exemplo 20% de perda o gateway será desativado.
Nota- Você pode alterar essas configurações para cada Gateway. Para isso, vamos em “System/Routing/Gateways/Edit” e podemos altear mínimo e máximo de “Packet Loss thresholds”.
Depois de fazer as laterações, vamos clicar em “Save”.
Na figura abaixo, podemos verificar que o grupo de gateways foi criado. Agora, vamos clicar em ”Aplly Changes” para que as alterações façam efeito.
Na figura abaixo, podemos verificar que a primeira WAN (WAN_DHCP) está como gateway principal.
Agora, vamos altear o campo Default gateway IPv4 para o grupo de gateways que nós criamos. Em nosso caso o grupo tem o nome “Our_failover_rule”.
Depois disso, vamos clicar em “Save”.
Mais algumas configurações de Failover do pfsense
Agora, vamos para a página” System->Advanced->Miscellaneous”.
Em seguida, vamos procurar por “gateway Monitoring” e vamos selecionar a opção “Flush all states when a gateway goes down” dentro de “State Killing on Gateway Failure”. Depois vamos para o final da página e vamos clicar em “Save”.
A opção “Flush all states when a gateway goes down” permite que sejam resetados os estados das conexões que estavam usando o gateway que falhou. Dessa forma, isso permite que sejam feitas novas conexões usando o novo gateway que assumiu.
Existe outra opção dentro de Skip rules when gateway is down é a “Do not create rules when gateway is down”. Ao habilitar essa opção, as regras específicas de um gateways serão desconsideradas quando o gateway estiver desabilitado. Isso pode fazer sentido em alguns casos e vai depender do cenário da sua empresa. Nesse tutorial não vamos habilitar essa opção.
Testando o failover do pfsense
Agora vamos testar o failover. Para isso, vamos usar o comando traceroute dentro do pfsense. Dessa forma, usando o comando traceroute vamos poder verificar o caminho de saida, ou seja o gateway de saida.
Para fazer os testes, vamos acessar a página “Diagnostics/Traceroute”. Em seguida, vamos inserir um IP para monitorar a saída. Em nosso caso inserimos o IP de nosso último roteador para Internet. No entanto poderíamos fazer o procedimento usando algum IP público também.
Vamos habilitar a opção “Use ICMP” para realizar o teste de forma mais rápida. E em seguida vamos clicar em “Traceroute”.
Podemos verificar que o primeiro salto está sendo o IP “10.0.2.2”, esse IP é usado na conexão da primeira WAN com a rede do virtualbox. Dessa forma, podemos verificar que a saída está usando a primeira WAN como gateway principal.
Agora vamos na máquina virtual e vamos desconectar a primeira interface WAN.
Ao clicar em cima do “Adpter 1 “ , o adaptador de rede será desconectado.
Agora vamos voltar para a página “System/Routing/Gateway”. Nessa página, podemos verificar que agora o gateway principal é a “WAN 2” e que tem o IP “172.16.16.1”.
Agora, vamos fazer o teste de sainda com o traceroute. Para isso, vamos acessar a página “Diagnostics/Traceroute”. Em seguida vamos digitar um IP de saída e vamos verificar o resultado.
Agora podemos ver na figura abaixo que a saída está usando o gateway “172.16.16.1”. Esse é o IP da interface do nosso segundo gateway “WAN 2”. Dessa forma, podemos verificar que o failover está ocorrendo corretamente.
Tutorial Failover + Load Balance PfSense
Parte 01: Configurar Failover em PfSense
Parte 02: Configurar Load Balance com PfSense
Veja mais :
Snort PfSense : Detectar ataque DoS
FreeRadius: Instalação e configuração
Transformar o raspberry pi em um roteador WIFI
SquidGuard : como importar blocklist ?
Juliana Mascarenhas
Data Scientist and Master in Computer Modeling by LNCC.
Computer Engineer